從Windows 10 1709秋季創(chuàng)意者更新開(kāi)始,微軟為Windows 10安全中心添加了一個(gè)名為“受控制的文件夾訪問(wèn)”的全新勒索軟件防護(hù)功能,可用于防止未知程序修改受保護(hù)文件夾中的文件。
在上周舉行的DerbyCon安全大會(huì)上,安全專家展示了一種利用DLL注入方式來(lái)繞過(guò)該勒索軟件保護(hù)功能的方式。

使用DLL注入繞過(guò)“受控制的文件夾訪問(wèn)”功能
“受控制的文件夾訪問(wèn)”可協(xié)助用戶保護(hù)文件夾以及內(nèi)部文件,簡(jiǎn)而言之就是只允許列入白名單的應(yīng)用程序訪問(wèn)和修改該文件夾,白名單涵蓋用戶指定和Microsoft默認(rèn)列入白名單的應(yīng)用程序。
這個(gè)方式的突破口是已經(jīng)列入了上述白名單的explorer.exe進(jìn)程,安全展架可在系統(tǒng)啟動(dòng)時(shí)將惡意DLL注入資源管理器,從而繞過(guò)保護(hù)。
主要步驟為:
當(dāng)explorer.exe啟動(dòng)時(shí),它將加載在下面顯示的HKEY_CLASSES_ROOT \ * \ shellex \ ContextMenuHandlers注冊(cè)表項(xiàng)下找到的DLL。

HKEY_CLASSES_ROOT樹(shù)是HKEY_LOCAL_MACHINE和HKEY_CURRENT_USER中注冊(cè)表信息的合集。執(zhí)行合并時(shí),Windows會(huì)以HKCU樹(shù)中的數(shù)據(jù)為優(yōu)先級(jí)。
這就是說(shuō)如果HKCU中存在鍵值,它的優(yōu)先級(jí)將比HKLM中相同鍵值的高,并且是合并到HKEY_CLASSES_ROOT樹(shù)中的數(shù)據(jù)。這么說(shuō)可能有點(diǎn)繞,可以閱讀相關(guān)文檔以獲取更多信息。
默認(rèn)情況下,當(dāng)資源管理器啟動(dòng)時(shí),它會(huì)從HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ CLSID \ {90AA3A4E-1CBA-4233-B8BB-535773D48449} \ InProcServer32鍵值加載Shell.dll。要將惡意DLL加載到explorer.exe中,只需創(chuàng)建一個(gè)HKCU \ Software \ Classes \ CLSID \ {90AA3A4E-1CBA-4233-B8BB-535773D48449} \ InProcServer32鍵值并將其默認(rèn)值設(shè)為惡意DLL即可。
當(dāng)Explorer.exe被結(jié)束和重啟時(shí),explorer.exe會(huì)啟動(dòng)惡意DLL而不是正常的Shell.dll。下圖是注入explorer.exe的DLL示例。

這樣就可以繞過(guò)了“受控制的文件夾訪問(wèn)”功能,而且Windows Defender也沒(méi)有檢測(cè)到該惡意行為。實(shí)際上,Avast、ESET、Malwarebytes Premium和McAfee等老牌安全軟件的勒索軟件保護(hù)功能都沒(méi)有報(bào)警。
微軟的回應(yīng)
安全專家已向微軟安全響應(yīng)中心披露了這個(gè)漏洞,并提供了可用于繞過(guò)“受控制的文件夾訪問(wèn)”功能的概念驗(yàn)證。

不過(guò),微軟并不認(rèn)為這是一個(gè)符合賞金計(jì)劃和需要修復(fù)的漏洞。微軟的回信中是這么說(shuō)的:“如果我理解正確的話,這種攻擊方式的前提是攻擊者已經(jīng)登錄了目標(biāo)賬戶,接下來(lái)是通過(guò)修改注冊(cè)表來(lái)植入DLL。由于該賬戶只能寫入HKCU,因此無(wú)法影響其他用戶。由于登錄賬戶之后就已經(jīng)獲得了相應(yīng)權(quán)限,也不存在提權(quán)漏洞等問(wèn)題。因此該問(wèn)題關(guān)閉且不再跟蹤。”

但是安全專家認(rèn)為勒索軟件不需要提權(quán)來(lái)加密受害者的計(jì)算機(jī),惡意軟件開(kāi)發(fā)人員可以使用其他漏洞或方法掌控卷影復(fù)制服務(wù)(VSS)。這樣以來(lái)可以在沒(méi)有管理員權(quán)限的情況下安裝惡意軟件,并且仍然可以輕松繞過(guò)“受控制的文件夾訪問(wèn)”功能。
|