WifiPhisher è un tool scritto in Python ed open source (con licenza MIT), reperibile direttamente su GitHub. Iniziato a sviluppare alla fine di Settembre 2014, oggi è un progetto abbastanza maturo da poter essere
utilizzato con facilità anche da utenti meno esperti.
Si tratta di un tool automatizzato per effettuare attacchi di phishing contro reti wireless, allo scopo di ottenerne la password. Essendo catalogato come
strumento di ingegneria sociale, non effettua attacchi di forza bruta contro la rete sotto analisi, bensì tenta di ingannare gli utilizzatori della rete
ad inserire la password del loro Access Point. In questo articolo vedremo nel dettaglio proprio il funzionamento di WifiPhisher.
Come funziona
WifiPhisher utilizza una tecnica chiamata Evil Twin (gemello cattivo), in quanto assume in tutto e per tutto le caratteristiche del vero access point. Eseguirà
poi un attacco che disconnetterà tutti i dispositivi collegati all'AP vittima, ed infine assumerà il controllo delle connessioni.
L'attacco si divide quindi in 3 parti:
-
La vittima viene disconnessa dalla propria rete wireless
Si tratta di un attacco già visto in tool come aircrack-ng, tramite cui l'attaccante invia dei pacchetti che causano Denial of Service, costringendo i dispositivi
collegati a perdere la connessione. Questo tipo di attacco è anche conosciuto con il termine di Jamming. -
Il dispositivo della vittima si collega all'access point dell'attaccante
Una volta costretto alla disconnessione dal precedente attacco, un computer (o un telefono) hanno la facoltà di tentare una nuova connessione che sarà,
questa volta, gestita dal “gemello cattivo“ (perché non congestionato dall'attacco DoS). Wifiphisher ha poi un server DHCP che fornisce indirizzamento IP
(come farebbe un normale router). Da questo momento la vittima è, per usare un neologismo tecnico, Man-In-The-Middled, cioè completamente sotto il controllo
dell'attaccante. -
La vittima navigherà su una finta pagina web
In questa ultima fase, per qualsiasi sito che verrà richiamato sul dispositivo verrà servita una pagina che richiede la password della rete wireless per
eseguire un upgrade del firmware (ovviamente una pagina di phishing). Una volta inserita la password dall'ignaro utilizzatore, quest'ultima verrà
presentata all'attaccante.
Utilizzo
Per poter utilizzare WifiPhisher abbiamo bisogno di due schede wireless, cui una con capacità di Injection. In questo esempio utilizzeremo un'Alfa, e la
scheda interna del portatile (chipset Atheros). I test seguenti sono stati effettuati su Ubuntu, ma possono essere facilmente replicati su un altro sistema Linux.
Preleviamo WifiPhisher da GitHub utilizzando il comando seguente:
[code]git clone https://github.com/sophron/wifiphisher.git[/code]
Risolviamo qualche dipendenza installando python-scapy and hostapd:
[code]sudo apt-get install python-scapy hostapd[/code]
Prima di avviare il tool, diamo un'occhiata ai principali parametri specificabili:
Parametro | Descrizione |
---|---|
-m |
Specifica il massimo numero di client da disconnettere durante la prima fase dell'attacco |
-t |
Specifica l'intervallo di tempo di invio dei pacchetti di disconnessione. Per default utilizza tutta la potenza della scheda di rete. Se incorrete in errori di python-scapy, potete settarlo a -t .00001 |
-d |
Salta la prima fase dell'attacco, cioè la disconnessione dei dispositivi, creando così solo un access point gemello |
-a |
Specifica il MAC address per l'access point gemello. Qui si dovrà prelevare manualmente il MAC dell'access-point target e specificarlo tramite questo parametro |
-jI |
Seleziona manualmente l'interfaccia della scheda wireless che si occuperà di fare Jamming |
-aI |
Seleziona manualmente l'interfaccia della scheda wireless che diventerà l'access-point gemello |
Per la lista completa dei parametri, possiamo utilizzare questo comando:
[code]sudo python wifiphisher.py --help[/code]
Infine avviamo WifiPhisher:
[code]sudo python wifiphisher.py -jI wlan1 -aI wlan0 -a 88:53:2e:00:00:53[/code]
Qui wlan1 è la scheda Alfa, wlan0 è la scheda Atheros, e con -a
abbiamo specificato il MAC address dell'access point target.
La prima schermata che viene mostrata è la lista di tutti gli access point visibili dalla nostra posizione. Per selezionare il target bisognerà utilizzare la combinazione di tasti CTRL+C e digitare il numero associato, come in esempio:
Ora non dobbiamo far altro che attendere. Ci verrà mostrata una nuova schermata, divisa in 3 parti seguendo lo schema spiegato precedentemente: Jamming, DHCP e richieste HTTP:
Dopo la seconda e prima della terza parte, l'ignaro utente vedrà la seguente pagina tutte le volte che aprirà qualsiasi sito (la pagina di phishing con la richiesta della password):
Conclusioni
Con questo tool abbiamo visto come le tecniche per reperire un'informazione (in questo caso una password WiFi) si stiano sempre più spostando verso il
fattore umano. Quando una crittografia è abbastanza sicura da non essere crackata facilmente (WPA/WPA2), le tecniche utilizzate chiedono l'informazione direttamente all'utente, tentando di ingannarlo. Non
c'è da stupirsi, quindi, che gli attacchi più importanti a siti o server inizino da una mail di Phishing. Come detto anche da Kevin Mitnick (il maggior esponente
dell'ingegneria sociale dei nostri tempi):
La via più veloce per ottenere un'informazione è chiederla.