0x00 Tricks
0x01 用ZwCreateThreadEx
在 Windows 10 下直接通過管理員許可權+SeDebugPrivilege啟用。
0x02 用CreateRemoteThread
實際上發現 CreateRemoteThread 也是可以直接突破 SESSION 0 隔離向服務程式注入DLL的。
測試在Windows 10 場景下還是管理員許可權+SeDebugPrivilege啟用。
看書裡的解釋與實際測試暫時不一致。具體原因待分析,目前需要測試Windows 核心版本為6.0的,諸如Windows 7。
0x03 記錄
目前測試的過程中,報錯均為 OpenProcess 報錯,關於向 session 0 服務程式注入dll,可能就跟OpenProcess的許可權有關係,那麼記錄下想法,不一定都對:
獲取程式控制程式碼需要用 OpenProcess ,而服務程式和系統程式有 session 0 隔離,我們正常執行程式的許可權是使用者許可權, explorer 和 cmd 開啟的程式許可權預設沒有 SeDebugPrivilege 許可權,而想要獲取系統程式和服務程式的控制程式碼,進行指定寫相關的訪問權的 OpenProcess 操作,需要 SeDebugPrivilege 許可權。Administrator 預設擁有,但是未開啟,所以可以通過程式碼開啟,或者通過管理員啟動 powershell 執行,這樣自帶 SeDebugPrivilege 許可權。