Cos'è#
Il sistema sudo (SuperUser DO) permette a utenti fidati di eseguire comandi con i privilegi di sicurezza di un altro utente (normalmente root).
Come funziona#
Il file /etc/sudoers definisce le policy. Il kernel controlla se l'utente che invoca sudo appartiene a un gruppo autorizzato o è presente nel file.
[ UTENTE ] ───▶ Digita "sudo apt update"
│
┌─────┴─────┐
│ SUDOERS │ ◀─── Controlla /etc/sudoers + /etc/group
└─────┬─────┘
│
┌──────┴──────┐
│ AUTORIZZATO │ ───▶ Chiede password dell'utente
└──────┬──────┘
│
┌──────┴──────┐
│ KERNEL │ ───▶ Esegue come UID 0 (ROOT)
└─────────────┘Comandi Chiave#
sudo -l: Mostra quali privilegisudohai (molto utile per Privilege Escalation).sudo visudo: Edita il file/etc/sudoersin sicurezza.sudo usermod -aG sudo [user]: Promuove un utente a Sudoer.
Perché è importante per Blue/Red Team#
- Red Team: Cercare utenti nel gruppo
sudoo con permessiNOPASSWDnel file sudoers è la via più rapida per la Privilege Escalation. - Blue Team (Hardening): Limitare l'uso di
sudoallo stretto necessario. Usare il principio del "Least Privilege" (Minimo Privilegio).
Scenario Reale#
Trovi un utente deploy che può eseguire sudo /usr/bin/python3 senza password. Come attaccante, puoi usare python per spawnare una shell root: sudo python3 -c 'import os; os.system("/bin/bash")'. Questo è un classico esempio di configurazione sudo errata.
Collegato a#
- system — categoria
- uid-gid-identifiers — concetto
- user-management-cheatsheet — comandi



