07/01/2008 di Redazione

Reti wireless: come rompere una chiave WEP

Dicono che è facile, voi sareste capaci? In questo articolo vi spiegheremo passo per passo come rompere una chiave WEP.

Introduzione

Più di un anno fa iniziammo una serie di articoli su come rompere una chiave WEP. Chiunque li legga oggi però, capisce subito quanto siano obsoleti,e quanto ci sia bisogno di un aggiornamento. Detto questo, quei primi articoli contengono tantissime informazioni tutt'oggi valide, quindi, se ancora non l'avete fatto, vi suggeriamo di leggere almeno il primo della serie, così da ottenere una base di conoscenze da cui partire.

PREMESSA

Violare una rete altrui è illegale, così come lo è sottrarre file o qualsiasi materiale privato in qualsiasi forma, digitale o cartacea.

Questa guida ha uno scopo didattico e uno educativo. Didattico perché abbiamo già trattato il tema e aggiorniamo contenuti già presentati in passato e che si sono rivelati di grande interesse per i nostri lettori. Educativo perché forse non tutti sanno quanto sia facile bucare una rete protetta da WEP. La nostra speranza è che leggendo queste pagine tutti capiranno che chi voglia tutelare sul serio la propria rete wireless e di conseguenza la propria privacy non può sperare di farlo usando il WEP.

Come del resto spieghiamo chiaramente nei seguenti articoli:

Tom's Hardware, SmallNetBuilder, Pudai LLC, 3Labs S.r.l. e gli autori non approvano né condonano qualsiasi uso illegale possa essere fatto di questo articolo.

Prima di continuare, permetteteci di evidenziare alcuni punti che potranno far risparmiare tempo e sforzi ai lettori che vogliono mettere in pratica queste tecniche:

  • Per seguire senza grossi problemi i passi discussi in questa guida, avrete bisogno di una minima familiarità con le terminologie e i prìncipi del mondo delle reti. Dovreste trovarvi a vostro agio utilizzando programmi basati su righe di comando e senza interfacce grafiche; una minima familiarità con Linux non guasterebbe.
  • Queste procedure suppongono che la WLAN a cui si punta abbia, almeno, un client associato ad un AP o ad un router wireless. Non funzionano con AP senza client associati.
  • Accedere alle reti di chiunque altro senza il suo consenso è un crimine in alcuni stati e giurisdizioni e, oltretutto, non rientra tra le regole del buon vicinato.

Di cosa avete bisogno, oggi, per rompere una rete wireless protetta da una chiave WEP? La buona notizia è che, probabilmente, avete già tra le mani tutto ciò che vi serve, visto che sono stati fatti molti progressi sia nel mondo open source che in quello degli strumenti per l'intromissione in reti wireless.

Sono lontani i tempi in cui era necessario possedere hardware costoso e difficile da trovare (come le due schede Wi-Fi PRISM 2 e i due computer della guida originale). Oggi sono supportati molti più chipset, ed è possibile fare tutto da una singola macchina!

I migliori strumenti per rompere chiavi WEP sono stati sviluppati dalla squadra di Aircrack-ng, e sono proprio quelli che andremo ad usare. Aircrack-ng ha creato una raccolta di programmi dedicati alla rottura di chiavi WEP e WPA-PSK. Nonostante il pacchetto completo consista in ben sette programmi (più qualche strumento), noi ne utilizzeremo solo quattro:

  • airmon-ng: per passare dalla modalità wireless adapter a quella monitor
  • airodump-ng: per la ricerca di reti WLAN e la cattura di pacchetti dati
  • aireplay-ng: per la generazione di traffico
  • aircrack-ng: per recuperare la chiave WEP

Nonostante esistano versioni del pacchetto in grado di funzionare su sistemi operativi Windows e addirittura Zaurus (!), noi utilizzeremo una versione Linux. Non preoccupatevi se non siete esperti di questo sistema operativo. Dato che utilizzeremo il live CD BackTrack 2 (BT2), non si farà alcuna modifica al contenuto dell'hard disk della vostra macchina Windows. Nella distribuzione di BT2 è incluso l'intero pacchetto aircrack-ng.

Scelta dell'hardware

La decisione più importante da dover prendere riguarda la scelta dell'Access Point da utilizzare. Per la scrittura del primo articolo di questa serie, eravamo fortemente vincolati nella scelta dalla limitata lista di adattatori WLAN supportati. Potevamo, infatti, scegliere solo schede con chipset PRISM.

Attualmente non ci sono molti adattatori LAN Wireless di livello consumer che montano chipset PRISM, quindi scegliere questo tipo di chipset non è una buona idea. Utilizzeremo un solo pacchetto di strumenti; di conseguenza, e fortunatamente, dovremo avere a che fare con una sola lista di compatibilità hardware, e avremo a nostra disposizione un buon assortimento di adattatori wireless.

