ARP Cache Poisoning: Adversary-in-the-Middle tramite ARP (T1557.002)

L'ARP Cache Poisoning è una tecnica di attacco a livello di rete locale che consente a un avversario di inserirsi nel flusso di comunicazione tra due o più dispositivi manipolando il protocollo ARP (Address Resolution Protocol). Poiché ARP è un protocollo stateless e privo di autenticazione, qualsiasi dispositivo sulla stessa LAN può inviare risposte ARP — legittime o fraudolente — che i riceventi accetteranno senza verifica, aggiornando la propria cache con associazioni IP-MAC arbitrarie.

La tecnica si colloca in due tattiche distinte della kill chain. In TA0006 – Credential Access l'attaccante sfrutta la posizione di man-in-the-middle per intercettare credenziali trasmesse su protocolli non cifrati come HTTP, FTP, SMTP o LDAP in chiaro. In TA0009 – Collection la stessa posizione privilegiata permette di raccogliere dati sensibili in transito, estendendo il raggio d'azione ben oltre le sole credenziali.

Due gruppi APT documentati impiegano questa tecnica, e sono previste 6 mitigazioni specifiche che spaziano dalla cifratura del traffico alla configurazione di funzionalità di rete come DHCP Snooping e Dynamic ARP Inspection. La detection è coperta su tre piattaforme — Windows, Linux e macOS — con analitiche comportamentali focalizzate su anomalie nelle tabelle ARP e nel traffico gratuitous ARP.


L'ARP cache poisoning è uno degli attacchi più classici da laboratorio, ma replicarlo in modo controllato richiede attenzione alla segmentazione dell'ambiente di test. Lavora sempre su una rete isolata — una VLAN dedicata o un ambiente virtualizzato con bridge interno — per evitare impatti su infrastrutture produttive.

Lo strumento di riferimento è bettercap (open source), un framework offensivo per reti che integra nativamente moduli di ARP spoofing, sniffing e credential harvesting. Una volta installato su una macchina Linux all'interno del segmento di rete target, la catena operativa si articola in pochi passaggi. Per prima cosa si avvia bettercap specificando l'interfaccia di rete:

sudo bettercap -iface eth0

Dal prompt interattivo si attiva il modulo di ARP spoofing indicando il target e il gateway. Ad esempio, per posizionarsi tra l'host 192.168.1.50 e il gateway 192.168.1.1:

set arp.spoof.targets 192.168.1.50

arp.spoof on

A questo punto tutto il traffico tra la vittima e il gateway transita attraverso la macchina dell'attaccante. Per catturare credenziali in chiaro si abilita il modulo sniffer integrato:

set net.sniff.verbose true

net.sniff on

bettercap rileva automaticamente credenziali HTTP, FTP e altri protocolli non cifrati.

Un approccio più granulare prevede l'uso di Scapy (open source), la libreria Python per la manipolazione di pacchetti. Con Scapy puoi costruire pacchetti ARP reply personalizzati, specificando l'indirizzo MAC sorgente dell'attaccante e l'IP del gateway come IP sorgente, così da convincere il target ad aggiornare la propria cache. Questo metodo è particolarmente utile in esercitazioni dove serve dimostrare il meccanismo a basso livello senza dipendere da un framework completo.

Per la fase di intercettazione attiva, una volta ottenuta la posizione MitM, puoi lanciare tcpdump (open source) per catturare il traffico in transito:

sudo tcpdump -i eth0 -w capture.pcap host 192.168.1.50

L'analisi successiva con Wireshark (open source) permette di filtrare i protocolli di interesse e identificare credenziali trasmesse in chiaro.

Se vuoi verificare l'effetto del poisoning dal lato vittima, su Windows esegui:

arp -a

Questo mostra la cache ARP corrente: un indirizzo MAC duplicato associato a IP diversi (gateway e attaccante) è la conferma che il poisoning ha funzionato. Su Linux il comando equivalente è ip neigh show.

Una nota operativa importante: abilita l'IP forwarding sulla macchina attaccante per non interrompere il traffico della vittima, altrimenti l'attacco risulterà in un denial-of-service anziché in un'intercettazione trasparente. Su Linux:

sudo sysctl -w net.ipv4.ip_forward=1


Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo

We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.