Abuso di SUID e sudo
Configurazioni errate
Abuso di SUID e sudo è una lezione Ethical Hacking Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ethical Hacking Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ethical Hacking Academy include 4 lezioni in totale.
Il bit SUID
Il bit di permesso SUID fa sì che un file venga eseguito con i privilegi del suo proprietario, anziché con quelli dell'utente che lo ha avviato. Quando il proprietario è root, un binario SUID viene eseguito come root — utile per strumenti come passwd, ma pericoloso se sfruttato impropriamente.
-rwsr-xr-x 1 root root /usr/bin/passwd
# the s in rws = SUID bitIndividuazione dei binari SUID
Enumera ogni file SUID e lo confronti con una baseline sicura conosciuta. Qualsiasi elemento insolito — un editor di testo, un interprete o un binario personalizzato — è un candidato.
find / -perm -4000 -type f 2>/dev/nullGTFOBins
GTFOBins è un catalogo curato che mostra come abusare dei binari Unix standard per evadere da limitazioni, aumentare i privilegi o leggere/scrivere file quando si dispone di diritti SUID o sudo. Controlli sempre il binario individuato su GTFOBins.
# gtfobins.github.io -> search the binary nameAbuso di SUID con find
Se find ha il bit SUID, la sua opzione -exec esegue i comandi come root, concedendo immediatamente una shell root.
find . -exec /bin/sh -p \; -quit
# -p preserves the elevated privilegesEvasioni dalla shell tramite SUID
Molti interpreti e pager avviano shell. Un vim, less, awk o python con SUID può fornire una shell root.
awk "BEGIN {system(\"/bin/sh -p\")}"
# or in less: !/bin/shConfigurazioni errate di Sudo
Esegua sudo -l per elencare i comandi consentiti. Le voci che permettono di eseguire come root un binario sfruttabile, o che usano NOPASSWD, offrono risultati immediati. Il comando non deve necessariamente essere una shell — GTFOBins mostra le modalità di evasione per molti comandi.
sudo -l
# (ALL) NOPASSWD: /usr/bin/vimSudo su un editor o un pager
Se può eseguire sudo vim (o varianti di less, more, man e nano), può avviare una shell come root dall'interno del programma.
sudo vim -c ":!/bin/sh"
# inside less: sudo less file -> !/bin/shIl trucco LD_PRELOAD
Se sudo conserva LD_PRELOAD (tramite env_keep), può caricare una libreria condivisa malevola che viene eseguita come root all'avvio del comando sudo.
sudo -l # look for env_keep+=LD_PRELOAD
sudo LD_PRELOAD=/tmp/evil.so programVulnerabilità delle versioni di Sudo
Versioni specifiche di sudo presentano dei difetti — ad esempio il buffer overflow nell'heap di Baron Samedit (CVE-2021-3156) e l'aggiramento -u#-1 (CVE-2019-14287). Confronti sudo --version con le CVE note.
sudo --version
# vulnerable < 1.9.5p2 -> Baron SameditBinari SUID personalizzati
A volte gli sviluppatori distribuiscono helper SUID personalizzati che chiamano altri programmi per nome, senza un percorso assoluto. Se controlla PATH, può dirottare quella chiamata — collegandosi alle tecniche di abuso di PATH trattate in seguito.
Hardening ed etica
Chi difende i sistemi dovrebbe ridurre al minimo i binari SUID, usare percorsi assoluti, rilasciare presto i privilegi e mantenere sudo aggiornato con regole restrittive. In qualità di tester, sfrutti queste condizioni solo nell'ambito autorizzato.
Verifica rapida
Verifichi le sue conoscenze su SUID e sudo.
Riepilogo
Ha imparato a sfruttare SUID e sudo:
- SUID esegue un binario come il suo proprietario (spesso root)
- Controlli i binari individuati su GTFOBins
- Evasioni verso una shell tramite SUID/sudo con
find,vim,awk,less - LD_PRELOAD e le CVE di sudo (Baron Samedit) consentono anch'essi di aumentare i privilegi
Prossimo argomento: cron job e abuso di PATH.
Impara Ethical Hacking Academy con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 31
- Lezioni
- 111
Domande Frequenti
La lezione «Abuso di SUID e sudo» è gratuita?
Sì — il testo completo di «Abuso di SUID e sudo» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ethical Hacking Academy, passa a CoddyKit PRO. Il corso Ethical Hacking Academy include 4 lezioni in totale.
Cosa imparerò in «Abuso di SUID e sudo»?
Configurazioni errate Eserciti Ethical Hacking Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Ethical Hacking Academy?
Non è richiesta alcuna esperienza precedente. Ethical Hacking Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Abuso di SUID e sudo»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Ethical Hacking Academy?
Sì. Ogni lezione Ethical Hacking Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Enumerazione
- Abuso di SUID e sudo
- Cron job e PATH
- Exploit del kernel