Attacco man-in-the-middle con Cain

di: Danilo De Rogatis     18 Gennaio 2011

L'attacco "man-in-the-middle" (a volte riportato anche come "Monkey-in-the-middle"), d'ora in poi MiTM, è quella tecnica che ci consente di "avvelenare" la ARP cache degli host presenti sul nostro segmento di LAN, meccanismo noto come "ARP Spoofing/ARP Poisoning". ARP sta per Address Resolution Protocol ed è il protocollo dello stack TCP/IP che permette di tradurre gli indirizzi IP (di livello 3 nella pila ISO/OSI) nei corrispondenti MAC address (indirizzi di livello 2).

Essenzialmente ARP lavora in questo modo: quando un host della LAN ha bisogno di contattarne un altro, deve conoscerne il MAC Address, cioè l'indirizzo (univoco) della scheda di rete. Per cui, la prima cosa che fa è quella di andare a dare un'occhiata nella propria ARP cache per vedere se già contiene quel MAC address. Se così non è, ARP lancia una richiesta broadcast (una ARP request, per l'appunto) a tutte le macchine della LAN. Se tra gli host in ascolto ce n'è uno che ha quell'IP, esso risponderà con una ARP reply contenente il proprio MAC address, fornendo quindi la traduzione dell'IP richiesto nel MAC address corrispondente, il che consente ai due host di comunicare. Dopo questo dialogo iniziale, l'host "richiedente" aggiunge una nuova entry nella propria ARP cache contenente l'IP richiesto e il corrispondente MAC Address. Per verificarlo basta lanciare il comando arp -a da riga di comando (valido sia in Windows che in Linux) come mostrato in Fig. 1.

Fig. 1 – ARP cache
(clic per ingrandire)

ARP cache

Come dicevamo, però, la ARP cache si può "avvelenare" facendo credere alle altre macchine del nostro segmento di rete LAN che è il nostro host ad avere l'IP che stanno cercando, eseguendo quindi un "ARP Poisoning". La mostra una esemplificazione del meccanismo di ARP Poisoning.

Figura 2. ARP poisoning

ARP poisoning
L'effetto pratico dell'avvelenamento della cache è che da questo istante in poi, ogni comunicazione tra i due host passerà per l'host "attacker" e quindi:
  • possiamo sniffare tutto il traffico di rete tra le due macchine (utilizzando packet sniffers come Ethereal, TCP Dump, Ngrep o quello che volete);
  • Possiamo "avvelenare" la cache di una qualsiasi macchina della LAN e del gateway, in modo da intercettare tutto il traffico da/verso Internet di quell'host.

Ci sono molti software in giro che ci consentono di realizzare un arp spoofing/arp poisoning, in questo articolo ci concentreremo sul software Cain, disponibile per Windows.

Guide Sicurezza

Guida SQL Injection con Sqlmap

Scopriamo se le nostre applicazioni web sono vulnerabili alle SQL...

Guida sicurezza applicazioni Web

Le tecniche di attacco più comuni, i metodi per verificare la...

Guida Sicurezza wireless

Quali sono i pericoli di sicurezza di una rete senza filo e quali...

Altre guide

Newsletter @Sicurezza

Ogni lunedì, direttamente nella tua e-mail: approfondimenti e bollettini su virus, vulnerabilità e sicurezza informatica.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto