CERCASI SPONSOR E DONAZIONI --- CERCASI SPONSOR E DONAZIONI --- CERCASI SPONSOR E DONAZIONI

mercoledì 15 agosto 2012

Wireless KO!

I dati trasmessi durante una connessione wireless (senza fili) com'è noto, a differenza delle comunicazioni wired (tramite cavo), viaggiano nell'etere sotto forma di onde radio. Questo fa sì che durante il tragitto tra sorgente e destinazione le comunicazioni senza fili risultino più semplici da intercettare. All'epoca della grande diffusione di massa delle reti Wi-Fi, dunque, fu subito chiaro che bisognava proteggere in qualche modo la comunicazione. Fu così che nacque il sistema di protezione WEP (Wired Equivalent Privacy). Purtroppo, ben presto furono evidenti i limiti di questo sistema di sicurezza (oggi occorrono pochi minuti per scoprire una chiave WEP), così venne introdotto il sistema WPA (Wi-Fi Protected Access) e, successivamente, la sua evoluzione WPA2. Oggi il protocollo WEP è ormai in disuso, tanto che la totalità dei router forniti dagli ISP, almeno in Italia (Telecom, Vodafone, Fastweb, Tiscali, etc), sono preconfigurati con il sistema WPA/WPA2. Il livello di protezione offerto da una rete Wi-Fi di questo tipo è molto alto, per cui introdursi al suo interno (crackarla) è molto più difficile, anche se non impossibile. In genere, durante questo tipo di attacco, rispetto a quello relativo al protocollo WEP la fase di sniffing (cattura dei dati) è più veloce, mentre il cracking della chiave WPA/WPA2 è molto lunga e richiede anche molta fortuna. Le tecniche utilizzabili sono gli attacchi brute force e quelli tramite dizionario. Nel brute force attack, il programma addetto al cracking prova una serie casuale di combinazioni di lettere e numeri, mentre nel dictionary attack, le combinazioni da provare vengono prelevate da un elenco precostituito di parole (di senso più o meno compiuto) contenuto in un file: ecco perché dictionary. Nel caso del sistema WPA/WPA2, poiché spesso i router degli ISP di default utilizzano una combinazione casuale di lettere e numeri, quindi non parole di senso compiuto, l'attacco con dizionario è praticamente inutile, mentre può funzionare quello di tipo brute force. Ma tenete presente che le parole chiave utilizzate dai router dei provider italiani variano da una lunghezza minima di 10 cifre nel caso di Fastweb, a 24 per Telecom e Vodafone. Alla luce di tutto ciò, considerando che è possibile utilizzare 26 lettere, maiuscole e minuscole, quindi un totale di 42, e 10 numeri (da 0 a 9), capite bene che una attacco brute force, anche con il PC desktop più potente in circolazione, richiederebbe un tempo lunghissimo, anche se non impossibile da portare a termine. In realtà è possibile un altro tipo di attacco, a quanto pare in alcuni casi portato a termine con successo, ma si tratta di accesso a reti Wi-Fi che utilizzano router forniti da ISP non italiani. Almeno per il momento non sembra che sia stato dimostrato che questo tipo di attacco sia possibile nel nostro paese su router Telecom, Vodafone e soci. In pratica, in quest'ultimo caso si parte dall'ipotesi che, poiché gli ISP distribuiscono migliaia se non milioni di router ai propri utenti e devono assegnare loro altrettante chiavi WPA/WPA2, sono costretti a generarle in modo pseudo casuale, spesso ricavandole da combinazioni dal MAC Address della scheda wireless che equipaggia il router, dall'SSID della rete Wi-Fi (in pratica il nome) e dal Serial (S/N), il codice univoco relativo al router fornito dall’ISP.

