色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

隱藏17年的Office遠程代碼執行漏洞

榮姿康2年前15瀏覽0評論

隱藏17年的Office遠程代碼執行漏洞?

感謝你的邀請

我的回答如下,希望采納

2017年11月14日,微軟發布了11月份的安全補丁更新。金山毒霸安全實驗室專家,發現其中一個修復是潛伏17年之久的Office遠程代碼執行漏洞(CVE-2017-11882)。黑客可借助該漏洞,以當前登錄的用戶的身份執行任意命令。

漏洞影響版本:

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

漏洞事件分析:

漏洞出現在模塊EQNEDT32.EXE中,該模塊為公式編輯器,在Office的安裝過程中被默認安裝。該模塊以OLE技術(Object Linking and Embedding,對象鏈接與嵌入)將公式嵌入在Office文檔內。

圖 1 – Microsoft 公式編輯器

當插入和編輯數學公式時,EQNEDT32.EXE并不會被作為Office進程(如Word等)的子進程創建,而是以單獨的進程形式存在。這就意味著對于WINWORD.EXE, EXCEL.EXE等Office進程的保護機制,無法阻止EQNEDT32.EXE這個進程被利用。

由于該模塊對于輸入的公式未作正確的處理,攻擊者可以通過刻意構造的數據內容覆蓋掉棧上的函數地址,從而劫持程序流程,在登錄用戶的上下文環境中執行任意命令。

圖 2 – CVE-2017-11882 POC中所執行的命令

國外安全廠商0patch對修補前后的相應補丁進行了對比,發現更新補丁后的程序版本是使用匯編方式進行修補的,并據此推測由于年代久遠,微軟或已丟失相關程序的源代碼。再者,當時(2000年)的編譯器所編譯的程序并不包含ASLR等漏洞緩解措施,因此該模塊必將吸引更多黑客對其進行漏洞挖掘。為安全起見,強烈建議用戶取消對該模塊的注冊,解決方案請參考文章結尾部分。

圖 3 公式編輯器使用較低版本編譯器編寫(VisualC++ 3~4版)

圖 4 – EQNEDT32.exe未見任何漏洞環節措施

漏洞分析: (1)基本信息

截止分析報告撰寫時,只發現了RTF類型的CVE-2017-11882漏洞利用文檔。觸發漏洞的OLE對象加載方式與今年上半年的CVE-2017-0199漏洞類似,使用了\objupdate控制字來保證OLE對象的自動更新和加載。

圖 5 – RTF標準文檔中對\objupdate控制字的說明

該OLE對象的類型為“Equation.3”,即公式編輯器3.0類型對象,該公式對象使用了CFB格式進行存儲。

圖 6 – 漏洞文檔中的OLE數據頭

對該OLE對象進行提取和分析,可以發現公式的相關內容存放在\x01CompObj流之后。

圖 7 – 公式對象

(2)詳細分析

公式的內容使用了一種名為MTEF v.3的二進制格式進行存儲。該格式的頭部為28(0x1C)個字節,定義如下:

在漏洞利用文檔中,該結構如下所示。

圖 8 – 公式頭結構

對上圖的解析如下表所示。

偏移量變量名說明值0-1cbHdr公式頭大小0x001C2-5version版本號0×000200006-7cf剪貼板格式0xC3BE8-11cbObjectMTEF數據長度0×45,即69字節12-15reserved1未公開0×0000000016-19reserved2未公開0×0068242820-23reserved3未公開0x0069A87C24-27reserved4未公開0×00000000

緊隨該公式頭結構的數據為公式數據。公式數據使用字節流進行存儲。

圖 9 – 公式數據

MTEF v.3公式數據中,前5個字節為數據頭,解析如下表所示。

偏移量說明值0MTEF版本號0×031該數據的生成平臺0×00表示在Macintosh平臺生成,0×01表示在Windows平臺生成。此處為0×01。2該數據的生成產品0×00表示由MathType生成,0×01表示由公式編輯器生成。此處為0×01。3產品主版本號0×034產品副版本號0x0A

在數據頭之后的字節流即為公式數據。

數據0x0A所對應的數據類型為SIZE,只占用一個字節。

數據0×08所對應的數據類型為FONT,文檔中數據的解析如下表所示。

數值解釋0×08FONT記錄標志0×02typeface類型0×81字體風格0x636D642E……字體名(以空字符結尾),即圖9中的cmd.exe…字符串

圖 10 – 漏洞代碼

通過對下面的兩張圖進行對比,可以明白棧溢出的觸發過程。

圖 11 – 被覆蓋前的棧數據

圖 12 – 被覆蓋后的棧數據

被修改后的函數調用如下圖所示,在前文中已經提到,該公式編輯器并沒有開啟ASLR。這個硬編碼的地址0x00430C12對應于對函數WinExec的調用。因而該字體名對應的命令得以執行。

http://www.freebuf.com/vuls/154462.html

解決方案:

1.老鐵,建議大家盡快使用金山毒霸等方式修復該漏洞,目前金山毒霸也支持查殺。

2、由于該公式編輯器已經17年未做更新,可能存在大量安全漏洞,建議在注冊表中取消該模塊的注冊。

l 按下Win+R組合鍵,打開cmd.exe

l 輸入以下兩條命令:

對此,你有什么想法?歡迎大家關注、轉發、點贊、評論、收藏等方式交流。

css怎么隱藏溢出,隱藏17年的Office遠程代碼執行漏洞