天天看點

Windows 0 day漏洞利用可繞過JS檔案安全告警

作者:老李講安全

研究人員發現一個新的Windows 0day漏洞,攻擊者利用該漏洞可以讓惡意JS檔案繞過mark-of-the-web安全告警。目前已有攻擊者将該0day漏洞利用應用于勒索軟體攻擊。

Windows MoTM特征

Windows系統中包含一個名為Mark-of-the-Web (MoTW)的安全特征,會标記從網際網路下載下傳的檔案,表明該檔案應該小心處理,因為有可能是惡意檔案。

檔案的MoTW flag會添加到下載下傳的檔案或郵件附件的一個特殊的可選資料流域——'Zone.Identifier',可以使用dir/r 指令檢視或在notepad中打開:

Windows 0 day漏洞利用可繞過JS檔案安全告警

圖 Mark-of-the-Web的可選資料流域

'Zone.Identifier'中包含了檔案的來源url安全域、引用、以及該檔案的URL。當使用者嘗試打開标記了MoTM的檔案時,Windows會展示告警消息以提示該檔案應該被小心處理和應對。

Windows 0 day漏洞利用可繞過JS檔案安全告警

圖 打開标記了MoTW的檔案時的Windows告警消息

微軟 Office也使用MoTW來決定檔案是否應該在受保護視圖下打開,并禁用宏。

Windows MoTW繞過0day漏洞

HP威脅情報團隊近日發現有攻擊者使用JS檔案通過Magniber勒索軟體感染了HP裝置。

.js檔案是可以在web浏覽器之外運作的。Magniber攻擊者傳播的JS檔案是使用嵌入的base64編碼的簽名區塊來進行數字簽名的。

Windows 0 day漏洞利用可繞過JS檔案安全告警

圖 用來安裝Magniber勒索軟體的JS檔案

漏洞分析人員Will Dormann經過分析發現攻擊者使用了僞造的密鑰來對這些檔案進行簽名。

Windows 0 day漏洞利用可繞過JS檔案安全告警

圖 惡意JS檔案中的僞造簽名

通過使用僞造的密鑰進行簽名,即使JS檔案是從網際網路下載下傳的并具有MoTW标簽,微軟也不會展示安全告警消息。惡意js檔案就會自動執行來安裝Magniber勒索軟體。

Dormann進一步測試了JS檔案中僞造的簽名,并建立了可以繞過MoTM告警的PoC JS檔案。

Windows 0 day漏洞利用可繞過JS檔案安全告警

圖 Dormann PoC漏洞利用中的MoTM flag

這兩個檔案的差别是其中一個使用Magniber檔案中僞造的密鑰來進行簽名,而另一個根本不包含簽名。

Windows 0 day漏洞利用可繞過JS檔案安全告警

圖 Dormann PoC漏洞利用

未簽名的檔案在Windows 10 系統中打開時,就會展示MoTW安全告警。但輕按兩下使用僞造密鑰簽名的'calc-othersig.js'檔案,Windows并不會展示告警消息,隻會執行JS代碼,如下所示:

Windows 0 day漏洞利用可繞過JS檔案安全告警

圖 Windows 0day繞過安全告警

是以,攻擊者可以利用這種方式來打開下載下傳的JS檔案,繞過安全告警,并自動執行腳本。

BleepingComputer研究人員在Windows 10系統中複現了該漏洞,但在Windows 11系統中隻有在壓縮檔案中運作JS檔案才可以觸發。Dormann稱Windows 8.1裝置中并不會出現類似問題,該漏洞是在Windows 10釋出時引入的。Windows 10的'Check apps and files'新功能中的檢查是與前面有關系的。而禁用該功能後,"Check apps and files"會使用之前的檢查方式,即與簽名無關。

微軟回應

由于該0 day漏洞利用已經被應用于勒索軟體攻擊者中。Dormann将PoC送出給了微軟,微軟稱其已經關注該問題,但不能複現MoTW安全告警繞過。

10月22日,Dormann發推稱攻擊者可以修改任意Authenticode簽名的檔案來繞過MoTW安全告警,包括exe檔案。

參考及連結:

https://www.bleepingcomputer.com/news/security/exploited-windows-zero-day-lets-javascript-files-bypass-security-warnings/

繼續閱讀