HackPathHackPath
CoursesRoadmapPracticePricing
>_
HackPath

Privilege Escalation Windows

0%
Lessons
Fundamentals
01Windows Post-Exploitation Enumeration
45 min
02Unquoted Service Paths
50 min
Registry & Installers
03AlwaysInstallElevated
45 min
04Registry Misconfigurations
48 min
DLL & Services
05DLL Hijacking
58 min
06Weak Service Permissions
52 min
Token Abuse
07SeImpersonatePrivilege
55 min
08Token Impersonation
50 min
Advanced Techniques
09Autorun & Startup Abuse
45 min
10Credential Dumping Windows
58 min

Lesson 01

Windows Post-Exploitation Enumeration

Lesson details coming soon.

Privilege Escalation — Windows/Windows Post-Exploitation Enumeration

Windows Post-Exploitation Enumeration

Systematic enumeration is the key to effective privilege escalation on Windows. Before exploiting anything, you must map the environment.

A Windows privilege escalation enumeration map highlighting key areas: identity and privileges, services, registry, tokens, DLL search order, and patch level.
Treat privesc like a map: enumerate boundaries first, then validate the weakest link.

User and System Context

bash
You type
# Current user
$whoami
whoami /all # Privileges, groups, SID
# System information
$systeminfo
$systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"Hotfix"
# Architecture
$echo %PROCESSOR_ARCHITECTURE%
# Environment variables
$set
$echo %PATH%
enumeration windows privesc

Current Account Privileges

bash
You type
# List all privileges (look for SeImpersonate, SeDebug, etc.)
$whoami /priv
# Interesting privileges:
# SeImpersonatePrivilege → Potato attacks
# SeDebugPrivilege → Read memory of privileged processes
# SeBackupPrivilege → Read any file
# SeRestorePrivilege → Write anywhere
# SeTakeOwnershipPrivilege → Take ownership of files
# SeLoadDriverPrivilege → Load kernel drivers

Users and Groups

bash
You type
# Local users
$net user
$net user administrator
$net localgroup
# Members of the Administrators group
$net localgroup Administrators
$net localgroup "Remote Desktop Users"
# Logged-in users
$query user
$query session

Services and Processes

bash
You type
# Running services
$sc query
$sc query type= all
# Services with execution paths (check for unquoted paths)
$sc qc ServiceName
$wmic service get name,pathname,startmode,startname
# Running processes (look for those running as SYSTEM)
$tasklist
tasklist /v # With associated user
# Via PowerShell
$Get-Service
$Get-Process | Select-Object Name, Id, @{N='User';E={$\_.GetOwner().User}}

Registry — Sensitive Keys

bash
You type
# AlwaysInstallElevated
$reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
$reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
# Credentials stored in the registry
$reg query HKLM /f password /t REG_SZ /s
$reg query HKCU /f password /t REG_SZ /s
# AutoLogon credentials
$reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon"

Sensitive Files

bash
You type
# Search for files containing 'password' in their name
$dir /s /b C:*password* 2>nul
$dir /s /b C:*credential* 2>nul
$dir /s /b C:*unattend* 2>nul
# Common configuration files
$type C:\Windows\Panther\Unattend.xml
$type C:\Windows\Panther\Unattended.xml
$type C:\inetpub\wwwroot\web.config
# SAM databases (local credentials)
$dir /s /b SAM
# C:\Windows\System32\config\SAM
# C:\Windows\System32\config\SYSTEM

Network and Connections

bash
You type
# Network interfaces
$ipconfig /all
# Active connections and open ports
$netstat -ano
# ARP table (other hosts on the network)
$arp -a
# Routes
$route print

Automated Enumeration Tools

ToolDescriptionCommand
WinPEASComprehensive colored enumeration (Windows equivalent of LinPEAS).\winPEAS.exe
SeatbeltTargeted security enumeration.\Seatbelt.exe all
PowerUpPowerShell privesc automationImport-Module PowerUp.ps1; Invoke-AllChecks
SharpUpC# version of PowerUp.\SharpUp.exe audit

Flashcards

Flashcards
Flashcard

Which Windows privileges are the most exploitable for privilege escalation?

Flashcard

What is the Unattend.xml file and why can it contain credentials?

Exercises

Exercise 1 — Build a Windows privesc checklist

  1. On a Windows VM, run whoami /all and identify enabled privileges
  2. Check for SeImpersonatePrivilege (often present on IIS service accounts)
  3. Run WinPEAS: .\winPEAS.exe and review highlighted sections
  4. Search for credentials in the registry: reg query HKLM /f password /t REG_SZ /s
  5. Check for Unattend.xml files: dir /s /b C:\*unattend* 2>nul

Open Questions

Question 1 — Why is enumeration the key in Windows privesc?

Next Lesson

With enumeration complete, the next lesson exploits the most common Windows privilege escalation vector: Unquoted Service Paths.

Next: Unquoted Service Paths

Hands-on challenge

Practice what you learned — run it on your machine.

Do the challenge →

You're on a free lesson

Ready to go further?

Unlock all courses, exercises, real-world scenarios and flashcards — everything to build real skills.

Unlock full access →

No commitment · Cancel anytime

Sign in to track your progress.

Sign in to validate →

9 lessons locked in this course · 800+ students enrolled

$99/year — save 31% vs monthly

Unlock full access →