您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Office漏洞的詳細分析是怎么樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
在windows2017年 11月份發布補丁,修復了包括cve-2017-11882在內之后,在2018年又繼續發布補丁,修復了包括CVE-2018-0802在內的多個漏洞,而這次CVE-2018-0802再一次利用了EQNEDT32.EXE公式編輯器的棧溢出漏洞,而這個漏洞則是CVE-201-11882的補丁繞過漏洞,網上也出現兩種漏洞結合的POC,我們一起來看看這個漏洞。
漏洞分析
分析環境:win7
Office 版本:office2007 SP3 并打上CVE-2017-11882補丁
我們首先看下在打完補丁后EQNEDT32.exe的屬性
我們看看POC的RTF文件,可以看到繼續使用objupdate字段來使OLE對象的自動更新和加載
然后我們通過rtfobj.py將這個OLE對象提取
我們可以看前面還是28字節的EQNOLEFILEHDR的結構體,我們來看看后面的MIEF data,對應的是下面的陰影部分,第一個字節03代表MTEF的版本號,第二個字節01表示在windows平臺生成,第三個字節01表示這個是公式編輯器生成,之后的是產品的主版本號和產品的副版本號
之后是公式數據流,這個一系列的records 字節08 表示Font record,我們通過文檔
來具體查看一下這個font字節,分別是tface和style和name,,看來這次出問題的還是font name ,而上次CVE-2017-11882也是這個font name
我們先來動態調試下,確定下漏洞點
設置windbg為默認的調試器,并且設置EQNEDT32.EXE的默認調試器為windbg,這樣在EQNEDT32.EXE在啟動的時候就會默認附加到windbg上
通過構造Crash和棧回溯我們定位到漏洞地點,函數地址為012D1774,基地址為0x12B0000,由于模塊開啟了ASLR動態調試地址可能不同
通過動態分析我們發現漏洞點在crash函數的sub_1201E39
溢出點則在拷貝函數中,我們可以看到這個關鍵函數主要是用來初始化一個LOGFONT的結構體
我們可以看到在拷貝的明顯發生了棧溢出,而這次拷貝的是0x94字節,直到遇到0x00,而這次只分配了0x1c個字節,顯然發生了棧溢出,
而這次只為了覆蓋返回地址,我們看看是如何覆蓋返回地址,以及如何繞過ASLR的,我們可以看到在覆蓋前的返回地址是012014e2,而這個函數也是crash函數調用以后的下一條指令
我們看看覆蓋之后的返回地址的是什么樣子的,變成了01200025
而0x01200025這個地址為retn 指令而正是通過這樣的覆蓋繞過了ASLR,我們知道在32位進程中每次只隨機化地址的高2個字節,而低兩個字節是不變的,而正是利用了這個特性才繞過ASLR
我們來看一下為什么會選擇這個ret指令,因為這樣會執行 crash函數的第一個參數
正是lpLogfont,也就是樣本可以控制的FontName
由于并沒有開啟DEP,所以可以在棧中可以執行代碼,可以看一下這個shellcodes
還有一個問題是這個漏洞在未打補丁的系統中,并不會執行,因為CVE-2017-11882覆蓋返回地址需要的長度遠遠小于這個樣本,而在執行這個樣本的時候會先觸發CVE-2017-11882導致Crash,網上也出現了將兩種洞組合的POC,在CVE-2017-11882利用不成功,會利用CVE-2018-0802
漏洞針對EQNEDT32.EXE公式編輯器,結合CVE-2017-11882漏洞組合攻擊將會造成很大的危害,建議盡快打補丁或者禁止EQNEDT32.EXE模塊
補丁下載地址 https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-0802
或者通過注冊表直接禁用這個模塊
reg add “HKLM\SOFTWARE\Microsoft\Office\XX.X\Common\COMCompatibility\{0002CE02-0000-0000-C000-000000000046}” /v”Compatibility Flags” /t REG_DWORD /d 0×400
regadd”HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\XX.X\Common\COMCompatibility\{0002CE02-0000-0000-C000-000000000046}”/v”Compatibility Flags” /t REG_DWORD /d 0×400
關于Office漏洞的詳細分析是怎么樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。