LinuxPrivChecker - Guida Completa
LinuxPrivChecker.py è uno script scritto in Python, progettato per automatizzare il processo di verifica di configurazioni deboli e potenziali vettori di privilege escalation su sistemi Linux. È parti
LinuxPrivChecker - Guida Completa
Introduzione
LinuxPrivChecker.py è uno script scritto in Python, progettato per automatizzare il processo di verifica di configurazioni deboli e potenziali vettori di privilege escalation su sistemi Linux. È particolarmente utile nella fase di post-exploitation durante un penetration test.
Creato come alternativa leggera a strumenti più complessi come LinEnum o LinPEAS, è uno strumento essenziale per identificare rapidamente i punti deboli sfruttabili.
Download e utilizzo
Clonazione del repository
git clone https://github.com/sleventyeleven/linuxprivchecker.git
cd linuxprivcheckerEsecuzione
python linuxprivchecker.pyNota: Lo script può essere eseguito con Python 2.x, ma si consiglia di verificarne la compatibilità con Python 3, eventualmente correggendo manualmente eventuali incompatibilità.
Output e Struttura
Lo script produce un output testuale nel terminale, suddiviso in sezioni che evidenziano potenziali vettori di privilege escalation.
Funzionalità Principali
1. Informazioni sull'ambiente
- Distribuzione e versione del kernel
- Utente corrente, UID, gruppi
- Cronologia dei comandi
2. Permessi e configurazioni deboli
- File con permessi SUID/SGID
- File con permessi world-writable
- File
/etc/passwd,/etc/shadowe/etc/sudoers
- Verifica della possibilità di scrittura in directory sensibili come
/etc/init.d/,/etc/cron.
3. Configurazione sudo
- Elenco dei comandi che l'utente può eseguire come root (
sudo -l)
- Comandi sudo che non richiedono password
4. Cron Jobs
- Contenuto di
/etc/crontab,/etc/cron.,/var/spool/cron/
- Script richiamati dai cron job accessibili/modificabili dall’utente corrente
5. Binari custom e script
- Elenco di binari e script in directory non standard
- Verifica dei permessi di modifica
- Ricerca di script potenzialmente vulnerabili a path injection o command injection
6. Servizi e processi
- Processi in esecuzione come root
- Servizi custom o configurati in modo errato
- Socket aperti e porte in ascolto
7. Credenziali e file sensibili
- Ricerca di file
.bash_history,.ssh/*,.netrc,.mysql_history
- Ricerca di stringhe sospette (password, chiavi API) in file world-readable
Esempio di escalation identificabile
Se viene identificato uno script in /etc/cron.daily/ con permessi di scrittura per l’utente non privilegiato:
-rwxrwxr-x 1 user user 123 Mar 10 12:00 /etc/cron.daily/backup.shÈ possibile modificarlo per eseguire un payload malevolo come root durante la successiva esecuzione pianificata.
Vantaggi rispetto ad altri strumenti
- Leggerezza e velocità di esecuzione
- Output leggibile e strutturato
- Facilmente modificabile per test custom
Limitazioni
- Non è esaustivo quanto LinPEAS o LinEnum
- Alcune vulnerabilità possono non essere rilevate
- Richiede Python installato sulla macchina target
Conclusioni
LinuxPrivChecker è uno strumento compatto ma potente, ideale da eseguire in fase iniziale di post-exploitation su un target Linux. Pur non essendo completo come altri strumenti, la sua semplicità e leggerezza lo rendono un’ottima risorsa per individuare rapidamente potenziali vettori di escalation.
Da utilizzare in sinergia con altri strumenti per massimizzare le possibilità di successo.