DOMAIN SPOOFING

In termini generali, con l’espressione domain spoofing ci si riferisce all’azione di creare un sito web contraffatto a partire da un dominio originale (e dunque legittimo) con l’intento di ingannare il visitatore e potenzialmente intercettarne informazioni sensibili inserite nei campi dell’applicazione web. Normalmente il sito ricreato presenta stessa grafica e nome dominio molto simile al sito web di partenza.

La questione del domain spoofing è particolarmente sentita nell’industria dell’advertisement: un marketer paga per un’ad da collocare all’interno del sito di una determinata società e, nel caso di campagne in programmatic e dunque automatizzate, riceve conferma dell’avvenuta transazione. A seguito di tale conferma, nessun dubbio sorge in capo all’inserzionista circa la genuinità della procedura; in realtà lo spazio pubblicitario viene dirottato su un altro dominio – generalmente di proprietà sconosciuta – che si spaccia per l’originale. Tra le vittime illustri di questa pratica troviamo anche il Financial Times, che nel 2017 ha stimato l’ammontare della frode in atto in 1.3 milioni di dollari/mese.

Tutto ciò danneggia sia gli advertiser, il cui budget investito per la campagna viene sperperato per un sito dagli scarsi contenuti, sia l’organizzazione che concede lo spazio pubblicitario, che viene privata di ingenti entrate derivanti da tale campagna.

Sempre in riferimento al domain spoofing, vi sono poi applicazioni del fenomeno più mirate che prevedono invece la creazione di una shadow copy del sito web oggetto di spoofing, al fine di dirottare tutto il traffico dell’utente/vittima attraverso la macchina attaccante. Nel prosieguo dell’articolo, vedremo come realizzare questo tipo di scenario e indurre l’utente a inserire le proprie credenziali in una web application furbescamente spoofata.

Avviamo la nostra distribuzione dedicata alla sicurezza e creiamo un file di testo denominato hosts.txt con il comando:

touch hosts.txt

Con un editor di testo, inseriamo come parametri l’indirizzo della macchina attaccante e il dominio che si desidera mostrare nella barra del browser della vittima al momento in cui aprirà l’URL responsabile di innescare lo spoofing. Dal momento che l’intento è raggirare l’utente che naviga, è facile intuire come un semplice dettaglio come quello accennato poc’anzi possa risultare determinante per la buona riuscita dell’attacco.

Abilitiamo il kernel del nostro sistema operativo all’IP forwarding, di modo da inoltrare il traffico di rete verso un destinatario prefissato (diventando una sorta di router, insomma):

echo 1 > /proc/sys/net/ipv4/ip_forward

Nel caso si utilizzassero distribuzioni Linux che a differenza di Kali non utilizzano di default l’utenza root (cfr. Parrotsec, Backbox), modificare il precedente comando come segue:

sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

Verifichiamo poi che quest’ultima operazione sia andata a buon fine:

more /proc/sys/net/ipv4/ip_forward

Ai fini dell’inganno, è necessario che la macchina attaccante assuma il ruolo del server web richiesto dall’utente/vittima durante la normale navigazione e che il server ci veda come un vero client.

Per fare ciò, in due terminali separati e come super utenti, lanciamo in sequenza i seguenti comandi di ARP spoofing:

sudo arpspoof -i ​INTERFACCIARETE​ -t IPVITTIMA​ IPGATEWAY
sudo arpspoof -i INTERFACCIARETE​ -t IPGATEWAY IPVITTIMA

A questo proposito ricordiamo che i comandi ifconfig e route -n da terminale UNIX, visualizzano gli indirizzi IP di cui abbiamo bisogno:

In una nuova console eseguiamo l’istruzione che genera lo spoofing del dominio desiderato, richiamando il file di testo creato nei primi passaggi:

sudo dnsspoof -i INTERFACCIADIRETE​ -f hosts.txt

Per velocizzare la procedura richiamiamo setoolkit, lo strumento di ingegneria sociale per eccellenza; dal menu a scelta numerica impostiamo la sequenza:

1) Social-Engineering Attacks
2) Website Attack Vectors
3) Credential Harvester Attack Method
2) Site cloner

Indichiamo indirizzo IP della macchina attaccante per il reverse e l’URL che SET deve clonare (facebook.com per l’esempio in questione):

A questo punto ci occorre qualche manovra di ingegneria sociale per far aprire alla vittima l’URL che abbiamo indicato nel file hosts.txt. Sempre a proposito di spoofing – sebbene occorra una trattazione a parte decisamente più ampia – possiamo qui accennare che il classico copia/incolla del link all’interno di una comunicazione ufficiale (vedasi mail, canali chat di piattaforme social e così via), rimane statisticamente uno dei metodi più efficaci. È possibile ricreare una mail dal tono formale da inviare alla vittima spoofando il mittente di un’organizzazione autorevole (per esempio il supporto di facebook) oppure segnalare un finto evento – magari di interesse della vittima – al quale unirsi cliccando sul link in calce. Ecco alcuni validi progetti che è possibile trovare sulla community GitHub:

Coloro che non avessero tempo di cimentarsi a tal riguardo, possono fare un rapido tentativo con un servizio online dedicato (anche se è bene ricordare che le probabilità che la mail venga confinata nella spam sono piuttosto alte):

Ricordiamo a questo proposito che per avere la certezza che una mail inviata provenga effettivamente dal dominio mostrato, occorre esaminare (se presenti) le stringhe SPF, DKIM, DMARC del codice sorgente del messaggio originale; in caso affermativo, viene indicata la dicitura ‘pass’. Vediamo un esempio da Gmail:

Ad ogni modo, ecco cosa si presenterà alla vittima cliccando sul collegamento incriminato:

Come possiamo vedere all’immagine successiva, le credenziali inserite sono visibili in tempo reale nel terminale di SET; possono essere successivamente consultate in formato HTML accedendo al percorso:

/root/.set/reports

Coloro che avessero confidenza con ettercap, possono realizzare lo stesso attacco modificando il file /etc/ettercap/etter.dns con le seguenti entry:

E avvalersi sempre di SET per il clone dell’URL e relativo listener. Lo spoof invece viene innescato dall’istruzione:

ettercap -Tqi ​INTERFACCIADIRETE​ -P dns_spoof -M arp
/​ IPVITTIMA​ // /​ IPGATEWAY​ //

 

A cura di: Milo Caranti

Profilo Autore

Dopo aver frequentato la facoltà di Giurisprudenza, lavora attualmente come programmatore e svolge attività consulenziale per uno studio legale di Milano. Da sempre appassionato di Sicurezza informatica e vicino alle attuali tematiche in ambito ICT, è autore del libro ”Guida al Pentesting con Parrot Security OS”.

Condividi sui Social Network:

Articoli simili