研究人員發(fā)現(xiàn)一起利用Chrome和Windows 系統(tǒng)0 day漏洞的攻擊利用鏈。
2021年4月14日,Kaspersky研究人員檢測到針對多個公司的定向攻擊活動。進(jìn)一步分析發(fā)現(xiàn),這些攻擊活動都利用谷歌Chrome和微軟Windows 的0 day漏洞攻擊利用鏈。研究人員發(fā)現(xiàn)并分析了用于沙箱逃逸和獲得權(quán)限提升的漏洞利用。
該權(quán)限提升漏洞利用可以在最新的Windows 10(17763 – RS5, 18362 – 19H1, 18363 – 19H2, 19041 – 20H1, 19042 – 20H2) 版本上工作,并且利用了微軟Windows操作系統(tǒng)內(nèi)核的兩個不同漏洞。漏洞CVE編號為CVE-2021-31955和CVE-2021-31956。
遠(yuǎn)程代碼執(zhí)行漏洞利用
所有的攻擊活動都是通過Chrome瀏覽器執(zhí)行的。雖然研究人員無法獲取漏洞利用的JS代碼,但是研究人員根據(jù)相關(guān)攻擊活動的時間軸推測出了利用的漏洞——CVE-2021-21224。此外,研究人員還推測攻擊者使用JS文件以及正則測試來開發(fā)漏洞利用,并用于攻擊活動。
權(quán)限提升漏洞利用
CVE-2021-31955
CVE-2021-31955漏洞是ntoskrnl.exe中的一個信息泄露漏洞。該漏洞與Windows操作系統(tǒng)的一個特征SuperFetch有關(guān)。SuperFetch是在Windows Vista中引入的,旨在通過預(yù)加載常用的應(yīng)用到內(nèi)存中來減少軟件的加載時間。所以,函數(shù)NtQuerySystemInformation 實現(xiàn)了一個非常特殊的系統(tǒng)信息類——SystemSuperfetchInformation。系統(tǒng)信息類包含了多個不同的SuperFetch信息類。漏洞就存在于NtQuerySystemInformation 函數(shù)返回的 SuperFetch信息類SuperfetchPrivSourceQuery中包含當(dāng)前執(zhí)行的進(jìn)程的EPROCESS kernel 地址。
CVE-2021-31955 漏洞存在的MemInfo工具源碼
CVE-2021-31956
CVE-2021-31956漏洞是 ntfs.sys中的一個堆緩存溢出漏洞。函數(shù)NtfsQueryEaUserEaList會處理該文件的一系列擴展屬性,并保存提取的值到緩存中。該函數(shù)可以通過ntoskrnl syscall系統(tǒng)調(diào)用訪問,并可以控制輸出緩存的大小。如果擴展屬性的大小不一致,函數(shù)就會計算填充,并把下一個擴展屬性保存為32位。有代碼會檢查輸出緩存是否足以滿足擴展屬性+填充,但是該檢查的代碼并沒有檢查可能存在的證書下溢。因此,基于堆的緩存溢出就發(fā)生了。
NtfsQueryEaUserEaList函數(shù)偽代碼
漏洞利用使用CVE-2021-31955漏洞來獲取EPROCESS結(jié)構(gòu)的kernel地址,可以使用相同的利用技術(shù)來竊取SYSTEM token。但是漏洞利用使用了很少見的“PreviousMode” 技術(shù)。
惡意軟件模塊
除了之前提到的漏洞利用外,完整的攻擊鏈中包含4個惡意軟件模塊,分別是:
· Stager
· Dropper
· Service
· Remote shell
Stager
Stager模塊是用來通知漏洞利用成功的。此外,該模塊還會從遠(yuǎn)處服務(wù)器下載和執(zhí)行復(fù)雜的惡意軟件釋放器模塊。每個stager 模塊都會有受害者的配置信息,包括C2 URL、session ID、解密下一階段惡意軟件的秘鑰等。
研究人員發(fā)現(xiàn)所有stager模塊樣本都使用了相同的URL地址來下載加密的惡意軟件釋放器模塊——hxxps://p{removed}/metrika_upload/index.php。
Dropper
釋放器模塊是用來安裝偽裝成合法Windows操作系統(tǒng)文件的可執(zhí)行文件。其中一個文件 %SYSTEM%\WmiPrvMon.exe 注冊為服務(wù),用作第二個可執(zhí)行文件的啟動器。第二個可執(zhí)行文件具有遠(yuǎn)程shell功能,可以看做是攻擊活動的主要payload。目前還沒有發(fā)現(xiàn)該模塊與其他已知軟件的相似之處。
Remote shell
遠(yuǎn)程shell模塊硬編碼了C2服務(wù)器的URL。所有客戶端與C2服務(wù)器之間的通信都是經(jīng)過認(rèn)證和加密的。遠(yuǎn)程shell模塊可以下載和上傳文件、創(chuàng)建進(jìn)程、休眠特定時間、將自己從被黑的機器上刪除等。
微軟已經(jīng)在6月的微軟補丁修復(fù)了這兩個安全漏洞。