Come scalare i privilegi Linux e diventare root: guida completa alla Privilege Escalation

SimoneHackerLinuxToolAttacco1 month ago143 Views

Advertisement

Come scalare i privilegi Linux

Nel mondo dell’hacking, ci sono momenti in cui il vero divertimento comincia solo dopo aver messo piede nel sistema. Se pensi che ottenere una shell su una macchina target sia già un traguardo, sappi che per un vero black hat — o un pentester con il giusto spirito underground — quello è solo l’inizio. È lì che entra in gioco la privilege escalation, ovvero l’arte (o meglio, la scienza) di trasformarsi da utente qualunque in root, padrone assoluto del sistema.

In questo approfondimento, esploreremo in modo completo e strutturato il mondo della privilege escalation su sistemi GNU/Linux, partendo da uno scenario tipico e analizzando ogni singolo passaggio, tecnica e vulnerabilità da sfruttare. Il tutto accompagnato da un caso pratico reale: l’escalation sulla macchina Sorcerer. Una lettura imperdibile per chi vuole andare oltre la superficie e capire davvero come funziona il gioco.

Privilege escalation: che cos’è davvero?

In termini tecnici, la privilege escalation avviene quando un utente riesce a ottenere privilegi più elevati rispetto a quelli assegnati inizialmente. L’obiettivo è chiaro: conquistare l’accesso root, ovvero la chiave di tutto.

Esistono due principali tipologie di escalation:

  • Vertical escalation: quando un utente normale acquisisce permessi da amministratore.
  • Horizontal escalation: quando un utente ottiene i privilegi di un altro utente con pari livello, ma magari con più accesso o più dati sensibili.

Nel contesto del nostro articolo, ci concentreremo sulla prima: scalare fino al root.

Scenario iniziale: dentro al sistema, ma senza poteri

Immagina questa scena: sei riuscito a penetrare in un server Linux. Hai una shell attiva, sei dentro, ma… sei un utente “qualsiasi”. Nessun potere reale. Nessuna possibilità di modificare file di sistema, installare software, o interferire coi servizi critici.

È qui che parte la vera sfida: trasformare questo primo accesso in un controllo totale. Ed è qui che si apre la caccia alle vulnerabilità.

Tecniche e percorsi: come si scala davvero?

Vediamo ora, passo dopo passo, quali sono le tecniche più efficaci per muoversi in un sistema e capire dove colpire per salire di livello.

Stabilizzare la shell

Prima di tutto, è fondamentale rendere la tua shell interattiva. Un comando Python risolve il problema:

python3 -c 'import pty; pty.spawn("/bin/bash")'

Questo ti darà un ambiente simile a quello di una console vera, permettendoti di usare comandi come su, sudo, clear o ctrl + c con maggiore naturalezza.

viene utilizzato spesso nel mondo dell’ethical hacking e nei Capture The Flag per migliorare l’esperienza di una shell remota ottenuta in modo grezzo. Quando si riesce ad accedere a un sistema Linux tramite una reverse shell, molto spesso quella che si ottiene è una shell estremamente limitata: non supporta comandi interattivi, non riconosce la pressione dei tasti come il tab per l’autocompletamento, e non consente di usare correttamente strumenti come nano, vi o sudo, perché manca un vero terminale a cui appoggiarsi.

Con questo comando, si chiede a Python di importare il modulo pty, che serve per creare pseudoterminali, ovvero simulazioni di terminali reali. Successivamente, con la funzione spawn(“/bin/bash”), si dice al sistema di eseguire una nuova bash – quindi una nuova shell – all’interno di un terminale simulato. Questo trucchetto, che richiede solo che Python3 sia installato sulla macchina target (cosa abbastanza comune), permette di trasformare una shell minimale in qualcosa di molto più usabile.

Non si tratta di un’escalation di privilegi vera e propria, ma è un passaggio fondamentale dopo aver ottenuto l’accesso iniziale, perché permette all’attaccante di interagire meglio con il sistema. È un po’ come passare da una telefonata disturbata a una videochiamata nitida: il contenuto è lo stesso, ma l’esperienza e le possibilità migliorano sensibilmente.

Identificare il proprio utente

Capire chi sei è il primo passo:

id

Questo comando ti mostra UID, GID e gruppi a cui appartieni. Se sei in sudo, adm o wheel, potresti già avere accessi interessanti.

Raccogliere info sul sistema

Conoscere la macchina è cruciale:

uname -a

Ti mostra kernel, architettura e versione di distribuzione. Questo può aiutarti a scovare vulnerabilità note, magari già documentate su ExploitDB.

