微軟IE 0DAY XXE漏洞安全通告

發布時間 2019-04-15

漏洞編號和級別


CVE編號:暫無,危險級別:高危,CVSS分值:官方未評定


影響版本


IE 11,影響 Windows 7、10和 Server 2012 R2 版本


漏洞概述


研究人員John Page公開了一個可導致黑客從Windows系統中竊取文件的 IE 瀏覽器 0day 漏洞的詳情和 PoC 代碼。該漏洞為存在于 IE 11 中的XXE外部實體注入漏洞,存在于 IE 處理 MHT 文件的方式中,影響 Windows 7、10和 Server 2012 R2 版本。


MHT即“MHTML Web Archive”,是所有 IE 瀏覽器保持網頁(點擊 CTRL+S)的默認標準。雖然現代瀏覽器不再以 MHT 格式保存網頁,而是使用標準的 HTML 文件格式,然而很多現代瀏覽器仍然支持處理該格式。


漏洞驗證


Page 表示,IE瀏覽器易受XML外部實體攻擊,前提是用戶在本地打開一個特殊構造的 .MHT 文件。

它可導致遠程攻擊者竊取本地文件并遠程偵察本地安裝的程序版本信息。例如,”c:\python27\NEWS.txt”的請求可訪問該程序的版本信息。


本地打開惡意“.MHT”文件后,它應該會啟動 IE 瀏覽器。之后,用戶交互如重復選項卡“Ctrl+K”。其它交互如右擊網頁上的“打印預覽”或“打印”命令可能會觸發這個XXE 漏洞。


然而對window.print(),Javascript 函數的簡單調用可在無需用戶和網頁交互的情況下實施攻擊。重要的是,如果文件是從網絡以壓縮文檔的形式下載并使用某種存檔使用程序 MOTW 打開的,那么可能就不會起作用。


通常在實例化ActiveX Objects 如“Microsoft.XMLHTTP”時,用戶將會在 IE 中看到安全欄警告并被提示激活被阻止的內容。然而,當打開使用惡意<xml>標記打開特殊構造的 .MHT 文件時,用戶將無法獲得此類活動內容或安全欄警告。


例如:

C:\sec>python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
127.0.0.1 - - [10/Apr/2019 20:56:28] "GET /datatears.xml HTTP/1.1" 200 -
127.0.0.1 - - [10/Apr/2019 20:56:28] "GET /?;%20for%2016-bit%20app%20support[386Enh]woafont=dosapp.fonEGA80WOA.FON=EGA80WOA.FONEGA40WOA.FON=EGA40WOA.FONCGA80WOA.FON=CGA80WOA.FONCGA40WOA.FON=CGA40WOA.FON[drivers]wave=mmdrv.dlltimer=timer.drv[mci] HTTP/1.1" 200 -
Page在安裝完整補丁的Win7/10 和Server 2012 R2上的最新版本IE 瀏覽器版本V11測試成功。
POC:http://hyp3rlinx.altervista.org/advisories/MICROSOFT-INTERNET-EXPLORER-v11-XML-EXTERNAL-ENTITY-INJECTION-0DAY.txt。
POC視頻:https://youtu.be/fbLNbCjgJeY。
此PoC代碼為竊取 Windows “system.ini”文件的(注:可根據需要編輯腳本中的攻擊者服務器 IP)
(1)使用腳本創建“datatears.xml” XML 和嵌入 XXE 的“msie-xxe-0day.mht” MHT 文件
(2)Python –m SimpleHTTPServer
(3)將生成的“datatears.xml”放在 Python 服務器 web-root 中。

(4)打開生成的“msie-xxe-0day.mht”文件,觀察文件將被竊取。


修復建議


目前微軟沒有發布補丁。


參考鏈接


https://www.zdnet.com/article/internet-explorer-zero-day-lets-hackers-steal-files-from-windows-pcs/
http://hyp3rlinx.altervista.org/advisories/MICROSOFT-INTERNET-EXPLORER-v11-XML-EXTERNAL-ENTITY-INJECTION-0DAY.txt