NOTA: Ad oggi, non esistono drivers che supportino chipset o adattatori wireless 802.11n. La scelta delle schede è quindi limitata a quelle che supportano gli standard 802.11 a,b e g.

Fortunatamente, il sito di aircrack-ng è ricco di consigli e aiuti per guidarvi nella scelta dell'adattatore wireless migliore, ma le loro raccomandazioni spingono verso l'utilizzo di chipset Atheros. Naturalmente all'inizio non abbiamo seguito i loro consigli e successivamente ne abbiamo pagato le conseguenze.

Il primo test è stato effettuato con una Intel PRO/Wireless 2915ABG mini-PCI integrata in un notebook. La scheda è stata riconosciuta da BT2, e siamo riusciti a metterla in modalità monitor per catturare i pacchetti in transito. Siamo persino riusciti a immettere pacchetti per l'attacco ARP-Replay per generare ulteriore traffico. Purtroppo, però, a conferma delle note rilasciate dal sito di aircrack, è stato possibile solo catturare pacchetti a velocità molto ridotte. La nota positiva è che la rottura delle chiavi WEP è comunque possibile anche in queste condizioni, ma molto, troppo lentamente, specialmente per WEP 128.

Abbiamo quindi deciso di seguire un'altra strada: una scheda USB Edimax EW-7318USG. Siamo riusciti ad utilizzarla con successo ma solo dopo aver aggirato alcuni problemi in BT2, descritti nell'Appendice 2, alla fine di questo articolo.

Infine, seguendo i consigli offerti dalla squadra Aircrack, abbiamo utilizzato una scheda mini-PCI con chipset Atheros AR5212 a/b/g integrata in un altro portatile. Nonostante il sito menzioni la necessità di driver aggiornati affinché airplay supporti Linux, non abbiamo avuto alcun problema ad utilizzare quelli presenti nella release BackTrack 2 Stable 06 Mar. 2007 (bt2final).

Il Software

Una volta scelto l'hardware, bisogna ottenere il software. Useremo il live CD di BackTrack 2 (BT2), che potrete trovare su qualsiasi piattaforma di file sharing. Siate gentili e ricordatevi di donare 5$ al team che l'ha sviluppato. BT2 è in sostanza un CD autoavviante di Linux, basato su SLAX; ha tutto ciò che è necessario per svolgere le più importanti funzioni legate alla sicurezza e non scrive nemmeno un bit sul vostro hard disk.

Dopo aver scaricato il file ISO, avrete due possibilità. La prima è masterizzare il CD come al solito, mentre la seconda consiste nel copiare i file su una chiavetta USB. In quest'ultimo caso, è necessario copiare tutto il contenuto dell'immagine ISO sul drive USB e poi eseguire il comando bootbootinst.bat. La versione USB è molto più veloce a partire rispetto un CD, e inoltre i cambiamenti alle configurazioni possono poi essere salvati sul drive, diventando quindi permanenti. Sfortunatamente SLAX si basa su file system in sola lettura e, anche se esiste un modo per salvare le impostazioni, non siamo riusciti a metterlo in pratica.

Fine delle divagazioni. Avviate i computer dal supporto che avete scelto, CD o USB. Vi si presenterà una schermata di identificazione dove introdurre nome utente e password (root e toor). Dopo aver ottenuto acesso al sistema, digitate startx per lanciare la GUI. Anche se tutti i programmi aircrack-ng sono basati su righe di comando, avrete bisogno di due o tre sessioni di shell aperte simultaneamente.

É possibile lanciare BackTrack 2 su un sistema headless in rete, ma sfortunatamente SSHD (OpenSSH Daemon) non è abilitato nel BT2 di default. La prima cosa da fare quindi, è collegare un monitor, una tastiera e un mouse alla macchina headless ed abilitare SSHD digitando:

setup-sshd; sudo -s

A questo punto potrete accedere alla macchina da qualsiasi postazione Windows utilizzando PuTTY e l'indirizzo IP fornito da SSHD.

Passo 1 - controllo della scheda WLAN

Dopo aver ottenuto l'accesso, verificate che la scheda WLAN sia stata riconosciuta e caricata, digitando iwconfig da riga di comando. La Figura 1 mostra cosa è successo nel nostro sistema di test con la scheda basata su Atheros.


Figura 1: Risultato del comando iwconfig

Annotate da qualche parte il nome del vostro dispositivo che, nel nostro caso, è ath0, ma il vostro potrebbe essere qualcosa di simile a wlan1, eth0, wi0, ecc.

Passo 2 - impostare la scheda nella modalità monitor

