您好,登錄后才能下訂單哦!
如何進行Microsoft Office內存損壞漏洞CVE–2017–11882的分析,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
據悉,這個組件是由Design Science Inc.開發的,后來由微軟收購。該組件于2001年編譯嵌入office,之后沒有任何進一步的修改。所以該漏洞已存在17年之久。影響現階段流行的所有office版本。
360CERT經過分析確認,確定該漏洞存在遠程命令執行風險,建議用戶盡快更新相應補丁。
EQNEDT32.EXE是用于在文檔中插入和編輯方程式。插入到文檔中的任何公式都是OLE對象。該組件是在OLE技術規范下設計的。首發于Microsoft Office 2000和Microsoft 2003。從Microsoft Office 2007套件開始,顯示和編輯方程的方法發生了變化,雖然EQNEDT32.EXE變得過時,不過,為了保持版本兼容性,它并沒有從Office套件中刪除。
EQNEDT32.EXE為OLE實現了一組標準的COM接口。
IOleObject
IDataObject
IOleInPlaceObject
IOleInPlaceActiveObject
IpersistStorage
而問題的就在于IpersistStorage:Load這個位置。因為歷史久遠,該組件開發的時候并沒有例如ASLR這樣的漏洞緩解措施。利用起來更加的方便。
檢測到VirusTotal上有該漏洞的POC,多家檢測機構標注為CVE-2017-11882。(最開始只有微軟能檢測)
如上所說,通過惡意樣本分析,問題出在EQNEDT.EXE中sub_41160F函數中。如圖所示,strcpy函數沒有檢查復制時的長度造成了溢出。
通過調試可以猜測在正常情況下eax寄存器也就是第一個參數應該是字體名。
通過rtfobj抽取樣本中的OLE對象,發現字體名為cmd.exe……。
在填充的AAA……之后是0x430C12,也就是EQNEDT.EXE中調用WinExec的地方。
返回地址被覆蓋為0x430C12,從而執行命令。
最后執行效果:
Office 365
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
360CERT建議用戶及時更新補丁,以提高系統安全性。
緩解措施:該問題可通過修改注冊表,禁用該模塊的方式進行緩解。其中XX.X為版本號。
reg add "HKLM\SOFTWARE\Microsoft\Office\XX.X\Common\COM Compatibility\{0002CE02-0000- 0000-C000-000000000046}" /v "Compatibility Flags" /t REG_DWORD /d 0x400
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\XX.X\Common\COM Compatibility\{0002CE02-0000-0000-C000-000000000046}" /v "Compatibility Flags" /t REG_DWORD /d 0x400
關于如何進行Microsoft Office內存損壞漏洞CVE–2017–11882的分析問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。