Binari SUID: eseguire con i privilegi del proprietario
Il bit SUID fa eseguire un programma con i privilegi del proprietario, non di chi lo lancia. Un binario SUID root eseguito da un utente gira come root.
Trovarli e sfruttarli
find / -perm -4000 -type f 2>/dev/null # elenca i SUIDSe un SUID root è un binario con escape a shell o lettura/scrittura arbitraria (di nuovo GTFOBins), diventa root. Custom SUID scritti male (che chiamano system() con PATH relativo) si dirottano manipolando la PATH:
# il SUID chiama 'service' senza path assoluto
export PATH=/tmp:$PATH; echo '/bin/sh' > /tmp/service; chmod +x /tmp/serviceDifesa
Minimizza i binari SUID (rimuovi il bit dove non serve). Nei tuoi programmi SUID: percorsi assoluti, drop dei privilegi appena possibile, nessuna chiamata a shell, sanitizzazione dell'ambiente. Mount con nosuid dove appropriato. Audit periodico dell'elenco SUID.