Tutorials

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

#exploitation#post-exploitation#linux#privesc

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

bash
git clone https://github.com/sleventyeleven/linuxprivchecker.git
cd linuxprivchecker

Esecuzione

bash
python linuxprivchecker.py

Nota: 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/shadow e /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:

bash
-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.