408674 Letture

Craccare reti WiFi: accedere alle reti WiFi protette

L'ultima colonna (ESSID) riporta l'identificativo con cui è stata denominata la rete wireless facente capo al corrispondente router od access point Wi-Fi.
Le colonna ENC, CIPHER e AUTH indicano algoritmo crittografico in uso (WEP, WPA, WPA2) e metodologia di autenticazione impiegati.
Da annotare l'informazione sul numero di canale utilizzato per l'invio e la ricezione dei dati (colonna CH).

Nella seconda metà della finestra, airodump-ng fornisce qualche informazione sull'attività in corso sui vari access point. Gli indirizzi MAC enumerati nella colonnaSTATION corrispondono a quelli assegnati alle schede di rete dei vari sistemi wireless (notebook, netbook, smartphone, tablet,...) che si collegano all'access point indicato nella colonna BSSID.
In altre parole, l'applicazione airodump-ng consente di stabilire quali e quanti sistemi stanno "colloquiando" con i vari access point wireless.
Ecco perché la semplice protezione basata sul filtraggio degli indirizzi MAC dei client Wi-Fi dal pannello di amministrazione del router non può essere considerata una misura di sicurezza valida (l'aggressore può annotare l'altrui MAC address ed utilizzarlo al posto di quello associato di default alla propria scheda di rete).

Qualora il nome dei router/access point non risultasse leggibile per intero, suggeriamo di fare clic sul menù Terminal quindi selezionare la voce 132x24.


Dopo aver individuato la rete wireless da craccare, si dovrà premere la combinazione di tasti CTRL+C quindi impartire il seguente comando:
airodump-ng -w capwifi -c NN --bssid MACADDRESSACCESSPOINT mon0

Al posto di NN va sostituito il numero del canale usato dall'access point wireless mentre MACADDRESSACCESSPOINT va rimpiazzato con l'indirizzo MAC dell'access point stesso, anch'esso desunto precedentemente.

Dopo aver aperto una nuova finestra del terminale Linux, bisognerà cercare di intercettare il cosiddetto 4-way handshake ossia la procedura che ogni dispositivo wireless segue per presentarsi ad un access point e per ottenere il via libera per l'accesso alla rete. Per abbreviare i tempi evitando quindi di dover aspettare il collegamento di un dispositivo Wi-Fi titolato per l'utilizzo dell'access point, si possono inviare alcuni pacchetti dati che di solito provocano la disconnessione e l'immediata riconnessione automatica di un sistema già collegato alla rete wireless.
Il comando da utilizzare è il seguente:
aireplay-ng -0 0 -a MACADDRESSACCESSPOINT -c MACADDRESSCLIENT mon0

Al posto di MACADDRESSACCESSPOINT va inserito, di nuovo, l'indirizzo MAC dell'access point mentre MACADDRESSCLIENT va sostituito con il MAC address di un client Wi-Fi attualmente collegato al medesimo access point.

Non appena comparirà l'indicazione WPA handshake in testa all'altra finestra del terminale, è possibile premere la combinazione di tasti CTRL+C in entrambe le finestre.

L'handshake dovrebbe essere intercettato nel giro di meno di un minuto. Digitando il comando ls, si troveranno i file di log generati da airodump-ng.

Avviando Wireshark dal menù Applications, Kali Linux, Top 10 security tools, quindi scegliendo File, Open ed aprendo il file capwifi-01.cap memorizzato nella cartella /root, si potrà verificare che esso contenga effettivamente delle informazioni sull'handshaking. Basterà infatti digitare eapol nella casella Filter e premere Invio. Nella colonna Info si dovrebbe visualizzare più volte la stringa Key (vedere anche questa pagina nella documentazione di Wireshark).


Craccare la rete WiFi: come funziona l'attacco

La Wi-Fi Alliance, organizzazione nata nel 1999 e formata da alcune tra le più importanti aziende impegnate nel settore delle comunicazioni wireless con l'obiettivo di sovrintendere all'adozione di uno standard unico a livello mondiale, ha fissato in 8 caratteri la lunghezza minima delle password assegnabili ad una connessione Wi-Fi protetta con gli algoritmi WPA/WPA2. Si tratta di una scelta assennata che porta a circa 6 x 1015 le possibili combinazioni di password utilizzabili su ciascun router/access point. Gli attacchi brute-force sono quindi praticamente impossibili da sferrare con successo. Provare tutte le possibili combinazioni di caratteri numerici ed alfanumerici richiede risorse computazionali immense e tempistiche improponibili.

