關於突破 SESSION 0 隔離場景發現的一些問題

cunren發表於2021-10-09

0x00 Tricks

0x01 用ZwCreateThreadEx

在 Windows 10 下直接通過管理員許可權+SeDebugPrivilege啟用。

image

0x02 用CreateRemoteThread

實際上發現 CreateRemoteThread 也是可以直接突破 SESSION 0 隔離向服務程式注入DLL的。

測試在Windows 10 場景下還是管理員許可權+SeDebugPrivilege啟用。

看書裡的解釋與實際測試暫時不一致。具體原因待分析,目前需要測試Windows 核心版本為6.0的,諸如Windows 7。

image

0x03 記錄

目前測試的過程中,報錯均為 OpenProcess 報錯,關於向 session 0 服務程式注入dll,可能就跟OpenProcess的許可權有關係,那麼記錄下想法,不一定都對:

獲取程式控制程式碼需要用 OpenProcess ,而服務程式和系統程式有 session 0 隔離,我們正常執行程式的許可權是使用者許可權, explorer 和 cmd 開啟的程式許可權預設沒有 SeDebugPrivilege 許可權,而想要獲取系統程式和服務程式的控制程式碼,進行指定寫相關的訪問權的 OpenProcess 操作,需要 SeDebugPrivilege 許可權。Administrator 預設擁有,但是未開啟,所以可以通過程式碼開啟,或者通過管理員啟動 powershell 執行,這樣自帶 SeDebugPrivilege 許可權。

相關文章