姚軼嶄 陳利 王禹 田永興
中國信息安全測評中心 北京 100085
metasploit溢出工具包的使用對于溢出攻擊內(nèi)網(wǎng)服務(wù)器系統(tǒng)具有非常重要的作用,可以說在溢出工具包中總可以找到適合我們滲透攻擊使用的高效溢出工具。
首先在對內(nèi)網(wǎng)服務(wù)器系統(tǒng)攻擊開始之前我們必須確保該服務(wù)器系統(tǒng)有這種溢出漏洞存在,這是我們進(jìn)行溢出攻擊的前提條件,所以我們需要利用一些漏洞掃描工具,如XSCAN、HSCAN、SUPERSCAN等,對內(nèi)網(wǎng)服務(wù)器主機(jī)系統(tǒng)進(jìn)行大面積的漏洞掃描。需要說明的是單位內(nèi)部網(wǎng)絡(luò)服務(wù)器系統(tǒng)由于考慮到服務(wù)器系統(tǒng)補(bǔ)丁升級(jí)會(huì)給部署于其上的應(yīng)用系統(tǒng)的使用穩(wěn)定性帶來影響,再加上網(wǎng)絡(luò)管理人員的錯(cuò)誤網(wǎng)絡(luò)安全思想,認(rèn)為有了網(wǎng)絡(luò)安全產(chǎn)品防火墻、入侵檢測、入侵防御和防病毒系統(tǒng)等的部署對于安全防御就可以高枕無憂了,所以大量的服務(wù)器系統(tǒng)都不會(huì)進(jìn)行或者不完全進(jìn)行各種安全補(bǔ)丁的更新安裝工作,這就為我們從內(nèi)部網(wǎng)絡(luò)入侵服務(wù)器系統(tǒng)帶來了機(jī)會(huì)。
在滲透測試和安全研究中,最終的關(guān)卡就在密碼的破解和反破解之間的博弈,所以,如何通過內(nèi)存密碼的破解得到想要的權(quán)限,成為一個(gè)研究課題。
首先,通過某些手段取得一個(gè)會(huì)話,先導(dǎo)出HASH:
導(dǎo)出的HASH已經(jīng)保存到了數(shù)據(jù)庫里面,查看一下:
最終結(jié)果如圖1所示。
圖1 已經(jīng)成功得到密碼
通過得到的密碼,可以進(jìn)行后續(xù)的提權(quán)和執(zhí)行系統(tǒng)命令等操作。由于遠(yuǎn)程主機(jī)上一般都已經(jīng)禁用了FTP服務(wù),或者封閉了FTP服務(wù)端口,所以不能通過FTP服務(wù)向遠(yuǎn)程主機(jī)直接上傳文件,然而,我們可以在本地建立一個(gè)FTP服務(wù)器,從被溢出的遠(yuǎn)程主機(jī)向本地的FTP服務(wù)器發(fā)起連接,從而繞過防火墻的禁止,直接下載攻擊者所在的本地FTP服務(wù)器上的MIMIKATZ程序文件,接下來還可以上傳一些控制木馬和控制工具,為最高效獲取服務(wù)器主機(jī)的管理員密碼做好準(zhǔn)備。
此處上傳的MIMIKATZ程序文件不需要包含所有文件,只需要將 win32文件夾下的內(nèi)容復(fù)制,復(fù)制完畢后,進(jìn)入win32路徑下直接執(zhí)行mimikatz.exe即可,mimikatz是法國人寫的,windows下的輕量級(jí)調(diào)試器,可以直接抓取windows的口令,只要系統(tǒng)沒有重啟,登錄過的賬戶口令都可以抓到。需要說明的是一般情況下解壓 MIMIKATZ壓縮文件后會(huì)生成三個(gè)目錄,只須打開win32目錄下的mimikatz.exe文件即可,就如我們此次的操作,彈出控制臺(tái)窗口,命令提示符是mimikatz#。使用到的主要的三個(gè)命令是://提升權(quán)限privilege::debug //注入dll inject::process lsass.exe sekurlsa.dll //抓取密碼 @getLogonPasswords,不過需要注意的是如果是通過遠(yuǎn)程終端(mstsc.exe)、虛擬桌面中抓取密碼的時(shí)候,通常在遠(yuǎn)程終端中運(yùn)行該程序會(huì)提示:存儲(chǔ)空間不足,無法處理此命令。這是因?yàn)樵诮K端模式下,不能插入遠(yuǎn)線程,跨會(huì)話不能注入,你需要使用如下方法執(zhí)行該程序:首先提取幾個(gè)文件,只抓取密碼的話,只需要這幾個(gè)文件:
打包后上傳至目標(biāo)服務(wù)器,然后解壓釋放,注意路徑中絕對不能有中文(可以有空格)!否則加載DLL的時(shí)候會(huì)報(bào)錯(cuò),找不到文件。而我們此次操作的方法是直接利用溢出權(quán)限進(jìn)行類似于本地的命令執(zhí)行操作,所以不需要上述幾個(gè)文件,直接即可得到管理登錄過的賬號(hào)和密碼。具體滲透執(zhí)行過程如下所示:綠色標(biāo)示部分為輸入的命令,黃色標(biāo)示部分為從內(nèi)存中獲取到的服務(wù)器管理員賬號(hào)和密碼。
獲取到系統(tǒng)的管理員賬號(hào)和密碼后,繼續(xù)可以用已經(jīng)上傳的一些控制工具打開系統(tǒng)的 3389端口進(jìn)行遠(yuǎn)程控制,或者悄悄安裝一個(gè)小巧的后門木馬控制程序,實(shí)現(xiàn)對服務(wù)器系統(tǒng)的完全和長期的控制,并作為攻擊其它服務(wù)器系統(tǒng)的一個(gè)跳板機(jī)。
這種metasploit內(nèi)存獲得系統(tǒng)密碼并結(jié)合MIMIKATZ工具的攻擊方式,在實(shí)際的使用中可以發(fā)現(xiàn)對于內(nèi)網(wǎng)服務(wù)器系統(tǒng)的攻擊具有非常高的效率,因?yàn)閱挝粌?nèi)網(wǎng)服務(wù)器系統(tǒng)會(huì)由于各種原因總有個(gè)別服務(wù)器安全補(bǔ)丁打的有遺漏,結(jié)合強(qiáng)大的 metasploit攻擊工具首先可以獲得服務(wù)器系統(tǒng)的系統(tǒng)操作權(quán)限,再借助上傳工具上傳MIMIKATZ工具,并直接執(zhí)行,高效從內(nèi)存中獲取到系統(tǒng)的管理員賬號(hào)和密碼,為進(jìn)一步完全占領(lǐng)服務(wù)器系統(tǒng)快速簡潔的打好了基礎(chǔ),所以說這確實(shí)是一種利用攻擊工具結(jié)合攻擊思路的新型攻擊范例。
[1]David Kennedy,Jimo’Gorman, Devon Kearns,and Mati Aharoni.Metasploit_penetration_test_guider.