您好,登錄后才能下訂單哦!
這篇文章的內容主要圍繞SandboxEscaper披露漏洞POC研究報告是什么進行講述,文章內容清晰易懂,條理清晰,非常適合新手學習,值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!
近日,安全研究人員SandboxEscaper在GitHub上發布了針對Windows 10的5個零日漏洞的演示利用代碼。
代碼分別是:
Windows錯誤報告
Windows任務計劃
Windows安裝程序
IE11沙箱逃離
Windows AppX部署服務
其中除一、五倆個零日漏洞外,其他三個都是在2018年就已爆出。
1. 利用條件:
可以通過精心放置的DACL(自主訪問控制列表)操作來利用:
當我們觸發報告隊列任務時,WER服務將嘗試刪除兩個文件。它會為這兩個文件寫一個DACL,以確保SYSTEM對它們進行“刪除”。這種方式的工作方式分為兩步:
a. 調用GetFileSecurity并獲取安全描述
b. 向安全描述符添加了一些內容,因此具有SYSTEM刪除權限,然后使用SetFileSecurity將其寫回文件
它還關閉兩個函數調用之間的文件句柄,這意味著如果在兩個函數調用之間我們生成一個硬鏈接,它將首先從正常文件獲取安全描述符,用戶可以寫入該文件。
然后,它將復制這些權限,并將此安全描述符應用于指向完全不同文件的硬鏈接。
成功的運行將如下所示:
您可以在QuerySecurityFile之后和SetSecurityFile之前看到正在創建的硬鏈接。可以使用IDA查看(wer.dll)并確認。很明顯遭受攻擊的功能是:UtilAddAccessToPath
2. 重現步驟:
a. 將AngryPolarBearBug.exe和report.wer復制到同一文件夾中
b. 運行AngryPolarBearBug.exe
此漏洞由于觸發條件難以把控導致成功幾率較低(觸發錯誤可能需要15分鐘,如果花了太長時間,需要關閉程序,清理緩存數據文件夾),并且早些時候已被修復。
1. 利用條件
Windows10有兩個tasks文件夾:
a. C:\ Windows\tasks
b. C:\Windows\SYSTEM32\tasks
第一個是由于歷史遺留問題保留使用。第二個被win10任務調度程序使用。在過去(即windows xp),任務 “.job”文件格式將放在”c:\ windows \tasks”中。
如果在Windows 10上要將.job文件導入任務計劃程序,則必須將舊的“.job“文件先復制到”c:\ windows\tasks”中,并使用從舊系統復制的schtasks.exe和schedsvc.dll運行以下命令:
schtasks /change /TN"taskname" /RU username /RP password"
這將導致調用RPC“_SchRpcRegisterTask”,它由任務調度程序服務公開。觸發這個錯誤,可以直接調用這個函數,而不是必須要從windows xp復制schtasks.exe。
它首先在當前用戶權限下運行,但是當它遇到以下功能時:
int __stdcalltsched :: SetJobFileSecurityByName(LPCWSTRStringSecurityDescriptor,const unsigned __int16 *,int,const unsigned __int16 *)
它開始在NT AUTHORITY\ SYSTEM權限下運行
然后在c:\ windows\system32\tasks中創建的任務上調用SetSecurityInfo:
2. 重現步驟
a. 將polarbear.exe,bear.job,schtasks.exe,schtasks.dll從“poc files”文件夾復制到測試VM
b. 運行polarbear.exe,傳遞本地非管理員帳戶的用戶名和密碼。
要觸發此漏洞首先需要擁有正確的用戶名及密碼。但是,這并非什么難事,有很多黑客工具可以做到這點.
1. 利用條件
在修復安裝Windows程序時,如果可以劫持該進程以將文件寫入Windows操作系統的未授權區域,則會有很短的時間間隔(競爭條件)。
這個msiexec / fa(修復安裝)操作的漏洞可用于植入惡意軟件并接管黑客最初只能訪問低權限帳戶的計算機。
2. 重現步驟
a. 運行polarbear.exe (確保 test.rbf 和 test.rbs 在同一目錄下)
b. 打開命令行安裝.MSI安裝程序 必須是 c:\windows\insatller 目錄下的,例如命令:"msiexec/fa c:\windows\installer\123123213.msi"
此漏洞復現也存在運氣成分,需要安裝時競爭條件恰到好處的觸發,同時快速點擊返回按鈕。
1. 利用條件
整個執行流程較為簡單,通過com組件與ie通信執行硬編碼"<html><body><script>alert('wtf');</script></body></html>", 執行在此之前需要將target.link寫入到windows自帶的“%USERPROFILE%\Favorites“目錄下
2. 重現步驟
a. InjectDll.exe PID TestDll.dll
此漏洞關鍵首先得成功獲取IE11進程句柄并成功注入目標模塊,從而執行惡意代碼。顯然這個零日不可被遠程利用,應被視為影響較小的問題。
1. 利用條件
這是Windows AppX部署服務(AppXSVC)不正確處理硬鏈接的方式中的一個錯誤。來自于CVE-2019-0841,
利用漏洞首先檢查目標文件是否存在,如果存在,它將檢查其權限。由于我們使用Microsoft Edge進行此攻擊,因此它將終止Microsoft Edge以訪問settings.dat文件。
在Microsoft Edge被殺后,它將檢查“setting.dat”文件并將其刪除,以便創建指向所請求的目標文件的硬鏈接。一旦創建了硬鏈接,Microsoft Edge再次啟動以觸發漏洞。最后檢查是否確實為當前用戶設置了“完全控制”權限。
2019.4月份微軟推送補丁修復,但是仍可被利用。
2. 重現步驟
a. 運行polarbear.exe
b. 運行windowsappslpe.exe
此漏洞繞過微軟修復的CVE-2019-0841補丁。通過提前創建硬鏈接而后執行漏洞補丁之前EXP進行攻擊。
我們現在直接運行可執行文件polarbear.exe并對其利用原理進行剖析:
a. 目的是在系統數據目錄“%LOCALAPPDATA%”創建指定子目錄\\Packages\\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\\Microsoft.MicrosoftEdge_44.17763.1.0_neutral__8wekyb3d8bbwe
以供攻擊利用
成功執行:
b. 使用NtOpenFile以對象屬性為OBJ_CASE_INSENSITIVE打開文件
c. 使用ZwSetInformationFile設置文件屬性需要將FILE_LINK_INFORMATION結構體ReplaceIfExists字段設置為TRUE并將 FILE_INFORMATION_CLASS傳遞值為FileLinkInformation
d. 最終調用已封裝好的函數CreateNativeHardlink,好的傳遞需要創建的硬鏈接文件 L"\\Packages\\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\\Microsoft.MicrosoftEdge_44.17763.1.0_neutral__8wekyb3d8bbwe\\bear3.txt"以及
需要修改權限的文件"C:\\Windows\\win.ini"
此時我們便可以看到創建硬鏈接成功:
至此,整個繞過補丁的利用環境已構建完畢。 但我們仍需使用CVE-2019-0841來達到本地提權的攻擊效果。
此漏洞主要圍繞著DCAL引發的事件,簡單地來說,如果Windows對象沒有自主訪問控制列表(DACL),則系統允許每個人完全訪問它。如果對象具有DACL,則系統僅允許DACL中的訪問控制條目(ACE)明確允許的訪問。
讓我們關注“settings.dat” 這是Microsoft Edge 的文件,也是此漏洞利用過程起到關鍵作用的文件,所有WindowsApps用戶配置文件都存儲在當前用戶的AppData文件夾下:
Windows 10已經安裝了許多默認應用程序,每個包都有一個settings.dat文件,如前所述。
NT AUTHORITY\SYSTEM使用此文件來寫入任何配置更改。啟動Windows應用程序后,系統會使用OpLock操作(獨占鎖定)來阻止其他進程在應用程序運行時使用/訪問該文件。
在我們啟動Microsoft Edge的情況下,settings.dat文件會被進程以NT AUTHORITY\SYSTEM打開,可以在下面的屏幕截圖中看到:
打開后,將按以下方式執行一些基本完整性檢查:
a. 檢查文件權限,如果文件權限不正確,使用正確的文件權限更正
b. 讀取文件內容,如果內容已損壞,則刪除該文件
c. 通過從“C\Windows\System32\settings.dat”復制設置模板文件來重新配置
d. 繼續啟動Windows相關應用程序
所以執行POC的程序至少會做到以下三點:
(1) 利用漏洞首先檢查目標文件是否存在,如果存在,它將檢查其權限。由于我們使用Microsoft Edge進行此攻擊,因此它將終止Microsoft Edge以訪問該settings.dat文件。
(2) 在Microsoft Edge被殺之后,它將檢查“setting.dat”文件并將其刪除,以便創建到所請求的目標文件的硬鏈接(win.ini)
(3) 一旦創建了硬鏈接,Microsoft Edge再次啟動以觸發漏洞。最后檢查是否確實為當前用戶設置了“完全控制”權限。
以下為執行結果示意圖:
執行前:
執行后:
通過上述分析我們可以知道,以下是觸發漏洞的最基本先決條件:
NT AUTHORITY\SYSTEM應對目標文件具有“完全控制權”
低權限用戶或Users組應具有“讀取/執行”權限
下載并更新Windows系統補丁修復漏洞
不隨意運行來歷不明的程序
安裝知名殺毒軟件并保持最新版
感謝你的閱讀,相信你對“SandboxEscaper披露漏洞POC研究報告是什么”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關知識點,可以關注億速云網站!小編會繼續為大家帶來更好的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。