使用DLL注入繞過“受控制的資料夾訪問”功能

Editor發表於2018-10-17

前言


從Windows 10 1709秋季創意者更新開始,微軟為Windows 10安全中心新增了一個名為“受控制的資料夾訪問”的全新勒索軟體防護功能,可用於防止未知程式修改受保護資料夾中的檔案。


在上週舉行的DerbyCon安全大會上,安全專家展示了一種利用DLL注入方式。


使用DLL注入繞過“受控制的資料夾訪問”功能


使用DLL注入繞過“受控制的資料夾訪問”功能


“受控制的資料夾訪問”可協助使用者保護資料夾以及內部檔案,簡而言之就是隻允許列入白名單的應用程式訪問和修改該資料夾,白名單涵蓋使用者指定和Microsoft預設列入白名單的應用程式。


這個方式的突破口是已經列入了上述白名單的explorer.exe程式,安全展架可在系統啟動時將惡意DLL注入資源管理器,從而繞過保護。


主要步驟為:


當explorer.exe啟動時,它將載入在下面顯示的HKEY_CLASSES_ROOT \ * \ shellex \ ContextMenuHandlers登錄檔項下找到的DLL。


使用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鍵值載入Shell.dll。要將惡意DLL載入到explorer.exe中,只需建立一個HKCU \ Software \ Classes \ CLSID \ {90AA3A4E-1CBA-4233-B8BB-535773D48449} \ InProcServer32鍵值並將其預設值設為惡意DLL即可。


當Explorer.exe被結束和重啟時,explorer.exe會啟動惡意DLL而不是正常的Shell.dll。下圖是注入explorer.exe的DLL示例。


使用DLL注入繞過“受控制的資料夾訪問”功能


這樣就可以繞過了“受控制的資料夾訪問”功能,而且Windows Defender也沒有檢測到該惡意行為。實際上,Avast、ESET、Malwarebytes Premium和McAfee等老牌安全軟體的勒索軟體保護功能都沒有報警。


微軟的回應


安全專家已向微軟安全響應中心披露了這個漏洞,並提供了可用於繞過“受控制的資料夾訪問”功能的概念驗證。


使用DLL注入繞過“受控制的資料夾訪問”功能


不過,微軟並不認為這是一個符合賞金計劃和需要修復的漏洞。微軟的回信中是這麼說的:“如果我理解正確的話,這種攻擊方式的前提是攻擊者已經登入了目標賬戶,接下來是通過修改登錄檔來植入DLL。由於該賬戶只能寫入HKCU,因此無法影響其他使用者。由於登入賬戶之後就已經獲得了相應許可權,也不存在提權漏洞等問題。因此該問題關閉且不再跟蹤。”


使用DLL注入繞過“受控制的資料夾訪問”功能


但是安全專家認為勒索軟體不需要提權來加密受害者的計算機,惡意軟體開發人員可以使用其他漏洞或方法掌控捲影複製服務(VSS)。這樣以來可以在沒有管理員許可權的情況下安裝惡意軟體,並且仍然可以輕鬆繞過“受控制的資料夾訪問”功能。


*參考來源:bleepingcomputer,Freddy編譯整理,轉載請註明來自 FreeBuf.COM。

宣告:本網站所提供的資訊僅供參考之用,並不代表本網站贊同其觀點,也不代表本網站對其真實性負責。 



更多閱讀:


1、網路黑灰產業已近千億 個人資訊洩露是源頭


2、App過度採集、竊取販賣 個人資訊要多加幾道保護鎖


3、近期大量iPhone支付寶被盜刷,扣款上萬元,到底怎麼回事?


4、最新 | 彭博社公佈 中國祕密植入後門晶片的最新證據


相關文章