Come detto precedentemente, la scheda WLAN che utilizzate deve poter gestire una modalità "monitor", cioè deve essere in grado di catturare tutti i pacchetti che rileva in transito sulla rete e non solo quelli destinati al suo indirizzo MAC. É la stessa cosa che succede alle schede Ethernet quando vengono impostate in modalità promiscua, richiesta da software per il controllo e l'analisi dei pacchetti come Wireshark (Ethereal) o OmniPeek Personal.

Useremo lo script airmon-ng per impostare la scheda in modalità Monitor. Per prima cosa digitate:

airmon-ng

per verificare lo stato del dispositivo. Poi:

airmon-ng stop ath0

per fermare l'interfaccia. Digitate quindi:

airmon-ng start wifi0

per far ripartire l'adattatore in modalità monitor.

Notate che bisogna utilizzare wifi0 e non ath0 nella riga di comando. Ciò è necessario a causa del funzionamento del driver di Atheros madwifi. La sequenza e i risultati ottenuti ad ogni comando sono mostrati nella Figura 2.


Figura 2: Risultati dell'esecuzione di airmon-ng. (Cliccate sull'immagine per ingrandirla)

É possibile controllare se la modalità Monitor è abilitata, eseguendo il comando iwconfig. La Figura 3 ne mostra il risultato, che conferma come l'adattatore sia in modalità Monitor e pronto all'uso.


Figura 3: Adattatore Atheros in modalità Monitor

Passo 3 - rilevare la WLAN obiettivo

Ora che la scheda è in modalità monitor, possiamo eseguire una scansione alla ricerca di reti wireless. Nella vita reale, chiunque cerchi di entrare in una rete wireless dovrebbe prima ottenere tutte le informazioni di cui avrà bisogno. I professionisti che testano i livelli di penetrazione delle reti definiscono, per ovvie ragioni, questi attacchi come "Zero Knowledge".

Stiamo cercando un AP che utilizzi crittografia WEP e che abbia almeno un client collegato. Il client collegato è molto importante poiché è essenziale ottenere il suo indirizzo MAC, così da effettuare l'attacco ARP Replay, che successivamente sarà necessario per stimolare la generazione di traffico. Se l'AP non ha nessun dispositivo connesso, allora passate al prossimo rilevato.

Per permettere ad aircrack di funzionare al meglio, e per permettergli di catturare abbastanza traffico, sono necessari tre blocchi di informazioni:

  • Indirizzo MAC / BSSID dell'AP obiettivo
  • Indirizzo MAC / BSSID di un STA associato all'AP obiettivo
  • Il canale in uso dall'AP obiettivo e l'STA connesso.

Ci sono molti modi per effettuare una scansione delle LAN wireless, incluso il famoso Kismet, che troverete in BT2. Dato che si tratta di un programma separato dal pacchetto aircrack, Kismet ha una propria lista di adattatori WLAN compatibili. Per facilitarvi le cose però, useremo airodump-ng, che va benissimo per quello che dobbiamo fare.

Lanciate airodump-ng digitando nella riga di comando:

airodump-ng --ivs --write capturefile ath0

L'opzione --ivs scrive solo gli IV catturati (la parte del traffico di cui abbiamo bisogno per rompere la chiave WEP) nei file col prefisso specificato dal parametro --write "capturefile". Notate come quei due segni meno (--) non siano errori di digitazione, ma una forma estesa e ben più leggibile delle opzioni di comando per airdump

Cos'è un IV?

WEP utilizza un Vettore di Inizializzazione (IV) insieme alla chiave "Shared Secret" introdotta dall'utente, per produrre una chiave RC4 differente per ogni pacchetto criptato.

I motivi per cui una chiave WEP può essere rotta, si riassumono in tre casi:

  • L'IV viene trasmesso in chiaro, è quindi facilmente leggibile.
  • La sequenza della chiave generata da RC4 è leggermente sbilanciata in favore di certe sequenze di byte.
  • Le statistiche per i primi byte della chiave in output sono fortemente non casuali, quindi espongono informazioni relative alla chiave stessa.

Questo comando ordina ad airodump di iniziare la scansione di tutti i canali a 2.4 GHz utilizzando la scheda wireless Atheros (ath0). La Figura 4 mostra un tipico risultato ottenuto dalla scansione.


Figura 4: Scansione di un canale effettuata da airodump-ng

