Enumeration strategies
Enumeration strategies
Linux systems present a deceptively simple privilege model compared to Windows, but this simplicity hides numerous attack vectors rooted in file permissions, process inheritance, and configuration mismanagement. The key to successful Linux privilege escalation lies in systematic enumeration that adapts to your current user context and escalates methodically.
Whether you're operating as a web service account like www-data, a database user like mysql, or a restricted shell user, your enumeration approach must adapt to what the system reveals under that specific context.
Enumeration is not a one-time step—it should be repeated after every privilege gain. Each new user context, group membership, or capability unlocks different files, processes, and attack vectors.
Enumeration Mindset
Always adapt to context. What works for
rootwill not work forwww-data, and whatmysqlcan access differs entirely from a standard user account.Repeat enumeration after any privilege or context change—new group memberships unlock different attack paths.
Leverage both built-in tools (
find,ps,ls) and external tools if allowed (e.g.,LinPEAS,LinEnum,pspy).Log everything. The difference between
/tmpbeing writable vs/var/tmphaving sticky bit issues can be the key to root access.Focus on file permissions. Unlike Windows registry complexity, Linux attacks center on who can read/write/execute what files.
Think in terms of file system hierarchy. Most privilege escalation involves moving up the file system permission chain or hijacking trusted execution paths.
1. System Information and Context
Basic System Information
Current User and Groups:
System Details:
Hardware and Environment:
How This Benefits Attack Identification:
User Groups: Membership in docker/lxd groups enables container escape attacks
Kernel Version: Older kernels vulnerable to known exploits (dirty cow, etc.)
Architecture: Ensures exploit compatibility for kernel attacks
Environment Variables: LD_PRELOAD/LD_LIBRARY_PATH set for shared library hijacking
Distribution: Different distros have different default configurations and paths
2. SUID/SGID Binary Discovery
Finding Elevated Binaries
SUID/SGID Binary Enumeration:
Binary Analysis:
How This Benefits Attack Identification:
Non-standard SUID binaries: Custom applications often have privilege escalation vulnerabilities
Unusual ownership: SUID binaries not owned by root may be exploitable
Common exploitable binaries: Programs like nmap, vim, less with SUID can provide shell access
Capabilities: Binaries with specific capabilities (CAP_SETUID) can be abused for escalation
3. Sudo Configuration Analysis
Sudo Permission Discovery
Current User Sudo Rights:
Sudo Configuration Files:
Advanced Sudo Analysis:
How This Benefits Attack Identification:
Wildcard Permissions: sudo rules with wildcards can often be bypassed
NOPASSWD Entries: Commands that don't require passwords are prime targets
Specific Binary Permissions: sudo access to editors, compilers, or interpreters enables escalation
Environment Preservation: sudo configurations that preserve environment variables enable exploitation
4. Cron Job and Scheduled Task Analysis
Scheduled Task Discovery
System-wide Cron Jobs:
User Cron Jobs:
Systemd Timers (Modern Alternative to Cron):
Cron Job Permission Analysis:
How This Benefits Attack Identification:
Writable Cron Scripts: Scripts with weak permissions can be modified for privilege escalation
Root Cron Jobs: Tasks running as root that execute modifiable scripts
Path Issues: Cron jobs using relative paths or missing PATH can be hijacked
Wildcard Usage: Cron jobs using wildcards in file operations can be exploited
5. File and Directory Permission Analysis
Writable Location Discovery
World-Writable Files and Directories:
System Directory Permissions:
Configuration File Hunting:
Backup and Temporary Files:
How This Benefits Attack Identification:
Writable System Directories: Enable file replacement attacks and path hijacking
World-Writable Files: Direct modification opportunities for privilege escalation
Configuration Files: Often contain passwords, API keys, or sensitive information
Backup Files: May contain historical credentials or sensitive data
6. Process and Service Analysis
Running Process Enumeration
Process Analysis:
Service Analysis:
Network Service Enumeration:
How This Benefits Attack Identification:
Root Processes: High-value targets for process injection or exploitation
Local Services: Services bound to localhost may have weak authentication
Service Accounts: Database and web services often run with elevated privileges
Unusual Processes: Custom applications may have privilege escalation vulnerabilities
7. Container and Virtualization Analysis
Container Environment Detection
Container Detection:
Container Capability Analysis:
Container Group Membership:
How This Benefits Attack Identification:
Container Group Membership: Docker/LXD group membership enables container escape
Privileged Containers: Containers with elevated capabilities can be escaped
Container Runtime Access: Access to docker.sock or container runtimes enables escape
Capability Analysis: Specific capabilities (CAP_SYS_ADMIN) enable various escape techniques
8. Network and SSH Configuration
SSH Configuration Analysis
SSH Service Information:
SSH Key Analysis:
Network Configuration:
How This Benefits Attack Identification:
SSH Key Access: Found SSH keys enable lateral movement or privilege escalation
SSH Configuration: Weak SSH settings may enable authentication bypass
Network Shares: Mounted shares may provide access to sensitive files
Local Network Services: Internal services may have weak authentication
9. Capabilities and Security Features
Linux Capabilities Analysis
Current Process Capabilities:
File Capabilities:
Security Feature Status:
How This Benefits Attack Identification:
Dangerous Capabilities: CAP_SETUID, CAP_SYS_ADMIN enable various privilege escalation paths
Disabled Security: ASLR disabled makes exploitation easier
SELinux/AppArmor: Disabled security modules remove additional protection layers
File Capabilities: Binaries with specific capabilities can be abused for escalation
10. Environment and Path Analysis
Environment Variable Investigation
Current Environment:
PATH Analysis:
Library Path Analysis:
How This Benefits Attack Identification:
Writable PATH Directories: Enable path hijacking attacks by placing malicious binaries
LD_PRELOAD Set: Indicates potential for shared library hijacking
LD_LIBRARY_PATH Issues: Writable library paths enable library replacement attacks
Relative Paths: Current directory in PATH enables local privilege escalation
11. Kernel and System Information
Kernel Vulnerability Assessment
Kernel Version Analysis:
System Uptime and Patch Level:
Hardware and Virtualization:
How This Benefits Attack Identification:
Kernel Version: Older kernels vulnerable to known exploits (dirty cow, dirty pipe)
Missing Mitigations: Kernels without SMEP/SMAP easier to exploit
Virtualization: VM environments may have different exploit requirements
Long Uptime: Systems not rebooted recently may have unpatched vulnerabilities
Last updated
Was this helpful?