在Windows中,有一個未修補的安全漏洞,該漏洞可能會允許普通用戶將本地權(quán)限提升到系統(tǒng)權(quán)限,但此時微軟并未將該漏洞完全解決,這時一個非官方的微補丁出現(xiàn)了。
該漏洞(CVE-2021-34484)最初是在微軟8月份的更新披露中發(fā)布的。當(dāng)時,它被研究人員歸類為一個任意目錄刪除漏洞,該漏洞由于是低優(yōu)先級的,因為攻擊者需要在本地登錄到目標(biāo)計算機后才可以利用它,從理論上講,這將允許攻擊者刪除文件和文件夾。
然而,發(fā)現(xiàn)該問題的安全研究員很快又發(fā)現(xiàn),它也可以被用于權(quán)限升級攻擊,這是兩個完全不同的漏洞。系統(tǒng)級用戶可以訪問網(wǎng)絡(luò)中其他部分的資源、數(shù)據(jù)庫和服務(wù)器。
研究人員還看了看微軟的原始補丁,隨后通過對他的漏洞利用代碼進行簡單調(diào)整,找到了一個繞過補丁的方法,基本上可以將該漏洞恢復(fù)到零日狀態(tài)。
0Patch的研究人員在周四的文章中解釋說,該漏洞主要存在于用戶的配置文件服務(wù)中,特別是在用戶的原始配置文件因某種原因被損壞或鎖定時,很容易被攻擊者攻擊。將文件夾和文件從用戶的原始配置文件復(fù)制到臨時文件夾的過程(作為本地系統(tǒng)執(zhí)行),可以通過符號鏈接進行攻擊。在系統(tǒng)位置創(chuàng)建攻擊者有寫入權(quán)限的文件夾,隨后啟動的系統(tǒng)進程將會從該文件夾加載并執(zhí)行攻擊者的DLL。
該漏洞是可以被直接攻擊的。攻擊者將創(chuàng)建一個特制的符號鏈接(本質(zhì)上是一個指向特定文件或文件夾的快捷鏈接),然后將其保存在臨時用戶配置文件的文件夾(C:\Users\TEMP)中。
然后,當(dāng)用戶配置文件服務(wù)從用戶的原始配置文件夾中復(fù)制一個文件夾時,符號鏈接將迫使它在攻擊者沒有權(quán)限創(chuàng)建文件夾的地方創(chuàng)建一個包含惡意DLL有效載荷的文件夾。
即使微軟認(rèn)為這個漏洞只是允許刪除一個文件名中含有‘符號鏈接’的文件夾,但還是做了一個概念上的修復(fù),它檢查了C:\Users\TEMP下的目標(biāo)文件夾是否是一個符號鏈接,如果是,就中止操作。正如研究人員所注意到的,這個修復(fù)措施的不合理性在于,符號鏈接不需要在最上層的文件夾中(微軟的修復(fù)檢查),而是可以在目標(biāo)路徑上的任何文件夾中。
微軟發(fā)布的補丁通過調(diào)用 “GetFinalPathNameByHandle ”函數(shù),將符號鏈接的安全檢查擴展到了整個目標(biāo)路徑,從而解決了這個問題。
應(yīng)該注意的是,對漏洞進行一次完整的利用需要攻擊者能夠獲得無限次攻擊嘗試的條件,因為此時系統(tǒng)將會同時執(zhí)行兩個操作(一個是惡意的,一個是合法的)。此外,盡管研究人員認(rèn)為不知道別人的密碼也有可能對該漏洞進行利用,但到目前為止,如何獲得目標(biāo)計算機用戶的憑證仍然是一個難題。
該漏洞會影響到Windows 10(包括32位和64位)v21H1、v20H2、v2004和v1909版本;以及Windows Server 2019 64位。
微軟對此并沒有發(fā)布任何官方補丁發(fā)布的時間表,也沒有立即回應(yīng)評論。