Tutorials

LinEnum - Guida Completa

LinEnum è uno script bash utile durante la fase di post-exploitation su sistemi Linux. Il suo obiettivo è automatizzare la raccolta di informazioni che potrebbero aiutare nell'escalation dei privilegi

#exploitation#post-exploitation#linux#privesc

LinEnum - Guida Completa

Introduzione

LinEnum è uno script bash utile durante la fase di _post-exploitation_ su sistemi Linux. Il suo obiettivo è automatizzare la raccolta di informazioni che potrebbero aiutare nell'escalation dei privilegi.

È uno strumento ampiamente utilizzato da pentester e red teamer per ottenere una panoramica veloce e approfondita del sistema compromesso.


Obiettivi di LinEnum

  • Identificare configurazioni deboli.
  • Cercare file e directory con permessi errati.
  • Analizzare binari SUID/SGID.
  • Individuare servizi in esecuzione.
  • Verificare vulnerabilità note e possibili exploit.

Download e utilizzo

Clonazione del repository

bash
git clone https://github.com/rebootuser/LinEnum.git
cd LinEnum
chmod +x LinEnum.sh

Esecuzione

bash
./LinEnum.sh -t -r report.txt

Opzioni principali:

  • -t : attiva il controllo "thorough" (approfondito).
  • -r : salva l'output su file.
  • -e : esegue comandi customizzati definiti in un file.
  • -k : cerca specifiche parole chiave nell'output.

Categorie di informazioni raccolte

1. Informazioni generali di sistema

  • Versione del kernel
  • Uptime
  • Informazioni sull’utente corrente
  • Cron jobs

2. Informazioni sull’utente

  • Gruppi a cui appartiene
  • ID utente (UID)
  • Altri utenti sul sistema (/etc/passwd, /etc/shadow se accessibile)
  • SSH keys

3. File con permessi pericolosi

  • File world-writable
  • File con flag SUID/SGID
  • Script con permessi di esecuzione per tutti

4. Servizi e processi

  • Servizi in esecuzione
  • Porte aperte (netstat, ss)
  • Processi in esecuzione come root

5. Software e pacchetti

  • Pacchetti installati
  • Versioni dei software
  • Potenziali versioni vulnerabili

6. Crontab e timer

  • Task pianificati per root e utenti
  • Script in /etc/cron*
  • Permessi su questi file

7. Accesso e autenticazione

  • SSH key
  • File .bash_history, .ssh/authorized_keys
  • File .netrc, .plan, .rhosts

8. Configurazioni di rete

  • Interfacce attive
  • Configurazioni IP
  • DNS

9. Possibili vettori di escalation

  • NFS mount con root_squash disabilitato
  • Docker / LXC mal configurati
  • Script di backup
  • Servizi con configurazioni deboli

Esempio di escalation identificata da LinEnum

Supponiamo che LinEnum segnali un file con SUID:

bash
-rwsr-xr-x 1 root root 12345 Mar 10 10:00 /usr/bin/vuln_app

Se vuln_app è vulnerabile (es. buffer overflow, path injection), è possibile sfruttarlo per ottenere una shell root.


Consigli d'uso

  • Usalo subito dopo l'accesso iniziale alla macchina compromessa.
  • Abbina LinEnum ad altri strumenti come LinPEAS per un’analisi comparativa.
  • Esegui LinEnum come utente non privilegiato per vedere cosa è accessibile da un contesto ristretto.

Conclusioni

LinEnum è uno strumento fondamentale per velocizzare e rendere efficace la fase di privilege escalation su Linux. Sebbene non offra exploit diretti, fornisce indizi preziosi da investigare manualmente o con altri tool.

Utilizzalo come parte di una metodologia ben strutturata nella post-exploitation.