Di solito, quindi, uno degli attacchi che viene solitamente provato è il dictionary attack. Le informazioni raccolte con airodump-ng, infatti, vengono utilizzate per cercare di decodificare i dati memorizzati in precedenza utilizzando insiemi più ridotti di password, così come se si stesse utilizzando una sorta di "dizionario".

Kali Linux contiene un dizionario pesante all'incirca 140 MB. Per utilizzarlo, è possibile digitare il comando seguente, anch'esso da impartire dal prompt della finestra del terminale:
gunzip /usr/share/wordlists/rockyou.txt.gz


L'attacco basato sul dizionario è quindi avviabile digitando quanto segue:
aircrack-ng capwifi-01.cap -w /usr/share/wordlists/rockyou.txt

Al posto di rockyou.txt è ovviamente possibile utilizzare dizionari più ampi o comunque, almeno in linea teorica, più efficaci per l'utenza italiana.

Se il dictionary attack andasse a buon fine, aircrack mostrerà in chiaro la password utilizzata a protezione della rete Wi-Fi.


Velocizzare l'elaborazione delle password sfruttando la potenza della GPU ossia del processore grafico

Sia in ambiente Linux che Windows, per velocizzare ulteriormente l'individuazione della password o comunque l'elaborazione del dizionario, è possibile ricorrere al software oclHashcat-plus. Prelevabile da qui, esso consente di velocizzare le operazioni poggiando sulle risorse del processore grafico (GPU).

Prima di procedere, è necessario convertire il file capwifi-01.cap nel formato .hccap, supportato da oclHashcat-plus.
Allo scopo è possibile fare riferimento a questa pagina.
In Windows, dopo aver prodotto il file .hccap e trasferito il file rockyou.txt da Kali Linux (qui si dovranno installare i driver per la GPU in uso...), si potrà quindi avviare il comando seguente:

type rockyou.txt | cudaHashcat-plus64.exe -m 2500 capwifi-01.hccap

oclHashcat-plus consente di effettuare non solo attacchi basati sul dizionario ma anche attacchi misti o basati esclusivamente su combinazioni di lettere, numeri e simboli.
Il comando seguente, avviato sempre dal prompt dei comandi di Windows, consente di provare tutte le combinazioni lettera-numero fino a 9 caratteri:

cudaHashcat-plus64.exe -m 2500 -a 3 -1 ?l?d capwifi-01.hccap ?1?1?1?1?1?1?1?1?1

Ovviamente il tempo per compiere un attacco del genere potrebbe essere dell'ordine degli anni!

Un esempio di attacco-misto:
cudaHashcat-plus64.exe -m 2500 -a 6 capwifi-01.hccap rockyou.txt ?d?d
In questo caso, ad ogni singola password presente nel dizionario rockyou.txt, viene posposto un suffisso costituito da due numeri compresi tra 00 e 99.


Maggiori informazioni sono reperibili a questo indirizzo (mask attack).
Al posto di ccudaHashcat-plus64.exe dev'essere specificato ccudaHashcat-plus32.exe nel caso in cui si utilizzi una versione di Windows a 32 bit.

Attaccare una rete WiFi WPA/WPA2 sfruttando la vulnerabilità WPS

In tutti i router di nuova generazione è presente il pulsante "WPS". Acronimo di "Wi-Fi Protected Setup", trattasi di una funzionalità che dà modo di configurare automaticamente il collegamento verso un altro dispositivo Wi-Fi. Allo scopo viene utilizzato uno standard, lanciato a gennaio 2007 dalla Wi-Fi Alliance, che permette di semplificare le connessioni senza fili "senza tralasciare l'aspetto legato alla sicurezza". È però necessario che entrambi i dispositivi siano compatibili con le specifiche WPS. Diversamente, si dovrà ripiegare sulla classica configurazione manuale dei parametri legati alla rete Wi-Fi.

