Molto spesso, leggiamo allarmistici articoli nei quali l'utenza viene messa in guardia: "le reti senza fili possono costituire un rischio per la sicurezza", ci sentiamo ripetere da anni.
Stanco di sentir solo parlare di questo argomento, ho deciso di valutare in prima persona la situazione, allo scopo di capire quanto ci sia vero. Nel corso di questo articolo, riporterò le esperienze raccolte, ed illustrerò a tutti gli interessati come sia possibile cimentarsi nel "crack" di una rete wireless utilizzando un semplice PC e alcuni strumenti gratuiti.
Prima di passare alla trattazione vera e propria, credo sia importante proporre, in modo sommario, le conclusioni alle quali sono arrivato.
Innanzitutto, per poter violare una rete wireless in maniera agevole, è necessario che il servizio sia in uso da parte di un client dotato dell'opportuna chiave (la "password di rete"). In altre parole, se siete solamente voi e l'access point, la cosa risulta infattibile o, comunque, estremamente meno pratica.
Verificata questa premessa, scopriremo ben presto che le reti protette con il vetusto protocollo WEP sono veramente insicure come si dice: con i giusti programmi, un minimo di competenza tecnica ed un po' di pazienza, è possibile entrare in questo tipo di infrastrutture senza grossi problemi, anche in caso si stesse utilizzando un PC molto datato.
Il discorso è completamente differente per le reti protette da WPA oppure WPA2: le possibilità di riuscire a forzare una rete wireless che utilizzasse uno di questi sistemi è decisamente ridotta. Per la precisione, nel corso delle prove è emerso chiaramente che non è possibile, oggi, accedere ad una rete WPA/WPA2 configurata per utilizzare una chiave di rete sufficientemente robusta.
Parliamoci chiaramente: quanto andremo a proporre di seguito può essere utilizzato anche a scopi illegali. L'obbiettivo di questo articolo non è però tanto quello di permettervi di scroccare la rete del vicino, ma, piuttosto, offrirvi la metodologia giusta per valutare in prima persona il livello di sicurezza della vostra rete o di quella di un amico che vi abbia esplicitamente autorizzato.
In caso l'etica non fosse il vostro forte, vi ricordo che le conseguenze legali che si prospettano per coloro che fossero "pizzicati" a commettere violazioni di questo tipo sono tutt'altro che trascurabili: ne abbiamo parlato in "I delitti contro la riservatezza informatica e telematica".
E non pensate di poter scaricare barile: come sempre, MegaLab.it declina ogni responsabilità.
Detto questo, possiamo iniziare con la preparazione degli strumenti necessari.
Per primissima cosa, scaricate l'archivio Dizionario Italiano che trovate allegato a questo articolo (è raggiungibile dalla colonna gialla di destra).
Al suo interno, troverete un file denominato MegaLab.it.dic. Estraetelo direttamente a livello radice del vostro disco fisso c: e rinominatelo in dizionario.dic.
Per il momento, fidatevi: il perché ci serva questo documento diverrà chiaro in seguito.
Per raggiungere il nostro scopo, dovremo utilizzare una distribuzione Linux appositamente progettata per gli smanettoni ed i professionisti della sicurezza: lo strumento si chiama BackTrack, ed è liberamente scaricabile partendo da qui (il file d'interesse si chiama BackTrack 4 Final Release).
Tranquilli, non sarà necessario installare BackTrack sul disco fisso. La distribuzione è infatti veicolata come pratico LiveDVD, grazie al quale è possibile utilizzare gli strumenti offerti senza lasciare traccia alcuna.
Il file scaricato è un'immagine ISO che dovrete masterizzare su un DVD, oppure trasferire su chiavetta USB.
A questo punto, inserite il supporto sul vostro computer dotato di scheda di rete wireless, modificate opportunamente l'ordine di boot per avviare dal dispositivo e attendete il caricamento del menu iniziale
Utilizzate le frecce per spostarvi su StartBackTrack FrameBuffer (1024x768) e premete Invio per partire.
Una volta che sarete dinnanzi al prompt root@bt:~#, impartite il comando startx per avviare l'ambiente grafico
Benvenuti su BackTrack.
Spiacente, la distribuzione parla solamente in inglese. Fortunatamente però, è possibile cambiare il layout affinché il sistema operativo riceva correttamente i caratteri immessi dalle tastiere italiane.
Per farlo, cliccate ripetutamente sulla piccola bandiera americana in basso a destra fino a quando non arriverete a it.
Cliccate con il pulsante destro del mouse sul desktop e selezionate Create New -> Folder. Assegnate alla cartella il nome disco_c.
Aprite quindi una finestra di terminale tramite la piccola icona nera presente alla sinistra della barra delle applicazioni e digitate il comando mount /dev/sda1 disco_c (oppure mount /dev/hda1 disco_c, in caso Windows fosse installato su un vecchio disco fisso IDE/Parallel-ATA). In caso tutto andasse per il verso giusto, avrete così accesso alla vostra partizione Windows dall'interno di BackTrack semplicemente aprendo la cartella disco_c che avevate creato sul desktop.
In caso il comando non andasse a buon fine, è possibile che il disco fisso non sia identificato come hda o sda: lanciate fdisk -l per accedere ad una lista di tutte le partizioni e, impiegando il vostro acume tecnico, adattate il comando mount illustrato poco fa per montare l'opportuna partizione contenente Windows
Passiamo ora alla fase di raccolta delle informazioni.
Linux assegna ad ogni scheda di rete presente sul sistema un nome formato da una stringa (generalmente eth, ma può variare) seguita da un progressivo numerico. Per prima cosa quindi, dobbiamo scoprire quale nome sia stato assegnato alla nostra scheda wireless.
Impartite il comando iwconfig nella finestra di terminale aperta poco fa
Otterrete così un elenco di tutte le schede installate sulla macchina: la maggior parte saranno non-wireless, e riporteranno quindi la dicitura no wireless extensions.. Almeno una di esse però, dovrebbe riportare una serie di informazioni aggiuntive: prendete nota del nome presente nella prima colonna (eth1, nell'immagine proposta).
In caso nessuna delle schede presenti fosse correttamente riconosciuta come adattatore senza fili, sarete costretti ad interrompere qui la vostra attività: purtroppo, il vostro modello non è supportato.
Dovete ora far sì che la scheda di rete passi in modalità "monitor", ovvero sia in grado di catturare tutti i pacchetti in circolazione nell'etere pur senza associarsi ad uno specifico access point.
Impartite quindi il comando airmon-ng stop eth1, sostituendo a eth1 il nome della vostra interfaccia di rete wireless (scoperto al passo precedente)
Subito dopo, lanciate il corrispondente airmon-ng start eth1
Se tutto sarà andato per il verso giusto, potrete leggere il nome della vostra scheda seguito da altre informazioni tecniche e, cosa più importante, la dicitura (monitor mode enabled).
Se così non fosse, avete un problema di compatibilità: anche in questa circostanza c'è ben poco che possiate fare.
Arrivati a questo punto, possiamo cercare le reti wireless attualmente raggiungibili. Impartite airodump-ng eth1 (al solito, sostituendo a eth1 il nome della vostra interfaccia di rete wireless)
Dovreste poter individuare la rete che volete testare, corredata da una serie di dati tecnici. Quelli che ci interessano sono:
Prendete nota in maniera chiara di queste informazioni poiché ci serviranno fra poco.
Una volta che avremo ottenuto questi dati, premete Ctrl+c da tastiera per interrompere l'esecuzione di airodump-ng.
Dobbiamo ora procedere in maniera differente a seconda che la rete sia protetta da WEP oppure da WPA/WPA2.
Se la rete che volete testare utilizza il protocollo WPA o WPA2, dovete innanzitutto impartire un comando simile a questo: airodump-ng -c NumeroDelCanale -w disco_c/NomeFileInCuiScrivere --bssid BssidDell'AccessPoint eth1
In particolare:
A titolo di esempio, andrete a lanciare qualcosa del genere: airodump-ng -c 11 -w disco_c/infostrada --bssid 00:1c:a2:dc:d5:f5 eth1
Arrivati a questo punto, dovrete solamente attendere che un client scambi un pacchetto "speciale" con l'access point.
Un cracker che cercasse di violare la vostra rete dovrà prepararsi ad un'attesa abbastanza lunga prima di riuscire ad intercettare l'informazione necessarie: questo speciale pacchetto viene inviato solamente al momento in cui si instaura la connessione fra un client e l'access point.
Poiché state testando la vostra rete, dovrete simulare l'attività di un client lecito: potete utilizzare un PDA con adattatore wireless (come ho fatto io), oppure chiedete ad un amico di farvi visita con il proprio notebook ed invitarlo ad usare la vostra connessione rivelandogli la password.
Frattanto, tenete d'occhio la prima riga di airodump-ng e, in particolare, lo spazio che segue la data corrente: non appena il pacchetto giusto sarà stato ricevuto, comparirà qui la dicitura [ WPA handshake: ].
A questo punto, potrete chiudere airodump-ng tramite la combinazione da tastiera Ctrl+c. Avete ottenuto quello che vi interessava: spegnete il PDA o ringraziate l'amico per la sua visita.
La pazienza è l'arma migliore per ottenere l'informazione necessaria. Se però iniziate a stufarvi ma ancora airodump-ng non è riuscito a catturare il pacchetto, potete tentare di impiegare un altro comando, mediante il quale farete credere al client che l'access point abbia richiesto la re-autenticazione, generando così nuovamente il pacchetto che desideriamo catturare.
Senza chiudere airodump-ng (aprite una nuova finestra di terminale tramite l'icona presente nella barra di avvio veloce), lanciate un comando simile a questo: aireplay-ng -0 5 -a BssidDell'AccessPoint -c IndirizzoDelClient eth1
In particolare:
A titolo di esempio, andrete a lanciare qualcosa del genere: aireplay-ng -0 5 -a 00:1C:A2:DC:D5:F5 -c 00:18:DE:6b:72:13 eth1
A comando lanciato, tenete d'occhio nuovamente la finestra di airodump-ng per rilevare la cattura del pacchetto.
C'è da dire che, nel corso delle mie prove, questa tecnica non sempre ha funzionato correttamente: poiché il "falso" messaggio di riconnessione deve essere inviato direttamente dal vostro computer al client, è necessario che i due calcolatori siano relativamente vicini. La potenza di trasmissione delle antenne dei client è infatti nettamente inferiore a quella dell'access point.
Una volta che airodump-ng conferma di essere riuscito a catturare il pacchetto speciale, è possibile avviare l'operazione di crack vera e propria.
Per farlo, lanciate un comando simile a aircrack-ng disco_c/NomeFileDaCuiLeggere*.cap -w disco_c/dizionario.dic
In particolare, troviamo:
Preparatevi nuovamente ad attendere mentre il vostro sistema tenta di craccare la chiave. Al termine dell'operazione, potrete trovarvi davanti a due situazioni: o il programma ha individuato la password di rete, oppure non vi è riuscito
Appare evidente che l'unica possibilità affinché l'assalto vada a buon fine è che la chiave utilizzata sia una delle stringhe presenti nel dizionario: in caso la password fosse differente (nel corso delle mie prove, avevo provato anche con un semplicissimo casacane1), l'operazione non andrà a buon fine.
Chi volesse eseguire test di più ampia portata, vorrà scaricare dizionari più ricchi rispetto a quello fornito da MegaLab.it. Un buon punto di partenza è questa pagina, dalla quale è possibile ottenere diversi archivi da alcuni GB di password pre-calcolate.
I più intraprendenti vorranno poi provare anche questo maxi-archivio da ben 33 GB.
A questa pagina sono poi disponibili altri riferimenti per scaricare dizionari validi.
Se la rete che volete testare utilizza il protocollo WEP, dovete invece seguire questo secondo gruppo di istruzioni.
A titolo di esempio, andrete a lanciare qualcosa del genere: airodump-ng -c NumeroDelCanale -w disco_c/NomeFileInCuiScrivere --bssid BssidDell'AccessPoint eth1
In particolare:
A titolo di esempio, andrete a lanciare qualcosa del genere: airodump-ng -c 8 -w disco_c/mia_rete_wep --bssid 00:1B:11:99:70:9A eth1
Arrivati a questo punto, dovrete solamente attendere che airodump-ng catturi una quantità elevata di pacchetti "leciti" in transito sulla rete:
L'indicazione è riportata nella colonna Packets di airodump-ng (ultima riga in basso a destra). In caso questa riga non fosse presente (o il numero di pacchetti rimanesse statico a lungo), significa che nessun client sta attualmente utilizzando la rete wireless in questione, e c'è ben poco che possiate fare.
Assunto che la rete sia in uso, quanti pacchetti è necessario intercettare? di preciso, è difficile dirlo: più pacchetti catturate, maggiori saranno le probabilità di violare la chiave. In linea di massima, possiamo orientarci sul valore di riferimento 1.000.000 (un milione): con tale mole di dati a disposizione, la riuscita del crack sarà pressoché assicurata.
Spannometricamente, per catturare una tale mole di dati, sarà necessario rimanere in ascolto per circa un paio d'ore. In caso la rete fosse molto trafficata (ad esempio, fosse utilizzata da più di un client "lecito" contemporaneamente) il tempo necessario scende in maniera più o meno proporzionale.
Poiché state testando la vostra rete, dovrete simulare l'attività di un client lecito: potete utilizzare un PDA con adattatore wireless (come ho fatto io), oppure chiedete ad un amico di farvi visita con il proprio notebook ed invitarlo ad usare la vostra connessione rivelandogli la password. Per generare il numero di pacchetti richiesto più velocemente, scaricate file di grosse dimensioni contemporaneamente (i Service Pack di Windows Vista, ad esempio) mentre guardate qualche video di YouTube.
Arrivati più o meno attorno al milione di pacchetti, potrete chiudere airodump-ng tramite la combinazione da tastiera Ctrl+c. Avete ottenuto quello che vi interessava: spegnete il PDA o ringraziate l'amico per la sua visita.
La pazienza è l'arma migliore per collezionare i pacchetti necessari. Se però iniziate a stufarvi, potete tentare di impiegare un tecnica mediante la quale "stimolare" il traffico, e raccogliere così i pacchetti in maniera molto più rapida.
Non approfondirò qui questa tecnica per un motivo molto semplice: la scheda di rete del computer sul quale state lavorando deve essere in grado di compiere un'operazione chiamata packet injection affinché questa "scorciatoia" possa essere applicata: il mio modello, Intel 220BG, non è in grado di svolgere questo tipo d'attacco (se non smanettando abbastanza intensamente): non mi è stato quindi possibile testare la procedura.
Gli interessati possono leggere la documentazione ufficiale per tutti i dettagli in merito.
Ad ogni modo, ribadisco che non si tratta di un passaggio indispensabile per riuscire a craccare con successo una chiave WEP.
Una volta che avete raccolto i pacchetti, potete avviare l'operazione di cracking vera e propria.
Per farlo, lanciate un comando simile a aircrack-ng disco_c/NomeFileDaCuiLeggere*.cap -K -b BssidDell'AccessPoint
In particolare, troviamo:
Preparatevi nuovamente ad attendere mentre il vostro sistema tenta di craccare la chiave. In questo caso, a meno che non abbiate raccolto un numero insufficiente di pacchetti, il crack va sempre a buon fine molto rapidamente (meno di due minuti, sul mio vetusto Pentium M 1.5 GHz): la chiave di rete vi sarà mostrata in maniera piuttosto chiara
La procedura funziona sia con la cifratura WEP a 64 bit, sia contro quella a 128 bit. L'unica differenza sta nei tempi necessari ad ottenere il crack: nel secondo caso infatti, sono un pochino più lunghi.
Nel corso di questo articolo abbiamo visto quale sia il reale livello di pericolo associato alle reti wireless.
In caso la vostra infrastruttura fosse ancora protetta da WEP, siete esposti (quasi) come foste senza alcuna protezione. A meno che non siate ragionevolmente sicuri di riuscire a contenere il rischio (ad esempio, avete limitato la potenza di trasmissione dell'antenna affinché il segnale non raggiunga l'esterno dell'abitazione), la mia raccomandazione è una soltanto: investite immediatamente un po' di tempo e denaro per ammodernare il tutto, passando al più robusto WPA2.
Se invece già utilizzate WPA o WPA2, potete dormire sonni tranquilli: sinceratevi solamente che la chiave di rete non faccia parte di un dizionario e che, ancora meglio, sia stata scelta in modo sicuro. Così facendo, la vostra rete dovrebbe essere quasi-impenetrabile.
Nel corso delle ricerche necessarie alla preparazione di questo articolo, mi sono imbattuto in molti messaggi nei quali si chiedeva quale fosse il livello di sicurezza della chiave di rete di default utilizzata nei router forniti da Telecom Italia (Alice ADSL) e dagli altri operatori.
Sebbene qualcuno sostenga che sia possibile craccare queste chiavi poiché generate in maniera pre-determinata, la verità è che non nessuno è ancora realmente riuscito a dimostrarlo.
La maggior parte di questi dispositivi è infatti configurata con una chiave WPA2 costituita da 12 o più caratteri alfanumerici, combinati di modo da comporre una stringa non presente in alcun dizionario: questo significa che sono possibili qualche miliardo di miliardi di combinazioni possibili, ovvero una quantità talmente elevata da risultare craccabile solamente in... alcune ere geologiche: stando a quanto calcolabile, servirebbero circa 518.625.702 anni per violare una password di questo tipo.
Questo articolo è stato realizzato come sunto di numerose prove svolte sul campo, utilizzando i programmi come indicato nella documentazione ufficiale.
Chi volesse saperne di più, può trovare una marea di informazioni e domande su forum.aircrack-ng.org (forum ufficiale di aircrack-ng) oppure presso forums.remote-exploit.org (forum ufficiale di BackTrack).
MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .
Copyright 2008 MegaLab.it - Tutti i diritti sono riservati