Attacco Simple Man in the Middle MitM (ARP Spoofing)

Che cos'è lo spoofing ARP?La tecnica ARP Spoofing Fondamentalmente consiste nello sfruttare una vulnerabilità di progettazione nel protocollo ARP e nell'implementazione della cache ARP negli host.

A livello di rete (ISO/OSI) i sistemi di origine e di destinazione sono ben definiti dai loro indirizzi IP, ma a livello di collegamento è necessario determinare gli indirizzi MAC di ciascun host.

ARP (RFC 826) è un protocollo di traduzione degli indirizzi tra due diversi schemi di indirizzamento, come nel caso del protocollo IP e del protocollo MAC. Fondamentalmente la sua funzione in una rete Ethernet è determinare l'indirizzo MAC di una stazione dato il suo indirizzo IP. La traduzione avviene attraverso uno scambio di messaggi di interrogazione e risposte ARP.

Il meccanismo di base funziona inviando un messaggio di 28 byte all'indirizzo broadcast e solo l'host corretto risponde direttamente al mittente della query.

Affinché la query ARP raggiunga tutti i dispositivi, viene specificato l'indirizzo MAC di destinazione FF: FF: FF: FF: FF: FF (A.K.A. Broadcast MAC address). Quando uno Switch riceve un frame destinato a FF: FF: FF: FF: FF: FF, procede a inoltrare tale frame attraverso tutte le altre porte (l'intenzione è che tutti gli host "ascoltino" la domanda).

INGRANDIRE

La risposta ottenuta viene utilizzata per determinare l'indirizzo MAC di destinazione e quindi la trasmissione può iniziare.

INGRANDIRE

La relazione IP-MAC ottenuta verrà temporaneamente archiviata in una tabella di voci ARP (ARP cache) in modo tale che se Bob tenterà di inviare nuovamente i dati ad Alice in futuro, non dovrà far altro che consultare la tabella della cache ARP per determinare il MAC di Alice. Non c'è bisogno di "chiedere di nuovo".

A seconda dell'implementazione del sistema operativo, queste voci della cache ARP possono essere aggiornate in base al loro ultimo utilizzo, l'ultima volta che l'indirizzo MAC è stato "osservato" e così via. Possono anche essere impostati staticamente, mediante configurazione manuale.

In tutti i casi, il protocollo ARP non convalida i dati ottenuti nella risposta ARP, ovvero se Bob riceve una risposta ARP che indica che un determinato MAC è legato all'IP di Alice, Bob accetterà l'informazione "senza esitazione". È consentito inviare risposte ARP senza una domanda precedente e sono chiamati messaggi "ARP gratuiti". Questi messaggi verranno utilizzati dai sistemi che li ricevono per aggiornare le informazioni nella tabella della cache ARP.

Un utente malintenzionato può inviare deliberatamente risposte ARP senza una domanda precedente ("arp gratuito"), affermando che il proprio MAC corrisponde all'IP di Alice e Bob accetterà queste risposte come "informazioni dell'ultimo minuto" e procederà all'aggiornamento della voce nell'ARP tabella cache per l'IP di Alice con il MAC dell'attaccante.

La tecnica di ARP Spoofing consiste nell'invio di informazioni errate riguardanti la traduzione MAC-IP; Quando Bob utilizza queste informazioni false per aggiornare la sua cache ARP, si verifica una situazione di avvelenamento da ARP (ARP Poisoning).

Questa situazione farà sì che i frame che Bob invia all'IP di Alice, vengano consegnati dallo Switch alla porta dell'attaccante (ricorda che lo Switch guarda i MAC).

Ora, se l'attaccante applica la stessa tecnica ad Alice, convincendo Alice che l'indirizzo MAC dell'aggressore corrisponda all'indirizzo IP di Bob, allora l'attaccante ha convinto Bob di essere Alice e Alice di essere Bob, ottenendo una situazione intermedia (Man in the Mezzo).

Sarà responsabilità dell'attaccante inoltrare i frame a ciascun sistema per mantenere attivo il traffico ed evitare problemi di comunicazione nel livello superiore. Inoltre, l'attaccante può ispezionare il traffico, ottenere dati sensibili, manipolare informazioni, ecc.

Sistemi coinvolti

Sistemi di utilizzo per i testBob AA: BB: CC: 11: 22: 33 (192.168.0.1/24)
Alice AA: BB: CC: 22: 33: 44 (192.168.0.2/24)
Attaccante AA: BB: CC: 88: 88: 88 (192.168.0.3/24)