Raccolta dei dati
Introdursi in una rete WEP, sempre meno diffuse, è di una semplicità disarmante, per cui poco utile per fini didattici. La teoria secondo cui le chiavi WPA/WPA2 fornite dagli ISP sono la combinazione, non casuale, di altri parametri noti, è tutta da dimostrare, quindi, per scoprire come funziona il crack di una rete Wi-Fi ben protetta analizzeremo il caso di un attacco con dizionario. Come anticipato è simile a quello brute force, ma nel primo caso bisogna utilizzare elenchi di parole da provare per trovare la chiave di protezione corretta. Per prima cosa bisogna catturare l'handshake (saluto, stretta di mano) della connessione. In pratica, durante questa fase i dispositivi coinvolti, ad esempio un PC e un router, scambiano una serie di informazioni sulla rispettiva identità e le  caratteristiche fisiche. Questa procedura serve per “presentarsi” prima di instaurare la connessione vera e propria. In pratica, bisogna catturare i dati della comunicazione per poter portare a termine il crack della chiave WPA/WPA2 che, tra l'altro, deve essere di tipo PSK (Pre Shared Key). Gli strumenti da utilizzare sono tutti preinstallati in BackTrack, quindi è opportuno procurarsi questa distribuzione. La trovate tra gli allegati di Linux Magazine 109, in edicola dal 15 Febbraio. Procurato tutto il necessario, bisogna avviare il programma Kismet e cercare i dati seguenti (ripetiamo che è fondamentale che la rete da analizzare sia del tipo WPA/WPA2 con PSK): il canale di comunicazione della rete Wi-Fi, il MAC Address della scheda integrata nel router, la velocità di trasmissione (rate, 11M, 22M,54M...), la modalità di trasmissione (802.11b o g). A questo punto, è necessario cercare dei client connessi o aspettare che qualcuno si connetta: è possibile farlo sempre con Kismet premendo C. Dopo aver annotato i dati e chiuso Kismet, bisogna impostare la propria scheda di rete wireless in monitore mode sul canale di comunicazione della rete. Supponiamo che il canale sia 5. Per scoprire qual è la nostra scheda di rete utilizziamo il comando ifconfig o iwconfig. In genere, si tratta di wlan0. Per settare la rete in monitor mode sul canale appropriato basta eseguire i comandi seguenti:

airmon-ng stop wlan0
airmon-ng start wlan0 5

A questo punto, è necessario impostare la velocità (rate) e la modalità di trasmissione della rete:

iwconfig wlan0 rate 22M
iwpriv wlan0 mode 2

Per impostare la modalità di trasmissione in modo automatico si può utilizzare 0 al  posto di 2, che corrisponde a b, mentre 1 indica g. Se la cattura dei dati non dovesse fornire i risultati sperati è consigliabile riprovare abbassando il rate al minimo:

iwconfig wlan0 rate 1M

Infine, per catturare l'handshake mettiamo in ascolto il tool airodump sul canale corretto (la voce --bssid è il MAC Address dell'Access Point obiettivo, ad esempio il router) e scriviamo i risultati in un file chiamato my_handshake:
 airodump-ng --bssid 00:1D:8B:XX:XX:XX --channel 5 -w my_handshake wlan0

A questo punto, non resta che aspettare la connessione di qualche client che utilizza la password corretta, indispensabile affinché l'handshake sia affidabile. In alternativa, è possibile chiudere la connessione di un client già connesso per farlo riconnettere nuovamente. Per farlo, basta inviare uno o più pacchetti di deautenticazione tramite aireplay:

aireplay-ng -0 1 -a 00:1D:8B:XX:XX:XX -c 0E:1B:DA:XX:XX:XX wlan0

L'opzione -0 sta per modalità --deauth, mentre il numero che segue è relativo ai pacchetti di de-autenticazione inviati: è buona abitudine provare altri valori, tipo 5, 9, 10, ma non troppi, altrimenti l'Access Point rifiuta di rispondere. Il primo MAC Address è quello del router (opzione -a), mentre il secondo è quello del client da disconnettere (opzione -c). A questo punto, con un po' di pazienza e magari dopo qualche tentativo abbassando il rate a 1M se necessario, nella schermata di airodump dovrebbe apparire in alto a destra la scritta che conferma la cattura dell'handshake:

WPA HANDSHAKE!

Crack della chiave WPA
Abbiamo detto all'inizio che se l'Access Point (il router) utilizza una chiave casuale di 24 caratteri è possibile crackare la rete ma servirebbe molto tempo e macchine potentissime. Per fortuna, ai fini dell'esperimento, un po' meno per quanto riguarda la sicurezza, molti utenti si servono di parole di uso comune, spesso contenute in molti dizionari reperibili on-line. A questo punto, dunque, è fondamentale reperire molti dizionari della lingua più adatta e usare la tecnica del dictionary attack con Aircrack-ng. Un po' di fantasia e social engineering sono in grado di fornire un buon aiuto. Se la rete, ad esempio, si chiama spidernet, è bene procurarsi un dizionario con tutti i personaggi di Spiderman. Il crack può essere eseguito off-line nel modo seguente:

aircrack-ng -w dizionario.txt -b 00:19:5B:XX:XX:XX my_handshake.cap

Ovviamente, dizionario.txt è l'elenco di parole (wordlist, dizionario), mentre il MAC Addrress è quello dell Access Point (router) della rete da crackare. Questo è quanto serve conoscere per tentare un'intrusione all'interno di una rete Wi-Fi protetta tramite WPA/WPA2 PSK. Al contrario dell'attacco alle reti WEP, in questo caso il risultato potrebbe essere negativo, in quanto oltre alla tecnica corretta è necessaria una buona dose di fortuna.

Nessun commento:

Posta un commento