La Figura 4 mostra due AP (nel gruppo superiore) e due STA (nella parte inferiore dell'immagine). Un STA (BSSID 00:1A:70:7F:79:F2) è associato all'AP con ESSID linksys (BSSID 00:06:25:B2:D4:19) e lo si può determinare confrontando gli BSSID (indirizzi MAC) delle Stazioni con quelli degli AP. La Figura 4 mostra anche che l'AP linksys usa il Canale 5.

Quindi, ecco tutti i tre blocchi di informazioni di cui abbiamo bisogno.

  • Indirizzo MAC / BSSID dell'AP obiettivo = 00:06:25:B2:D4:19
  • Indirizzo MAC / BSSID di un STA associato all'AP obiettivo = 00:1A:70:7F:79:F2
  • Il canale in uso dall'AP obiettivo e dall'STA connesso = 5.

Queste informazioni ci serviranno più tardi, quindi annotatele da qualche parte o copiatele in un qualsiasi editor di testo. É possibile interrompere in qualsiasi momento le scansioni di airodump-ng premendo semplicemente la combinazione di tasti CTRL + C.

Consiglio: Fate attenzione alla colonna PWR del gruppo AP, che rappresenta il livello del segnale. Se potete scegliere tra più AP, prendete come obiettivo quello con un numero PWR più alto, cioè quello col segnale più forte. Un segnale forte si traduce in una cattura di pacchetti più veloce.

Se il client fosse stato attivo, avreste anche visto una colonna RXQ, una misura della percentuale dei pacchetti (frame di gestione e dati) ricevuti con successo durante gli ultimi 10 secondi. Anche in questo caso più è alto il numero meglio è. Per ulteriori informazioni fate riferimento ai Consigli d'Uso per airodump.

NOTA: I file con estensione capture generati da airodump-ng, vengono salvati nella directory /root (ammesso che non abbiate cambiato directory dopo l'accesso al sistema). Abbiamo scelto l'opzione --ivs per evitare di esaurire tutto lo spazio del ramdrive di BT2, e perché non abbiamo bisogno di nient'altro se non gli IV.

Non ci dovrebbe essere nessun rischio di terminare lo spazio del ramdisk, ma nel caso dovesse succedere, potete sempre utilizzare il comando rm per cancellare i file catturati. Ricordatevi che quando si usa il parametro --ivs, i file generati saranno di tipo .ivs.

Passo 4 - generare traffico da catturare

Ora che abbiamo un AP obiettivo, protetto da WEP, abbiamo bisogno di catturare abbastanza IV con airdump, così da permettere ad aircrack-ng di fare il suo lavoro. La colonna #Data di airodump-ng dice quanti IV sono stati catturati e la colonna #/s quanti pacchetti vengono catturati al secondo.

Se riguardate la Figura 4, potrete vedere che sono stati catturati 246 IV, ad una velocità così bassa che non viene nemmeno registrata in termini di IV/Sec., nei 9 minuti in cui il programma è stato in esecuzione, prima di catturare l'immagine della schermata. Considerando che avremmo bisogno di almeno 20000 IV per rompere una chiave WEP64, abbiamo assolutamente bisogno di velocizzare un po' il sistema!

Di quanti IV ho bisogno?

Il numero di IV di cui si ha bisogno dipende dalla lunghezza della chiave WEP da rompere, dalla tecnica usata e da una buona dose di fortuna (o, più precisamente, rientrare nella casistica della probabilità).

La FAQ di aircrack-ng afferma che una chiave WEP64 solitamente necessita di almeno 300000 IV, mentre una WEP 128 ne richiede poco più di 1500000 (!).

Fortunatamente, la tecnica PTW di aircrack-ng 0.9 abbassa significativamente il numero di IV necessari a circa 20000 e 40000, rispettivamente per chiavi WEP a 64 e 128 bit, ma funziona solo con pacchetti ARP catturati in modalità full (non --ivs).

Qui è dove aireplay-ng entra in gioco. Questo programma viene usato per generare del traffico da catturare utilizzando diverse tecniche di frame injection; nel nostro caso utilizzzeremo un Attacco ARP Request Replay. Senza packet injection potrebbero volerci giorni per raccogliere sufficienti IV!

Un attacco Replay cattura semplicemente un pacchetto generato da un STA bersaglio, inganna la fonte da cui ha catturato il pacchetto, e lo ritrasmette indietro molte volte, generando molto più traffico di quello che avremmo normalmente. Dato che il traffico sembra arrivare da un client valido, non interferisce con le normali operazioni di rete, portando così a termine i propri compiti di generazione di IV in breve tempo.

I perfetti candidati alla cattura sono i pacchetti ARP (Address Resolution Protocol), dato che sono piccoli (68 Byte), e in formato fisso e facilmente riconoscibile. Sono anche l'unico tipo di pacchetto con cui lavora il ben più veloce metodo PTW.

NOTA: La seguente procedura non utilizza il metodo PTW, perché non è incluso nell'attuale distribuzione BT2. Se volete usare quel metodo date un'occhiata all'Appendice 1, alla fine di questo articolo.

Prima bisogna far ripartire airodump-ng, ma questa volta col canale e l'indirizzo MAC (BSSID) dell'AP obiettivo. Digitate la seguente linea dentro la riga di comando sostituendo il numero del canale [Canale AP] e l'indirizzo MAC [BSSID AP] che avete precedentemente ottenuto durante la prima esecuzione di airodump-ng:

NOTA: Alcuni dei seguenti comandi sono stati scritti su più linee per rientrare nei limiti di impaginazione dell'articolo. Ricordatevi di inserirli in un'unica linea di comando.

airodump-ng --ivs --channel [Canale AP] --bssid [BSSID AP] --write capturefile ath0

I pacchetti così catturati verranno nuovamente salvati in un file nella directory /root e avranno un nome nel formato capturefile_nn.ivs dove nn è un numero a due cifre, per esempio capturefile_01.ivs. Nel nostro caso, la riga di comando finale assomiglia a:

airodump-ng --ivs --channel 5 --bssid 00:06:25:B2:D4:19 --write capturefile ath0

La Figura 5 mostra i risultati dell'esecuzione del comando. Notate che questa volta vediamo solo il Canale 5, l'AP linksys e il suo client.


Figura 5: Risultati della cattura di pacchetti da un AP. (Cliccate sull'immagine per ingrandirla)

Notate che le colonne #Data e #/s mostrano una bassa velocità di cattura, come ci aspettavamo. Velocizziamo un po' il tutto con aireplay-ng. Aprite un'altra finestra di shell e digitate il seguente comando sostituendo le informazioni della WLAN obiettivo per [BSSID AP] e [MAC client da airodump]

aireplay-ng --arpreplay -b [BSSID AP] -h [MAC client da airodump] ath0

Questo lancerà l'ARP Replay sull'AP destinazione, camuffando l'indirizzo MAC dell'STA associato. Nella WLAN del nostro esempio, la linea di comando finale assomiglia a:

aireplay-ng --arpreplay -b 00:06:25:B2:D4:19 -h 00:1A:70:7F:79:F2 ath0

La Figura 6 mostra aireplay-ng dopo la partenza e prima che inizi la fase di risposta.


Figura 6: aireplay-ng alla partenza, prima che inizi a rispondere. (Cliccate sull'immagine per ingrandirla)

La chiave indicatrice è "sent 0 packets", nell'ultima linea. Notate che se i driver o il dispositivo che state utilizzando non supportano packet injection, aireplay avrà un risultato simile a quello mostrato nella Figura 7:


Figura 7: aireplay senza packet injection. (Cliccate sull'immagine per ingrandirla)

Per controllare che i vostri driver supportino l'injection, date un'occhiata alla documentazione offerta da aircrack-ng a questa pagina.

Passo 5 - Forzatura della chiave

Una volta che un pacchetto viene catturato con successo, l'ARP Replay ha inizio e l'interfaccia di aireplay-ng assomiglierà a qualcosa di simile alla Figura 8. Ancora una volta, l'informazione chiave si trova in "sent N Packets", in quanto indica il numero di pacchetti ARP immessi dal STA ingannato.


Figura 8: aireplay con ARP Replay in esecuzione. (Cliccate sull'immagine per ingrandirla)

Ora è possibile tornare alla finestra di airodump, in cui si dovrebbe vedere come la colonna #/s abbia aumentato i valori che conteneva, dallo zero iniziale a qualcosa che si avvicina alle centinaia (Figura 9).


Figura 9: airodump con ARP Replay in esecuzione (Cliccate sull'immagine per ingrandirla)

Lasciate lavorare il programma fino a quando i numeri mostrati nella colonna #Data raggiungono almeno i 300000 IV per chiavi WEP 64 o superano il 1500000 per una chiave WEP 128. Il problema di un attacco "Zero Knowledge" è che non si sa la lunghezza della chiave da rompere, dato che non è contenuta in nessun pacchetto.

Visto che, nel nostro caso, sappiamo aver impostato una chiave a 128 bit, abbiamo aspettato fino al superamento del 1500000 IV suggeriti, avvenuto dopo quasi un'ora, tenendo l'AP obiettivo e tutti i dispositivi interessati nella stessa stanza. In condizioni normali, con un AP un po' più lontano, il tempo necessario alla raccolta di tutti gli IV è maggiore. Una volta ottenuti tutti i pacchetti di cui avevamo bisogno, abbiamo aperto una nuova shell per lanciare aircrack-ng:

aircrack-ng -b [BSSID AP] [nomi dei file capture]

Il comando accetta anche wildcards, quindi aggiungendo un asterisco o dei punti di domanda al nome del file gli si ordina di utilizzare tutti i file capture raccolti. Nel nostro esempio, il comando finale è:

aircrack-ng -b 00:06:25:B2:D4:19 capturefile*.ivs

Aircrack inizia così a esaminare i pacchetti catturati, cercando di trovare la chiave WEP. Questa fase può richiedere molto tempo, e in alcuni casi aircrack-ng può anche terminare il suo lavoro senza trovare ciò che cerchiamo, ma dando suggerimenti su azioni alternative. Una volta trovata la chiave WEP, la schermata di aircrack assomiglierà a qualcosa di simile alla Figura 10.


Figura 10: aircrack-ng ha trovato una chiave WEP

La chiave WEP a 128 bit viene visualizzata in formato esadecimale e può essere inserita direttamente in un client wireless senza i caratteri ":".

I retroscena

Potreste pensare che la nostra chiave di test, composta esclusivamente da 1, sia esageratamente semplice e quindi più facile da rompere, ma non è così. Ora vi spiegheremo punto per punto tutto quello che è stato necessario fare per ottenere con successo una chiave funzionante, e vi faremo vedere alcune delle opzioni che avrete a disposizione nel caso i vostri sforzi non vadano a buon fine.

La prima azione si basa sull'esecuzione del comando:

aircrack-ng -b 00:06:25:B2:D4:19 capturefile*.ivs

che ha prodotto il sorprendente risultato mostrato in Figura 11.


Figura 11: La prima esecuzione di aircrack non è andata a buon fine. (Cliccate sull'immagine per ingrandirla)

Potete vedere come aircrack abbia ottenuto i primi 8 byte della chiave (dei 13 di una chiave WEP a 128 bit), ma non gli ultimi cinque (notate che il byte 12 della chiave non è mostrato). Dato che abbiamo catturato più di 2 milioni di IV, non pensavamo che prenderne di più ci avrebbe aiutati. Questi i risultati ci hanno costretti a riprovare, aumentando il "Fattore di Falsificazione" da 2 a 4.

Aircrack utilizza una combinazione di statistiche e un attacco brute force per trovare le chiavi WEP; ecco una spiegazione presa dalla pagina di aircrack:

L'idea è di raccogliere una serie di statistiche sui dati, per poi usare la forza bruta per terminare il lavoro. Aircrack-ng utilizza la forza bruta su chiavi simili, per determinare il codice della chiave WEP segreta.

Qui è dove entra in gioco il Fattore di Falsificazione. Sostanzialmente il fattore di falsificazione istruisce aircrack-ng sull'estensione dell'attacco da eseguire. É come lanciare una palla in un campo e poi dire a qualcuno che la palla è da qualche parte ad una distanza compresa tra 0 e 10 metri. Contrariamente si può dire che la palla sia ad una distanza compresa tra 0 e 100 metri, in questo caso ci vorrà molto più tempo per trovarla rispetto a prima, ma si avranno più probabilità di successo con una ricerca più ampia. É un compromesso tra la quantità di tempo impiegato e la possibilità di trovare la chiave WEP segreta.

Più è grande il fattore di falsificazione, più possibilità ci sono che aircrack-ng utilizzi un attacco di forza bruta. Tenete bene a mente che incrementando il fattore di falsificazione il numero di chiavi segrete da provare aumenta tremendamente e di conseguenza aumenta anche il tempo necessario all'elaborazione. Alla fine, più sono i dati a disposizione, più la necessità di impiegare la forza bruta (che richiede molta CPU e tempo) diminuisce.

Il comando utilizzato con Fattore di Falsificazione 4 è:

aircrack-ng -f 4 -b 00:06:25:B2:D4:19 capturefile*.ivs

La buona notizia è che ci ha permesso di andare oltre il messaggio "Attacco Fallito"; quella cattiva, invece, è che dopo 10 minuti non siamo ancora riusciti ad ottenere la chiave.

Il secondo tentativo ha seguito l'approccio "se poco è buono, di più è meglio"; abbiamo quindi raddoppiato il fattore di Falsificazione, portandolo a 8, anche se i 30 minuti di esecuzione suggeriti da aircrack-ng non sono trascorsi completamente. Anche in questo caso il comando è stato lasciato in esecuzione per un po' di tempo e, ancora, senza alcun risultato.

Per il terzo tentativo abbiamo deciso di combinare il fattore di falsificazione 8 con l'opzione -x2 per usare la forza bruta almeno sugli ultimi due byte della chiave invece della modalità normale, in cui si usa la forza bruta solo sull'ultimo byte. Il comando è:

aircrack-ng -f 8 -x2 -b 00:06:25:B2:D4:19 capturefile*.ivs

e si è trattato proprio del comando che ci ha permesso di trovare la chiave tanto agoniata, come mostrato nella Figura 10.

Tutti i tentativi descritti fin'ora, sono stati presi dalla sezione Usage Tips: General approach to cracking WEP keys (Consigli d'uso: introduzione alla rottura di chiavi WEP) del sito di aircrack-ng; assolutamente da tenere come punto di riferimento nel caso in cui abbiate problemi a rompere una chiave, nonostante l'aver catturato tutti gli IV consigliati.

Abbiamo fatto qualche tentativo anche con un attacco PTW, per vedere se era davvero così veloce e, come mostra la Figura 12, fa proprio quello che si dice!


Figura 12: aircrack 0.9.1 utilizzando l'attacco PTW. (Cliccate sull'immagine per ingrandirla)

Airdump-ng ha impiegato circa un minuto per catturare i 38721 IV della Figura 12 e aircrack-ng 0.9.1 meno di un minuto per trovare la chiave. Effettivamente, aircrack ha scoperto la chiave quasi un'istante dopo la partenza, avendo a disposizione abbastanza IV. I 55 secondi mostrati nella Figura 12 sono dovuti al fatto che abbiamo lanciato aircrack-ng dopo aver catturato soli 5000 IV.

Abbiamo imparato una lezione importante, anche se può sembrare più che altro un dettaglio (l'intera procedura dura meno di un minuto): scaricare ed installare aircrack-ng 0.9.1 con l'attuale versione di BT2 vale assolutamente la pena!

Conclusioni

Il protocollo WEP non è stato progettato per rendere una rete inespugnabile, ma semplicemente per creare una WLAN con un livello di sicurezza e privacy paragonabile a quello che ci si aspetta da una LAN via cavo. É chiaramente indicato dal suo nome esteso: "Wired Equivalent Privacy". Recuperare una chiave WEP equivale, quindi, ad ottenere accesso fisico ad una rete via cavo; quello che succede dopo dipende dalle procedure impiegate per mettere al sicuro le risorse collegate alla rete stessa.

Per garantire un minimo di sicurezza alle proprie LAN wireless, le grandi società hanno da sempre utilizzato sistemi di identificazione e qualche volta VPN; sfortunatamente, molte realtà casalinghe e di piccole società non dispongono delle capacità, degli equipaggiamenti, delle conoscenze o del più fondamentale desiderio di controllare gli accessi alla propria rete tramite autenticazione.

Come abbiamo detto all'inizio, è cambiato molto da quando abbiamo scritto la prima versione di questo articolo. Gli strumenti a disposizione sono stati migliorati e resi più potenti, come può confermare chiunque abbia utilizzato il pacchetto di strumenti aircrack.

Anche il panorama wireless è cambiato nel tempo. Gli utenti finalmente si muovono verso sicurezze WPA e WPA2, invece che WEP; questa tendenza potrebbe effettivamente accelerare col passaggio al Draft 11n, che da le migliori prestazioni con WPA2, mentre quando si usa WEP non regge il passo delle velocità di 802.11g. Anche gli utenti che non si sono ancora spostati a WPA/WPA2 utilizzano almeno WEP; sembrerebbe quindi che stiano ascoltando tutti i nostri avvertimenti.

Siamo sicuri che nessuno dei lettori di Tom's Hardware sia così sprovveduto da utilizzare WEP, specialmente perché rompere chiavi WEP non è una possibilità nata oggi. Pensate però ai vostri amici e familiari, forse non sono a conoscenza delle limitazioni della crittografia che hanno scelto, alcuni potrebbero persino ignorare il fatto che un minimo di crittografia è necessaria. Abbiamo fatto abbastanza esperimenti nei nostri laboratori per poter dire che la metà delle reti wireless WEP rivelate nei dintorni funziona sullo stesso hardware, non più vecchio di un anno, venduto dalla più grossa compagnia di banda larga del paese.

Ricordate! con molto potere arrivano anche molte responsabilità! Utilizzate le vostre nuove capacità per mostrare ai vostri amici, familiari e colleghi che le loro reti WEP forniscono solo un'illusione di sicurezza.

Vorremmo ringraziare le seguenti persone e siti che hanno collaborato alla produzione di questo articolo:

  • Christophe Devine e tutti coloro che contribuiscono all'evoluzione del software aircrack-ng
  • Max Moser e il resto della squadra exploit-remoti per BackTrack
  • UmInAsHoE di governmentsecurity.org
  • David e gli altri per i loro consigli su come utilizzare il chipset Ralink.

Appendice 1: Utilizzare PTW

Da quando è nato Backtrack, l'intero pacchetto aircrack-ng è stato ulteriormente potenziato con l'inserimento di qualche strumento più moderno . La modifica più importante è sicuramente l'aggiunta del metodo di rottura di chiavi WEP PTW, che necessita di molti meno IV per fare il suo dovere. Potete trovare i risultati dei nostri test qui.

Se volete usare il metodo PTW, avrete bisogno di scaricare ed installare l'ultimissima versione di aircrack-ng dal loro sito (al momento in cui scriviamo questo articolo, la versione più aggiornata è la 0.9.1)

Dopo esservi autenticati in BT2, digitate il seguente comando per scaricare ed installare aircrack-ng 0.9.1:

wget http://download.aircrack-ng.org/aircrack-ng-0.9.1.tar.gz

tar -zxvf aircrack-ng-0.9.1.tar.gz

cd aircrack-ng-0.9.1

make

make install

L'intero processo tarda meno di un minuto per completarsi. Fate attenzione perché dovrete ripetere questa procedura ogni volta che lancerete BT2, a meno che non installiate BT2 sul vostro hard disk.

Per usare PTW, avrete bisogno di catturare i pacchetti interi, invece che i soli IV; per questo dovrete omettere il parametro --ivs dalla riga di comando di airodump:

airodump-ng --channel [Canale AP] --bssid [BSSID AP] --write capturefile ath0

Dovrete anche aggiungere il parametro -z alla riga di comando di aircrack-ng che vedete nel tutorial, e assicuratevi di usare l'estensione .cap invece che .ivs per i file catturati. Per esempio:

aircrack-ng -z -b 00:06:25:B2:D4:19 capturefile*.cap

Appendice 2: Utilizzare il chipset Ralink

Un'altra scheda WLAN che abbiamo usato era l'Edimax EW-7318USG. Questa scheda USB è supportata dal pacchetto aircrack-ng (così come Kismet, se preferite usare quest'ultimo) ed utilizza un chipset Ralink. Particolare molto importante, permette di connettere una antenna esterna.

Abbiamo recuperato questa unità in Inghilterra, dalla Dabs, ma si tratta di un dispositivo che viene distribuito sotto molti marchi; per esempio potreste trovarlo, negli Stati Uniti, anche come Hawking HWUG1 (a circa 43$). Può essere collegato ad un cavo di estensione USB e ad un'antenna ad alto guadagno opzionale, per poi essere posizionato su una finestra di casa o in macchina così da ottenere una miglior copertura del segnale.

Questo adattatore comunque, richiede alcuni passi aggiuntivi da seguire per poter essere usato al meglio durante un attacco ARP Replay.

BT2 utilizza il driver RT2500 di default per questa scheda, ma non supporta packet injection; avrete quindi bisogno di forzare BT2 ad utilizzare i driver RT73.

Rimuovete la scheda e digitate il seguente comando in una finestra di shell di BT2:

modprobe rt73

Reinserite il dispositivo e controllate che sia acceso e funzionante digitando:

ifconfig rausb0 up

Successivamente dovrete abilitare le intestazioni PRISM, consentire la trasmissione mentre si è in modalità Monitor e impostare la scheda per la stessa modalità Monitor :

iwpriv rausb0 forceprism 1

iwpriv rausb0 rfmontx 1

iwconfig rausb0 mode monitor

Potete seguire il resto della guida partendo dal punto 3, sostituendo rausb0 ogni volta che incontrate un ath0 nelle righe di comando.

Riassunto dei comandi

Passaggio alla modalità Monitor con airmon-ng

airmon-ng stop [scheda WLAN]

airmon-ng start [scheda WLAN]

Controllo Wireless con airodump-ng

airodump-ng --ivs --write [prefisso capturefile] [scheda WLAN]

Controllo Wireless con airodump-ng 0.9.1 per PTW

airodump-ng --write [prefisso capturefile] [scheda WLAN]

Cattura IV con airodump-ng

airodump-ng --ivs --channel [canale AP] --bssid [BSSID AP] --write capturefile [scheda WLAN]

Cattura IV con airodump-ng 0.9.1 per PTW

airodump-ng --channel [canale AP] --bssid [BSSID AP] --write capturefile [scheda WLAN]

aireplay-ng con ARP Replay

aireplay-ng --arpreplay -b [BSSID AP] -h [indirizzo MAC del client, preso da airodump] [scheda WLAN]

Rottura chiave WEP con aircrack-ng

aircrack-ng -b [BSSID AP] [nome dei file catturati]*.ivs

Rottura chiave WEP con aircrack-ng e Fattore Falsificazione 4

aircrack-ng -f 4 -b [BSSID AP] [nome dei file catturati]*.ivs

Rottura chiave WEP con aircrack-ng, Fattore di Falsificazione 8 e Forza bruta sugli ultimi 2 byte

aircrack-ng -f 8 -x2 -b [BSSID AP] [nome dei file catturati]*.ivs

Rottura chiave WEP con aircrack-ng 0.9.1 e metodo PTW

aircrack-ng -z -b [BSSID AP] [nome dei file catturati]*.cap

 

scopri altri contenuti su

ARTICOLI CORRELATI