前言
常逛 IT 之家的朋友可能知道,自從 Windows Vista 以來,為了提升安全性,微軟對于權限的把控越來越緊。為了對抗惡意軟件隨意修改系統文件,Trustedinstaller 應運而生。TrustedInstaller 是從 Windows Vista 開始出現的一個內置安全主體,它的本體是 “Windows Modules Installer” 服務。在 Windows 中擁有修改系統文件權限,以一個用戶組的形式出現。通常情況下,在使用 Windows Update 安裝系統更新,開啟關閉 Windows 功能時起非常重要的作用。
擁有完全控制權限的 Trustedinstaller 用戶組
它的全名是:NT SERVICE\TrustedInstaller。從名字中我們不難發現,這其實是 NT 服務,并非一個實際存在的用戶組。
在本地用戶和組內無法找到 Trustedinstaller
那如果我是 DIY 玩家,又或者因為一些原因,想要修改某些系統功能,該如何操作呢?如今,網絡上提供的方法,大部分都是修改文件的所有者為系統管理員用戶,然后再對管理員用戶添加完全控制權限。
修改系統文件所有者
這個方法雖然可以實現修改系統文件,但是每次修改完成后,很多人都會忘記把權限和所有權修改回來,留下安全隱患。而且如果需要修改某文件夾內的多個文件時,除非將整個文件夾內的所有文件一起修改,不然會很繁瑣。
還有一種獲得 Trustedinstaller 的方式是,通過交互式服務檢測,但是在最新的 Windows 11(Windows 10)中,這種方法已經失效了。
那在新的系統中又該如何獲得 Trustedinstaller 權限呢?
其實我們還可以通過 Set-NtTokenPrivilege 竊取 Trustedinstaller 的本體 Trustedinstaller.exe 的 Token,來創建其子進程。在開始之前我們需要保證你的 Powershell 版本為 5.0 以上(Windows 10 以上版本已經自帶 Powershell 5.0 了,其他版本 Windows 需要進行更新)。
準備工作
首先,我們需要下載并安裝 Set-NtTokenPrivilege 命令所需模塊,我們先在系統 C 盤根目錄新建名為 “token” 的文件夾。
接著,我們以管理員身份運行 Powershell,然后輸入(其中 C:\token,為我們剛剛新建文件夾的路徑):
- Save-Module -Name NtObjectManager -Path c:\token
并回車(第一次安裝會出現詢問,輸入 “Y” 并回車):
稍等片刻下載完成后,我們輸入:
- Install-Module -Name NtObjectManager
并回車,正式安裝。若出現不受信任的存儲庫,輸入 “A” 并回車:
稍等片刻,等待安裝結束。結束后,我們需要讓系統允許使用 Powershell 腳本,我們輸入:
- Set-ExecutionPolicy Unrestricted
并回車。接著系統會顯示執行策略更改,我們輸入”A“并回車確認:
接著,我們導入 NtObjectManager 模塊,我們輸入:
- Import-Module NtObjectManager
并回車。至此,我們前期準備工作結束:
正式開始
現在,我們開始正式獲得 Trustedinstaller 權限。在 Powershell 中依次輸入:
- sc.exe start TrustedInstallerSet-NtTokenPrivilege SeDebugPrivilege$p = Get-NtProcess -Name TrustedInstaller.exe$proc = New-Win32Process cmd.exe -CreationFlags NewConsole -ParentProcess $p
并回車。
接下來系統會打開一個命令提示符,該命令提示符就具有 Trustedinstaller 權限,可以直接修改系統文件。我們可以通過:
- whoami /groups /fo list
進行測試:
可以看到我們已經獲得 Trustedinstaller 權限了,現在就可以通過一些命令修改系統文件了。如果想要更加方便操作,可以通過此 CMD 運行 taskmgr、notepad 等應用,在運行新任務、打開文件的瀏覽窗口下,進行文件編輯。編輯結束后直接關閉即可。
注意!不要使用 CMD 運行 explorer,因為 explorer 無法在當前用戶下正常使用。在這之后如果,想要重新獲得 Trustedinstaller 權限重新執行以下命令即可:
- sc.exe start TrustedInstallerSet-NtTokenPrivilege SeDebugPrivilege$p = Get-NtProcess -Name TrustedInstaller.exe$proc = New-Win32Process cmd.exe -CreationFlags NewConsole -ParentProcess $p
以上便是真正地獲取 Trustedinstaller 權限的教程。當然,這個教程的意義,不局限于獲得 Trustedinstaller 權限,其他的權限,也可以通過類似方法獲得。筆者就曾經獲得過 DWM-1 的權限,更多的作用歡迎大家在評論區或 IT 圈討論。
參考