Il ricercatore Stefan Viehbock ha però rivelato di aver individuato una pericolosa vulnerabilità nello standard WPS, riuscendo - con un attacco "brute force" - ad accedere ad una rete wireless protetta utilizzando il PIN di WPS in appena due ore di tempo. Ogni volta che un device tenta di connettersi al router WPS, quest'ultimo trasmette un messaggio col quale viene informato se le prime quattro cifre del PIN sono corrette o meno. Dal momento che lo standard WPS usa un PIN da otto cifre e che l'ultima viene usata come checksum. Ecco allora il patatrac: anziché avere a che fare con 100 milioni di possibilità (108), l'aggressore - per violare la rete senza fili - dovrebbe condurre al massimo 11.000 tentativi (104 sommato a 103).


Il tool Reaver, già integrato nella distribuzione Kali Linux, permette di provare a verificare la possibilità di accedere ad una rete WiFi protetta WPA/WPA2 usando la vulnerabilità WPS.
Per procedere, sempre dalla finestra del terminale, è sufficiente digitare quanto segue:
reaver -i mon0 -b MACADDRESSACCESSPOINT -vv

Il consiglio, nel caso in cui il proprio router sia dotato di funzionalità WPS, è quello di installare eventuali aggiornamenti firmware che fossero stati nel frattempo rilasciati dal produttore. Nel caso in cui si decidesse di disattivare completamente il PIN WPS, il suggerimento è quello di effettuare comunque un penetration test completo con Reaver.

Come difendersi: conclusioni finali

Abbiamo visto che l'assenza della vulnerabilità WPS nel router, l'uso di un algoritmo "forte" (WPA o, meglio ancora, WPA2) e, soprattutto, l'adozione di una password a protezione della connessione Wi-Fi che sia molto lunga (almeno 12 caratteri) e che sia composta da lettere (maiuscole e minuscole), numeri e simboli (difficilmente presente in un qualsiasi dizionario), sono sicuramente le migliori difese.
L'algoritmo WEP dev'essere in ogni caso evitato perché un router "protetto" usando tale protocollo può essere violato in pochi minuti utilizzando il comando aircrack-ng capwifi*.cap -K -b MACADDRESSACCESSPOINT.

Nel caso in cui dovesse servirvi, sappiate che la password predefinita dell'utente "root" di Kali Linux è toor.
Per spegnere completamente il sistema da Kali Linux, si può usare il comando shutdown now -h -P.

  1. Avatar
    juniorcrack
    10/09/2015 13.02.28
    ciao a tutti gentilmente voglio risposte serie e metodi efficaci , ho provato di craccare diversi rete wifi (sistema operativo kalilinux insieme a windows 8.1) utilizzando aircrack-ng , wifite con WPS e WPA , Reaver e sono riuscito a trovare le handshake dopo utilizzando il dizionario di 16 GB non sono riuscito a trovare la password , voglio sapere se esiste un metodo capace di generare la password dal handshake o anche un altro metodo senza utilizzare il dizionario .
    Una domanda con WIRESHARK non si puo decriptare la password?
    sono nuovo utente grazie mille per eventuale risposte :)
  2. Avatar
    Michele Nasi
    03/09/2013 18.40.13
    Come scritto nell'articolo, il problema della restrizione sui MAC address è un "non problema". L'aggressore, infatti, può alterare l'indirizzo MAC della sua scheda di rete ed avere libero accesso all'esterno così come all'interno della LAN. In caso di risorse condivise senza l'uso di alcuna forma di autenticazione, l'aggressore potrà accedervi. Attenzione quindi all'algoritmo crittografico usato e alla password impiegata (che deve essere lunga e complessa, non presente in un dizionario).
  3. Avatar
    joe black
    03/09/2013 18.27.36
    Questi sistemi per craccare la rete WiFi funzionano anche se il router è stato impostato per accettare connessioni solo con dispositivi con determinati MAC address? e se sì, chi cracca la rete può accedere alla rete stessa oppure trova solo la password ma non si può collegare senza conoscere almeno uno dei MAC address autorizzati?
Craccare reti WiFi: accedere alle reti WiFi protette - IlSoftware.it - pag. 2