In un ambiente di rete commutato, i pacchetti vengono inviati alla porta di destinazione tramite l’indirizzo MAC. Questo processo richiede che i sistemi sulla rete mantengano una tabella che associa gli indirizzi MAC alle porte. In un ambiente commutato, i pacchetti vengono inviati solo ai dispositivi per cui sono destinati. Anche in questo ambiente commutato, ci sono modi per annusare i pacchetti di altri dispositivi. Uno di questi modi è quello di falsificare il tuo indirizzo MAC e avvelenare la tabella arp. Poiché arp non conserva informazioni sullo stato, la cache arp può essere sovrascritta (a meno che una voce non sia esplicitamente contrassegnata come permanente).
Arp cache poisoning mette l’attaccante in grado di intercettare le comunicazioni tra i due computer. Il computer A crede di comunicare con il Computer B, ma a causa della tabella arp avvelenata, la comunicazione va effettivamente al computer dell’attaccante. L’utente malintenzionato può quindi rispondere al Computer A (fingendo di essere Computer B), o semplicemente inoltrare i pacchetti alla destinazione prevista, ma solo dopo che le informazioni sul pacchetto sono state acquisite e registrate per un uso successivo da parte dell’utente malintenzionato. Allo stesso modo, la risposta dal Computer B può essere catturata e registrata dall’attaccante, che ha anche usato l’avvelenamento da Arp per far credere al Computer B che il computer dell’attaccante sia Computer A. Questo tipo di attacco è noto come attacco Man in the Middle.
Questo articolo copre una serie di strumenti utilizzati negli attacchi arp cache poisoning, tra cui ettercap, arpspoof, nemesis, p0f, dsniff e scapy.
Esecuzione di Ettercap
Affinché l’avvelenamento della cache arp avvenga, l’utente malintenzionato deve trovarsi nello stesso segmento di rete dei sistemi sotto attacco. Il primo passo è ottenere un elenco di indirizzi IP e dei loro indirizzi MAC associati. Diversi strumenti ti aiuteranno a ottenere queste informazioni; un esempio è uno strumento chiamato ettercap (http://ettercap.sourceforge.net/). Ettercap è una suite per gli attacchi man in the middle su una LAN locale. È dotato di sniffing di connessioni live, filtraggio dei contenuti al volo, e altro ancora. Ettercap supporta la dissezione attiva e passiva di molti protocolli alcuni dei diversi protocolli. Il seguente comando:
# ettercap -T -M arp:remote //
annuserà rapidamente tutti gli host all’interno della tua sottorete; per visualizzare i risultati, digita L o premi h per il menu Aiuto e vedrai un elenco di comandi.
Arp Cache DOS
Per avvelenare arp un dato indirizzo IP e battere il sistema offline in modo che non possa comunicare con nessuno, utilizzare arpspoof dalla suite dsniff (http://monkey.org/~dugsong/dsniff/), una raccolta gratuita di strumenti per il controllo di rete e test di penetrazione. La suite dsniff include strumenti come dsniff, filesnarf, mailsnarf, nsgsnarf, urlsnard e webspy, che monitorano passivamente una rete alla ricerca di dati interessanti. (Gli strumenti Arpspoof, dnsspoof e macof facilitano l’intercettazione del traffico di rete normalmente non disponibile per un utente malintenzionato a causa della commutazione layer-2.)
Arpspoof (http://arpspoof.sourceforge.net/) è molto più semplice di ettercap per il reindirizzamento dei pacchetti:
# arpspoof-i eth0-t< target >host
Specificare l’interfaccia è opzionale ma richiesto se è presente più di un’interfaccia. L’opzione-t specifica il particolare host di arp poison; se l’host non è specificato, tutti gli host sulla LAN saranno avvelenati. L’host può essere il gateway predefinito e ciò impedirà alla destinazione di comunicare oltre il segmento locale. Arpspoof reindirizza i pacchetti da un host di destinazione o tutti gli host sulla LAN forgiando risposte ARP. La bellezza di questo programma deriva dalla funzione arp_send (), che utilizza anche libnet per spoofare i pacchetti. arp_send () invia un pacchetto arp con IP di origine/destinazione e indirizzi hardware Ethernet forniti dall’utente. Libnet è un’API di rete generica che fornisce l’accesso a diversi protocolli.
Per comprendere meglio il processo di avvelenamento della cache arp, prendere in considerazione uno strumento alternativo chiamato Nemesis. Se hai l’IP e il MAC del bersaglio e dell’host previsti, puoi usare Nemesis per avvelenare il bersaglio. Nemesis (http://nemesis.sourceforge.net/) è un’utilità di creazione e iniezione di pacchetti di rete a riga di comando. Nemesis può creare e iniettare pacchetti ARP, DNS, ETHERNET, ICMP, IGMP, IP, OSPF, RIP, TCP e UDP. Creando il tuo pacchetto usando Nemesis, puoi vedere come funziona l’avvelenamento della cache arp:
$ sudo nemesis arp -v -r -d eth0 -S 192.168.1.2 \-D 192.168.1.133 -h 00:22:6E:71:04:BB -m 00:0C:29:B2:78:9E \-H 00:22:6E:71:04:BB -M 00:0C:29:B2:78:9E
Quindi si crea un pacchetto da inviare nella direzione opposta:
$ sudo nemesis arp -v -r -d eth0 -S 192.168.1.133 \-D 192.168.1.2 -h 00:22:6E:71:04:BB -m 00:22:6B:7E:AD:7C \-H 00:22:6E:71:04:BB -M 00:22:6B:7E:AD:7C
Questi due comandi spoof ARP risposte da 192.168.1.2 a 192.168.1.133 poi da 192.168.1.33 a 192.168.1.2. L’opzione arp Nemesis-S specifica l’indirizzo IP di origine, -D specifica l’indirizzo IP di destinazione, -h specifica l’indirizzo MAC del mittente, -m mostra l’indirizzo MAC di destinazione, -H l’indirizzo MAC di origine e-M l’indirizzo MAC di destinazione. Questi due comandi inviano risposte ARP fasulle per mantenere le cache ARP avvelenate e il traffico reindirizzato.
Per assicurarsi che la cache rimanga avvelenata, ripetere i comandi ogni 10 secondi con un ciclo.
$ while true>do> sudo nemesis arp -v -r -d eth0 -S 192.168.1.2 \-D 192.168.1.133 -h 00:22:6E:71:04:BB -m 00:0C:29:B2:78:9E \-H 00:22:6E:71:04:BB -M 00:0C:29:B2:78:9E> sudo nemesis arp -v -r -d eth0 -S 192.168.1.133 \ -D 192.168.1.2 -h 00:22:6E:71:04:BB -m 00:22:6B:7E:AD:7C \-H 00:22:6E:71:04:BB -M 00:22:6B:7E:AD:7C> echo "Redirecting"> sleep 10> done
Una volta fatto questo, la casella di destinazione sarà off line e in grado di comunicare con il resto della rete. Ho fatto un video sul mio sito che dimostra questo attacco ed è disponibile a http://pbnetworks.net.
Sniffing della LAN
Un obiettivo di arp cache poisoning è quello di mettere l’attaccante in grado di catturare e registrare le informazioni di rete. Gli intrusi hanno diversi strumenti per l’ascolto sulla LAN e la registrazione dei dati per un’analisi successiva.
La modalità bridge di Ettercap consente di intercettare i pacchetti che è possibile leggere, annusare o modificare prima di inviarli alla vittima. La modalità Bridge richiede due interfacce posizionate nel segmento di rete. Se si imposta in linea con la modalità bridge di rete, è molto difficile da rilevare.
# ettercap -Tq -i eth0 -B eth1
Il-i imposta l’interfaccia primaria come eth0, il-B imposta la seconda interfaccia di bridging. Se si esegue ettercap nell’interfaccia utente GTK+, selezionare Sniff / Sniffing a ponte.