Analizzare gli utenti

I file /etc/passwd e /etc/group ti dicono chi vive nel sistema:

cat /etc/passwd
grep [nomeutente] /etc/group

Cerca account reali, magari con password deboli o già note da altri leak.

Sbirciare le directory giuste

Alcuni percorsi meritano un’occhiata ravvicinata:

ls -al /home/ /var/tmp /dev/shm /opt /srv /var/mail /var/spool/mail

Qui potresti trovare file di configurazione, chiavi SSH, backup o cron job personalizzati. Anche un semplice .bash_history può rivelarti l’oro.

Permessi dei file

File critici con permessi errati sono un invito a nozze:

ls -la /etc/passwd
ls -la /root/

Se puoi scrivere su file come /etc/passwd, puoi aggiungerti un utente root.

Analisi dei processi e connessioni

ps aux | grep root
ss -tlp

Cerca servizi attivi, porte aperte, processi in ascolto. Magari uno di questi gira come root… ed è vulnerabile.

Controlla i cron job

I cron job sono operazioni pianificate su sistemi Unix/Linux che vengono eseguite automaticamente a intervalli regolari. Il sistema cron è un demone che legge una tabella chiamata crontab, dove sono elencati i comandi da eseguire e quando eseguirli, specificando minuti, ore, giorni, mesi e giorni della settimana. Si usano per automatizzare attività ripetitive, come backup, aggiornamenti o script personalizzati.

Una delle tecniche di escalation più sottovalutate. Se trovi script lanciati da cron come root, e hai modo di modificarli, sei a un passo dal controllo completo.

ls -lsaht /etc/cron*
cat /etc/crontab

Verifica se gli script lanciati sono modificabili. Se sì, hai appena trovato un’autostrada verso root.

Local Sudo Rights

Controlla se hai accesso a sudo:

sudo -l

Se puoi eseguire anche un solo comando come root (es. nano, cp, less), puoi facilmente evadere i limiti.

Bit SUID & SGID

I file con bit SUID/SGID possono essere letali:

find / -perm -u=s -type f 2>/dev/null

Controlla l’elenco su GTFOBins per capire se puoi sfruttarli per eseguire comandi come root. Uno su tutti: start-stop-daemon.

Analisi password

Due strade:

  • Password reuse: se hai già una password (magari presa da .bash_history), prova a usarla su altri account.
  • Password guessing: l’intramontabile tentativo utente:utente a volte funziona ancora…

Analisi dei processi con pspy64

Uno strumento fondamentale: pspy64 ti mostra in tempo reale cosa viene eseguito nel sistema.

Magari scopri uno script lanciato come root, che puoi modificare…

scalare i privilegi Linux
CTF example from Hack The Box
fonte: github

Connessioni e tunneling

Scopri porte locali esposte:

ss -tlp

Se scopri un servizio interessante in locale, puoi esportarlo all’esterno con ssh o con un tool come Chisel.

Conclusione: il vero potere è nella conoscenza

Scalare i privilegi su Linux non è solo questione di comandi e tecnicismi. È un gioco mentale, una sfida contro chi ha configurato il sistema prima di te. Serve pazienza, attenzione, logica e una buona dose di paranoia. Ma soprattutto, serve conoscenza.

E ora che hai letto questa guida completa alla privilege escalation, forse ti starai chiedendo: “e adesso?”.

Beh… prova. Monta una macchina vulnerabile, infilati in una shell… e inizia a scalare. Non c’è miglior modo di imparare, che sporcarti le mani.


Se vuoi altre guide tecniche, tutorial avanzati, case study reali o articoli densi di cultura hacker, continua a seguire Hackerlog.net — l’archivio che nessuno nomina. Ma che tutti dovrebbero leggere.

Advertisement

One Comment

(Hide Comments)
  • aaamomo64

    Luglio 29, 2025 / at 1:52 am Rispondi

    This guide mirrors a lot of what I see in CTF challenges—clear structure, smart enumeration steps, and practical tactics like inspecting cron jobs and analyzing user permissions. Super useful to have it all laid out like this in one place.

Leave a reply

Follow
  • X NetworkFollow
  • InstagramFollow
  • GithubFollow

Stay Informed With the Latest & Most Important News

I consent to receive newsletter via email. For further information, please review our Privacy Policy

Advertisement

Loading Next Post...
Follow
Search Trending
Random Posts
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...

Cart
Cart updating

ShopYour cart is currently is empty. You could visit our shop and start shopping.