| name | performing-privilege-escalation-assessment |
| description | Performs privilege escalation assessments on compromised Linux and Windows systems to identify paths from low-privilege access to root or SYSTEM-level control. The tester enumerates misconfigurations, vulnerable services, kernel exploits, SUID binaries, unquoted service paths, and credential stores to demonstrate the full impact of an initial compromise. Activates for requests involving privilege escalation testing, local exploitation, post-compromise escalation, or OS-level security assessment.
|
| domain | cybersecurity |
| subdomain | penetration-testing |
| tags | ["privilege-escalation","post-exploitation","Linux-privesc","Windows-privesc","local-exploitation"] |
| version | 1.0.0 |
| author | mahipal |
| license | Apache-2.0 |
| d3fend_techniques | ["Executable Denylisting","Execution Isolation","File Metadata Consistency Validation","Restore Access","Password Authentication"] |
| nist_csf | ["ID.RA-01","ID.RA-06","GV.OV-02","DE.AE-07"] |
| mitre_attack | ["T1595","T1190","T1059","T1078","T1068"] |
Performing Privilege Escalation Assessment
When to Use
- After gaining initial low-privilege access during a penetration test to demonstrate full system compromise
- Assessing the security hardening of Linux and Windows servers against local privilege escalation attacks
- Evaluating whether endpoint detection and response (EDR) tools detect common privilege escalation techniques
- Testing the effectiveness of least-privilege policies and application whitelisting on endpoints
- Validating that container breakout and VM escape controls are properly configured
Do not use without written authorization, against production systems where exploitation could cause downtime, or for deploying kernel exploits on systems without prior approval and rollback capability.
Prerequisites
- Low-privilege shell access (reverse shell, SSH, RDP) to the target system obtained through authorized means
- Privilege escalation enumeration scripts: linPEAS (Linux), winPEAS (Windows), Linux Smart Enumeration (LSE)
- Compiled kernel exploits for common CVEs or access to compilation tools on the target
- GTFOBins reference for Linux SUID/sudo binary abuse and LOLBAS reference for Windows living-off-the-land binaries
- Precompiled post-exploitation binaries for the target architecture if compilation is not available on the target
Workflow
Step 1: System Enumeration
Gather comprehensive information about the target system:
Linux Enumeration:
id && whoami - Current user and group memberships
uname -a - Kernel version for kernel exploit identification
cat /etc/os-release - Distribution and version
sudo -l - Commands the current user can run as root via sudo
find / -perm -4000 -type f 2>/dev/null - SUID binaries
find / -perm -2000 -type f 2>/dev/null - SGID binaries
crontab -l && ls -la /etc/cron* - Scheduled tasks running as root
ps aux | grep root - Processes running as root
cat /etc/passwd - User accounts (look for additional users with UID 0)
find / -writable -type d 2>/dev/null - World-writable directories
- Run
linpeas.sh for automated comprehensive enumeration
Windows Enumeration: