Comandi & Moduli
1. Avvio di una shell: - /bin/bash -i: Questo comando avvia una shell interattiva bash. Può essere utile per eseguire comandi e ottenere il controllo del sistema.
Comandi Utili per il Post Exploitation su Linux
1. Avvio di una shell:
- /bin/bash -i: Questo comando avvia una shell interattiva bash. Può essere utile per eseguire comandi e ottenere il controllo del sistema.
2. Visualizzazione degli utenti:
- cat /etc/passwd: Mostra gli utenti presenti sul sistema, insieme alle loro informazioni come la home directory. Gli utenti di servizio di solito non hanno una home directory impostata.
- cat /etc/passwd | grep -e "home": Questo comando filtra gli utenti che hanno una home directory definita, aiutando a identificare gli utenti reali.
3. Verifica dei gruppi di appartenenza:
- groups nome_utente: Permette di vedere a quali gruppi appartiene un determinato utente. Utile per capire quali privilegi un utente potrebbe avere.
4. Verifica del sistema operativo:
- cat /etc/issue: Mostra informazioni sul sistema operativo in uso.
- uname -r o uname -a: Mostra la versione del kernel, utile per valutare vulnerabilità specifiche legate alla versione del kernel.
5. Controllo delle interfacce di rete:
- ip a s o ifconfig: Mostrano le interfacce di rete e i loro indirizzi IP. Utile per l'analisi della rete locale.
6. Controllo delle porte aperte:
- netstat -antp: Visualizza le porte di rete aperte, utile per identificare i servizi in esecuzione.
7. Visualizzazione dei processi in esecuzione:
- ps aux: Mostra tutti i processi in esecuzione sul sistema, utile per identificare processi sospetti.
8. Visualizzazione delle variabili d'ambiente:
- env: Mostra tutte le variabili d'ambiente settate. Questo può fornire indizi su configurazioni del sistema e variabili che potrebbero essere sfruttate.
Moduli di Msfconsole per il Post Exploitation su Linux
1. Enumerazione dei file di configurazione:
- post/linux/gather/enum_configs: Questo modulo permette di enumerare i file di configurazione presenti sul sistema. Può essere utile per raccogliere informazioni su configurazioni sensibili.
2. Versione del kernel:
- post/multi/gather/env: Raccolta delle variabili d'ambiente, che include la versione del kernel.
3. Enumerazione delle connessioni di rete:
- post/linux/gather/enum_network: Questo modulo enumera tutte le connessioni di rete attive sul sistema, utili per analizzare la comunicazione in corso.
4. Protezioni del sistema:
- post/linux/gather/enum_protections: Questo modulo esegue una scansione delle protezioni implementate sul sistema, come SELinux, AppArmor, e altre tecniche di hardening.
5. Enumerazione del sistema:
- post/linux/gather/enum_system: Esamina pacchetti, servizi, utenti, cron jobs, e altre configurazioni del sistema. Utile per raccogliere informazioni dettagliate sul sistema compromesso.
6. Verifica se il sistema è un container Docker:
- post/linux/gather/checkcontainer: Questo modulo verifica se la macchina Linux è un container Docker, il che potrebbe comportare limitazioni in caso di attacco o esecuzione di comandi.
7. Verifica se il sistema è una macchina virtuale:
- post/linux/gather/checkvm: Verifica se il sistema è in esecuzione su una macchina virtuale, una condizione che potrebbe suggerire l'uso di tecniche specifiche per l'evasion.
8. Storia degli utenti:
- post/linux/gather/enum_users_history: Enumera i file di cronologia (history) di tutti gli utenti. Questo può rivelare comandi precedentemente eseguiti, che potrebbero fornire indizi su attività sospette o strumenti usati.
Tecniche Aggiuntive per il Post Exploitation su Linux
Oltre ai comandi e moduli sopra menzionati, ci sono altre tecniche che possono rivelarsi utili durante un'attività di post exploitation su Linux:
1. Escalation dei privilegi:
- Dopo aver ottenuto una shell di base, può essere utile tentare l'escalation dei privilegi. Alcuni strumenti come linPEAS o Linux Exploit Suggester possono automatizzare questo processo, cercando vulnerabilità nel sistema che potrebbero permettere di ottenere i privilegi di root.
2. Abilitare un account backdoor:
- Creare un nuovo utente con privilegi elevati o modificare un utente esistente per consentire l'accesso futuro.
bash
CopiaModifica
useradd -m hacker echo "hacker:password" | chpasswd usermod -aG sudo hacker
3. Abilitazione di un servizio persistente:
- Modificare o aggiungere cron job che eseguono uno script di backdoor a intervalli regolari.
- Utilizzare tecniche di persistenza come la modifica di rc.local o l'aggiunta di uno script di avvio personalizzato in /etc/init.d/.
4. Dump delle password degli utenti:
- Utilizzare john o hashcat per effettuare il cracking degli hash delle password contenuti nel file /etc/shadow per raccogliere credenziali valide.
5. Raccolta di credenziali memorizzate:
- Utilizzare il comando grep per cercare file con credenziali o informazioni sensibili.
bash
CopiaModifica
grep -i 'password' /etc/
6. Attacchi alla rete interna:
- Se la macchina compromessa è parte di una rete interna, potresti voler esplorare la rete e attaccare altre macchine. Comandi come nmap o netdiscover possono aiutarti a mappare la rete.
7. Creazione di tunnel per il traffico di rete:
- Utilizzare tecniche di tunneling, come ssh o netcat, per eseguire il port forwarding e bypassare eventuali firewall.