僅使用命令提示字元和/或 PowerShell,但沒有外部程式或命令,如何以 TrustedInstaller 或 SYSTEM 身分執行應用程式?
答案1
AFAIK,沒有簡單的方法來登入系統或作為可信任安裝程式不使用第三方工具,例如 Microsoft 自己的工具(實際上是 Russinovich 的 Sysinternals)執行程式,尼爾軟體的尼爾命令或索杜姆的動力運行。
然而,使用這些工具很容易出現原生於 Windows GUI,即作為執行檔的上下文選單項,帶有註冊表調整,將特定工具新增至右鍵選單中。
[即使擁有這些權限,有時也可能無法執行簡單的任務,例如使用登錄編輯器修改擁有的密鑰可信任安裝程式,不取得所有權。
答案2
從https://www.tiraniddo.dev/2017/08/the-art-of-becoming-trustedinstaller.html,這是我在我的機器上嘗試的步驟
- 開啟你的powershell(以管理員身分)
- PS> 安裝模組-名稱 NtObjectManager
- PS> 啟動服務-名稱TrustedInstaller
- PS> $parent = Get-NtProcess -ServiceName TrustedInstaller
- PS> $proc = New-Win32Process cmd.exe -CreationFlags NewConsole -ParentProcess $parent
注意:
Install-Module
只需運行一次即可導入模組。https://www.powershellgallery.com/packages/NtObjectManager/
步驟 5 之後,將開啟新的命令提示符,我們可以透過執行來檢查whoami
它會顯示nt authority\system
答案3
順便說一句,這是一個 .ps1 腳本@hasto 的命令:
$ConfirmPreference = "None"
$isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
if (-not $isAdmin) {
Start-Process powershell -ArgumentList "-NoProfile -File `"$PSCommandPath`"" -Verb RunAs
exit
}
Set-ExecutionPolicy -ExecutionPolicy bypass
Install-Module -Name NtObjectManager
Start-Service -Name TrustedInstaller
$parent = Get-NtProcess -ServiceName TrustedInstaller
$proc = New-Win32Process cmd.exe -CreationFlags NewConsole -ParentProcess $parent
$ConfirmPreference = "High"