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