Enumeration
Proper enumeration is the foundation of successful privilege escalation on Windows systems. This document outlines key areas to examine and commands to use when enumerating a Windows machine.
System Information
# Basic system information
systeminfo
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type"
# Hotfixes and patches
wmic qfe get Caption,Description,HotFixID,InstalledOn
# Environment variables
set
Get-ChildItem Env: | Format-Table -AutoSize
# Connected drives
wmic logicaldisk get caption,description,providername
Get-PSDrive | Where-Object {$_.Provider -like "Microsoft.PowerShell.Core\FileSystem"}
# Network information
ipconfig /all
route print
arp -aUser Information
Network Information
Running Processes and Services
Scheduled Tasks
File System Information
Registry Settings
Installed Applications
Antivirus and Security Products
Interesting Directories and Files
Automated Enumeration Tools
For more thorough enumeration, consider using specialized tools if you can upload them to the target system:
Combining PowerShell Commands
Create custom PowerShell scripts to perform multiple checks:
Remember
Always check what commands are available and usable in your specific context.
Take notes of findings for later analysis.
Look for unusual or non-standard configurations.
Correlate information between different sources to identify privilege escalation vectors.
Be methodical and thorough in your enumeration process.
This enumeration process will help identify potential privilege escalation vectors. After completing enumeration, analyze your findings to determine the most promising attack paths.
Identifying Suspicious Processes
Analyzing running processes is critical for identifying potential security issues or opportunities for privilege escalation. Non-standard processes can indicate compromise or misconfigurations that you can exploit.
Listing and Analyzing Processes
Suspicious Process Characteristics
When analyzing processes, look for:
Unusual locations: Processes running from temp directories, user directories, or non-standard program paths
Uncommon names: Processes with misspelled names (e.g., svch0st.exe instead of svchost.exe)
High privileges: Processes running as SYSTEM or Administrator unnecessarily
Missing descriptions: Legitimate Windows processes typically have proper descriptions
Unusual parent-child relationships: Use Process Explorer to identify abnormal process hierarchies
Suspicious Process Examples
These processes might indicate potential compromise or misconfiguration:
seatbelt.exe: Part of the GhostPack toolkit, used for security assessments; presence may indicate ongoing penetration testing or compromise
nc.exe/netcat: Network utility commonly used for creating backdoors or reverse shells
psexec.exe: Legitimate SysInternals tool, but often abused for lateral movement
mimikatz.exe: Credential dumping tool
powershell.exe with unusual parent processes or command line parameters
cmd.exe running as SYSTEM or with unusual parent processes
wmic.exe used for remote execution or suspicious queries
Detailed Analysis with Seatbelt
Ironically, Seatbelt itself is a powerful enumeration tool used by penetration testers. If you find it installed, you might be able to use it for your own enumeration:
Process Analysis with PowerShell
Investigating Process Command Lines
Command line parameters can reveal suspicious behavior:
Exploiting Weak Process Permissions
If you find a process running with high privileges but with weak file permissions:
Service Enumeration
Last updated