早些時候我們
奇怪的是,Kolsek 最初無法重現 John 描述和演示的攻擊,他使用 Windows 7 上運行的 Internet Explorer 下載並打開惡意 MHT 檔案。 儘管他的進程管理器顯示,計劃從他那裡竊取的system.ini被隱藏在MHT檔案中的腳本讀取,但沒有發送到遠端伺服器。
「這看起來像是一個典型的網路標記情況,」科爾塞克寫道。 「當從 Internet 收到文件時,正確執行的 Windows 應用程式(例如 Web 瀏覽器和電子郵件用戶端)會以下列形式向該文件新增標籤
研究人員驗證,IE確實為下載的MHT檔案設定了這樣的標籤。 然後,Kolsek 嘗試使用 Edge 下載相同檔案並在 IE 中開啟它,IE 仍然是 MHT 檔案的預設應用程式。 出乎意料的是,這個漏洞竟然奏效了。
首先,研究人員檢查了“mark-of-the-Web”,結果發現,除了安全標識符之外,Edge 還將文件來源的來源儲存在替代資料流中,這可能會引發一些有關此隱私的問題。方法。 Kolsek 推測額外的行可能會混淆 IE 並阻止其讀取 SID,但事實證明,問題出在其他地方。 經過長時間的分析,安全專家在存取控制清單中的兩個條目中找到了原因,這兩個條目將讀取MHT檔案的權限添加到了某個系統服務中,而Edge在加載該服務後將其新增到了該服務中。
James Foreshaw,來自專門的零日漏洞團隊 - Google 零日計劃 -
接下來,研究人員希望更了解導致 IE 安全系統失敗的原因。 使用 Process Monitor 實用程式和 IDA 反彙編程式進行深入分析,最終發現 Edge 的設定解析度阻止了 Win Api 函數 GetZoneFromAlternateDataStreamEx 讀取 Zone.Identifier 檔案流並傳回錯誤。 對於 Internet Explorer 來說,在請求文件安全標籤時出現這樣的錯誤是完全出乎意料的,而且顯然,瀏覽器認為該錯誤等同於該文件沒有「mark-of-the-Web」標記,這會自動使其受信任,這就是為什麼IE 允許隱藏在MHT 檔案中的腳本執行並將目標本機檔案傳送到遠端伺服器的原因。
“你看到這裡的諷刺了嗎?” 科爾塞克問。 “Edge 使用的一項未記錄的安全功能抵消了 Internet Explorer 中現有的、無疑更為重要的(網絡標記)功能。”
儘管該漏洞的重要性日益增加,它允許惡意腳本作為可信任腳本運行,但沒有跡象表明微軟打算很快修復該錯誤(如果該錯誤已修復)。 因此,我們仍然建議您像上一篇文章一樣,更改任何現代瀏覽器開啟 MHT 檔案的預設程式。
當然,科爾塞克的研究並非沒有一點自我公關。 在文章的最後,他示範了一個用彙編語言編寫的小補丁,可以使用他公司開發的0patch服務。 0patch 會自動偵測使用者電腦上的易受攻擊的軟體,並即時對其套用小修補程式。 例如,在我們描述的情況下,0patch 會將 GetZoneFromAlternateDataStreamEx 函數中的錯誤訊息替換為與從網路接收到的不受信任檔案相對應的值,這樣 IE 就不會允許任何隱藏腳本按照內建腳本執行。在安全政策中。
來源: 3dnews.ru