Privilege Escalation Checklist

Initial Enumeration

# System information
uname -a
cat /etc/os-release
cat /proc/version
lscpu

# User information
id
whoami
sudo -l
cat /etc/passwd | grep -v nologin | grep -v false
cat /etc/shadow # If readable
cat /etc/group
history
env

# Network information
ifconfig -a || ip a
route || ip route
netstat -antup || ss -tunlp
iptables -L
cat /etc/hosts
cat /etc/resolv.conf

# Running processes
ps aux
ps -ef
pstree

# Installed packages and services
dpkg -l # Debian-based
rpm -qa # Red Hat-based
service --status-all
systemctl list-unit-files
ls -la /etc/init.d/

# Find world-writable directories and files
find / -writable -type d 2>/dev/null
find / -writable -type f 2>/dev/null
find / -writable -type f -not -path "/proc/*" -not -path "/sys/*" 2>/dev/null

# Find world-executable files
find / -perm -o+x -type f 2>/dev/null

SUID/SGID Binaries

Exploiting Common SUID Binaries

Using base64 with SUID to read protected files

If base64 has the SUID bit set, it can be exploited to read files that require elevated privileges:

Other common SUID exploitation techniques

Sudo Rights

Capabilities

Cron Jobs

PATH Manipulation

NFS Shares

Kernel Exploits

Passwords and Sensitive Files

Finding Files

Automated Tools (If Available)

Step-by-Step Methodology

  1. Collect system information (OS, kernel, hardware)

  2. Check current user privileges and groups

  3. Look for SUID/SGID binaries

  4. Check sudo privileges (sudo -l)

  5. Check for capabilities

  6. Examine cron jobs

  7. Inspect PATH for opportunities

  8. Look for NFS shares with no_root_squash

  9. Check for sensitive files with passwords

  10. Hunt for world-writable files and directories

  11. Look for unusual services or processes

  12. If possible, run automated enumeration tools

  13. Consider kernel exploits as a last resort

Common Exploits by Binary

SUID Binaries to Look For

Sudo Commands to Look For

File Transfer Methods

Last updated