使用DDL注入繞過Windows 10受控資料夾訪問保護
在Windows 10中,微軟新增了一項名為“受控資料夾訪問”的功能,該功能可用於防止未知程式修改受保護資料夾中的檔案。
而在上週舉行的DerbyCon安全會議上,一位安全研究人員則向大家展示了一種利用DLL注入來繞過受控資料夾訪問保護的方法。
使用DLL注入繞過受控資料夾訪問保護
pingcomputer.com/news/microsoft/windows-10s-controlled-folder-access-anti-ransomware-feature-is-now-live/" rel="nofollow,noindex" target="_blank">受控資料夾訪問 功能啟用後,將會監視應用程式對受保護的某些資料夾中的檔案所做的任何更改行為,並且只允許被列入白名單的應用程式修改這些檔案。白名單應用程式可以是你指定的應用程式,也可以是微軟預設列入白名單的應用程式。
在得知explorer.exe預設為受控資料夾訪問白名單程式後,富士通系統整合實驗室的安全研究員Soya Aoyama想出了一種,在啟動時將惡意DLL注入資源管理器的方法。由於資源管理器已列入白名單,因此在注入DLL時它將啟動並繞過勒索軟體保護功能。
當explorer.exe啟動時,它將載入HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers登錄檔項下找到的DLL。‘
HKEY_CLASSES_ROOT樹是HKEY_LOCAL_MACHINE和HKEY_CURRENT_USER中的登錄檔資訊的合集。執行合併時,Windows會以HKCU樹中的資料為優先順序。
這意味著如果HKCU中存在金鑰,它將優先於HKLM中的相同金鑰,並且合併到HKEY_CLASSES_ROOT樹中的資料。如果這裡你感到有點疑惑,那麼你可以 閱讀本文件 以獲取更多資訊。
預設情況下,當資源管理器啟動時它會從HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{90AA3A4E-1CBA-4233-B8BB-535773D48449}\InProcServer32鍵載入Shell32.dll。要將惡意DLL載入到explorer.exe中,Aoyama只需建立一個HKCU\Software\Classes\CLSID\{90AA3A4E-1CBA-4233-B8BB-535773D48449}\InProcServer32 鍵,並將其預設值設定為惡意DLL即可。
現在,當Explorer.exe程序被殺死並重啟時,惡意DLL將被執行而不是Shell32.dll。以下是DLL注入到explorer.exe中的示例:
這不僅繞過了受控資料夾訪問保護,而且連Windows Defender也沒有檢測到該惡意行為。根據Aoyama的測試結果,不僅僅是Windows Defender,包括一些主流的防護軟體Avast,ESET,Malwarebytes Premium和McAfee都沒有檢測到該惡意行為。
有關更多詳細資訊以及Aoyama在DerbyCon上的演講和演示內容,請觀看下面的視訊:
MSRC迴應
Aoyama表示在他發表該演講之前,已向微軟安全應急響應中心負責任的披露了該漏洞,幷包含了可用於繞過受控資料夾訪問保護的POC。
不過,遺憾的是微軟方面並不認為這是一個符合漏洞獎賞計劃或需要補丁的漏洞。
微軟在對Aoyama的回覆中表示:”如果我沒理解錯的話,執行該攻擊的前提是攻擊者已經登入到了目標賬戶,然後通過登錄檔植入惡意DLL。由於你只能寫入HKCU,因此無法影響其他使用者,最重要的是執行該攻擊的前提是已經獲取目標系統的相應賬戶許可權。另外,似乎也沒有許可權提升方面的漏洞,因此我們並不認為這是一個實際存在的漏洞。”
但實際情況是,勒索軟體並不需要提權來加密受害者的計算機。惡意軟體開發人員可以使用其他漏洞或方法來執行vssadmin。這樣做可以在沒有管理許可權的情況下安裝惡意軟體,並且仍可繞過受控資料夾訪問保護功能。
*參考來源: bleepingcomputer , FB小編secist編譯,轉載請註明來自FreeBuf.COM