Per il sistema d'attacco verrà utilizzato GNU / Linux Ubuntu e per le vittime userò Windows XP SP3 ma il sistema operativo della vittima non ha molta importanza. Innanzitutto, per testare l'ARP Poisoning deve essere utilizzato uno strumento che consenta l'invio di messaggi di ARP Spoofing alle vittime. Per questo tutorial userò "dsniff", che è fondamentalmente un toolkit per lo sniffing delle password.

Tra gli strumenti inclusi nel pacchetto dsniff, si trova"arpspoof”, Che fondamentalmente esegue ARP Spoofing sulla vittima designata.

a installa dsniff digita un terminale:

 $ sudo apt-get install dsniff 
Con quello lo installi.

Analisi pre-attacco


All'istante iniziale, Bob ha una voce nella sua cache ARP che indica che l'indirizzo IP di Alice corrisponde al MAC AA: BB: CC: 22: 33: 44.

Per visualizzare la tabella della cache ARP, vai a:

  • Cominciare
  • Correre
  • cmd

Nel terminale di Windows scrivi:

 Tenda grande 
Otterrai il contenuto corrente della tabella della cache ARP di Bob:

Allo stesso modo sul PC di Alice:

attacco


In prima istanza, il bit di inoltro nel sistema attaccante:
 # echo 1> / proc / sys / net / ipv4 / ip_forward 
In questo modo si evita la perdita di pacchetti, Bob e Alice potranno interagire come se nulla fosse.

Il comando arpspoof viene utilizzato come segue:

 # arpspoof -i INTERFAZ_LAN -t IP_VICTIMA_POISONING IP_VICTIMA_SPOOFED 
Da dove:

INTERFAZ_LANScheda di rete che utilizzeremo per l'attacco, l'indirizzo MAC di quell'interfaccia verrà preso per i messaggi di ARP Spoofing.

IP_VICTIMA_POISONINGÈ l'indirizzo IP della vittima la cui tabella della cache ARP viene avvelenata.

IP_VICTIMA_SPOOFEDÈ l'indirizzo IP che indica la voce nella tabella della cache ARP della vittima a cui sarà associato il MAC dell'attaccante.

Per convincere Alice che Bob ha il MAC AA: BB: CC: 88: 88: 88, nel terminale di sistema dell'attaccante eseguire arpspoof come segue:

 # arpspoof -i eth0 -t 192.168.0.2 192.168.0.1
I messaggi di risposta ARP verranno inviati ad Alice con informazioni manipolate:

Avvia UN ALTRO terminale (il precedente non deve essere interrotto) ed esegui l'attacco nella direzione opposta, per convincere Bob che Alice ha il MAC AA: BB: CC: 88: 88: 88, nel terminale di sistema dell'attaccante esegui arpspoof come segue :

 # arpspoof -i eth0 -t 192.168.0.1 192.168.0.2 
I messaggi di risposta ARP verranno inviati a Bob con informazioni manipolate:

Da questo momento in poi, l'Attaccante mantiene lo status di intermediario (MitM) inviando messaggi ARP manipolati:

INGRANDIRE

Ripetendo i primi passaggi, è possibile verificare come le voci della cache ARP di Bob e Alice sono state aggiornate con il MAC dell'attaccante:

La cache ARP di Bob:

Cache ARP di Alice:

I frame che Bob invia ad Alice vengono consegnati all'attaccante e l'attaccante li inoltra ad Alice. Allo stesso modo, i frame inviati da Alice vengono consegnati all'attaccante e lui li inoltra a Bob.

INGRANDIRE

L'aggressore potrebbe catturare traffico con la sua scheda di rete in modalità promiscua e ottenere ad esempio credenziali di accesso a un portale web che non utilizza SSL.

Ad esempio, nella seguente acquisizione del traffico, un utente malintenzionato ha ottenuto le credenziali di accesso a un portale PHPMyAdmin: (Utente “root”, password “ad00”)

INGRANDIRE

Infine, per chiudere l'attacco senza interrompere le comunicazioni, l'aggressore ferma il terminale "arpspoof" premendo i tasti:

Ctrl + C

E lo strumento invierà automaticamente query ARP a ciascuna vittima in modo che le informazioni sulla cache ARP vengano aggiornate con i dati corretti.

A questo punto, l'attaccante rilascia le comunicazioni e può disconnettersi dalla rete per analizzare il traffico già ottenuto.

Alcuni sistemi antivirus monitorano le modifiche delle voci nella tabella della cache ARP, anche per GNU/Linux esiste uno strumento chiamato “ARPWatch”Questo avvisa di un cambiamento nella relazione ARP-IP nelle tabelle della cache ARP del sistema.

In un altro articolo, possibili tecniche per prevenire Attacchi MitM basati su ARP Spoofing e ARP Poisoning.

Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave