Sicurezza Wireless: trovare le reti, sniffare il traffico e altri trucchi

Pubblicato il 18/11/2007 14:50:00 | Sezione Networking

Sicurezza Wireless: trovare le reti, sniffare il traffico e altri trucchi





Introduzione

Le reti wireless oramai ci circondano. Dovunque ci muoviamo con il nostro portatile le probabilità di trovare una rete senza fili nelle vicinanze sono molto alte, soprattutto in città. La diffusione di apparecchi come router wireless in abbinamento ad offerte ADSL ha esteso facilmente la disponibilità di tali reti in tutti gli ambienti e contemporaneamente sempre più persone si sono dovute scontrare con l'installazione e configurazione di questo tipo di apparati. La disinformazione e l'inesperienza di tante di questi utenti, o forse anche semplicemente la pigrizia, ha prodotto come effetto collaterale che una percentuale molto elevata di queste reti "casalinghe" ( ma vi stupirete di come il fenomeno sia diffuso anche in realtà dove il concetto di sicurezza dovrebbe avere un valore ancora più elevato se non altro per l'importanza delle informazioni che possono "viaggiare" alla mercè di chiunque ) è dotata di un'infrastruttura di sicurezza decisamente debole o a volte completamente inesistente. In questo articolo cercheremo di illustrare gli errori più comuni che vengono commessi dagli utenti e come i pirati informatici ( hackers ) possono cercare di sfruttarli per penetrare nelle reti wireless altrui.

NOTA BENE: nel redigere questa guida si è assunto che il lettore sia già in possesso di una certa padronanza, seppur vaga, degli argomenti trattati.

DISCLAIMER: questa guida è stata scritta a scopo puramente educativo. L'autore declina ogni responsabilità per qualsiasi utilizzo improprio delle informazioni contenute nella stessa.




Gli strumenti da lavoro

Se vogliamo effettuare anche un semplice controllo delle condizioni di sicurezza della nostra rete ( avete letto bene, "nostra", non fate nessuna delle prove indicate in questa guida senza il permesso del proprietario della rete stessa ) abbiamo bisogno di alcuni strumenti, software e hardware.

Prima di tutto ci serve un computer, portatile possibimente così sarà più semplice spostarlo per verificare le reti "visibili" di volta in volta. Chiaramente per poter effettuare qualsiasi operazione su una rete wireless è necessario possedere appunto una scheda di rete Wi-Fi ma fortunatamente si tratta di un accessorio che viene oramai integrato in tutti i portatili da qualche anno per cui se il vostro portatile è abbastanza recente dovreste aver già soddisfatto automaticamente questo requisito. Per chi invece volesse utilizzare un PC Desktop fisso oppure non avesse a disposizione un portatile equipaggiato con scheda di rete wireless l'unica soluzione è acquistarne una. Le schede wireless più diffuse sono disponibili con interfaccia USB o PCMCIA, la seconda utilizzabile solo su computer portatili dotati di tale slot. E' importante utilizzare una scheda che sia ben supportata su sistemi operativi Linux-based dato che gli strumenti di tipo software sono quasi tutti essenzialmente sviluppati per questa piattaforma o funzionano in generale meglio che nei sistemi Windows, principalmente per la presenza di driver non ufficiali che permettono di effettuare operazioni particolari sulla scheda ( spiegheremo poi più in dettaglio nel corso dell'articolo ).

Abbiamo parlato di sistemi Linux per l'utilizzo degli strumenti software necessari per le nostre analisi. Senza dover andare a recuperare ogni singolo pacchetto da internet, installarlo e sperare che poi funzioni correttamente possiamo avvalerci di una distribuzione del pinguino molto famosa tra i professionisti della sicurezza ovvero BackTrack 2. Si tratta di un sistema operativo eseguibile direttamente da CD ( una distribuzione "live" quindi ) che integra al suo interno una vasta scelta, oltre 300, di strumenti per il "penetration testing" ( spesso abbreviato in pentesting ) il tutto corredato da un comodo ambiente grafico KDE ( o Xfce se preferite il minimalismo ) e da tutti gli strumenti essenziali per gestire il sistema operativo in tutte le sue componenti.

Quello che dobbiamo fare è quindi procurarci un'immagine ISO di BackTrack. Potete scegliere l'URL di download da questa pagina di elenco dei vari mirror. Una volta scaricata l'immagine dovrete masterizzarla utilizzando un software apposito, per esempio, se utilizzate Windows, Nero Burning Rom o CDBurnerXP ( quest'ultimo freeware ).

Bene ora abbiamo tutto il necessario per le nostre prove, possiamo iniziare!




Avviamo BackTrack

Come abbiamo detto BackTrack 2 è un sistema operativo Linux di tipo "live", ovvero è possibile utilizzarlo senza installarlo ma semplicemente effettuando il boot dal lettore di supporti ottici. Impostare la sequenza di boot con il lettore CD come primo dispositivo è un'operazione la cui esecuzione può variare da computer a computer a seconda del BIOS installato e chiaramente non possiamo descriverla dettagliatamente per ogni caso. Se non sapete come fare consultate il manuale della vostra scheda madre oppure chiedete aiuto nel nostro Forum.

Una volta inserito il CD di BackTrack 2 nel lettore e impostata la sequenza di boot, dopo l'iniziale fase di POST ( Power-On Self Test ) del computer, vi verrà presentata una linea di comando con un cursore lampeggiante. Premendo semplicemente il tasto Invio inizierà il caricamento del sistema operativo ma, in caso di problemi, sarà possibile tramite la suddetta linea di comando inserire dei parametri aggiuntivi per disabilitare/abilitare alcune opzioni. Per lanciare BackTrack per esempio con l'opzione "nopcmia" che disabilita lo slot PCMCIA dovete inserire la seguente stringa:

bt nopcmcia


Potete trovare un elenco ridotto dei vari parametri che potete utilizzare con una relativa breve descrizione a questo indirizzo oppure premendo il tasto F2 in corrispondenza del prompt di avvio.

Una volta completata la procedura di caricamento BackTrack vi presenterà una console di testo da cui effettuare il login al sistema operativo. I dati per effettuare l'accesso sono chiaramente fissi dato che l'avvio viene effettuato dal CD. Inserite "root" come nome utente e "toor" ( il contrario di root, che fantasia! ) come password, entrambi senza le doppie virgolette. Se doveste dimenticarli non abbiate timore, il sistema è così gentile da ricordarveli.
Ora che avete effettuato il login potete inserire comandi nella shell. Per ora limitatevi ad inserire il comando

startx


il quale si occuperà di avviare l'ambiente grafico KDE con il quale sarà più semplice e comodo interfacciarsi con il sistema operativo ed utilizzare le varie applicazioni.

Per lanciare invece il sistema utilizzando l'ambiente grafico Xfce ( molto minimalista ) utilizzate il comando

xfce


Completata la procedura di avvio di KDE dovreste vedere un ambiente grafico molto simile a questo.






Esploriamo il sistema

NOTA BENE: ricordatevi che BackTrack è una distribuzione "live" di Linux che utilizza la vostra RAM come hard disk virtuale e che legge i suoi dati da CD. Per questo è sicuramente più lenta di un sistema operativo installato comunemente su disco fisso ma soprattutto ogni cambiamento che apporterete alla configurazione del sistema o ogni nuovo file che creerete nel disco fisso virtuale verrà perso una volta riavviato il PC. Se volete salvare qualche file il mio consiglio è quello di memorizzarlo nel disco fisso del PC contenente il vostro sistema operativo primario oppure in una chiavetta USB. E' bene ricordare che BackTrack NON supporta la scrittura su partizioni NTFS.

Per prima cosa impostiamo la tastiera per funzionare con il layout italiano. Clicchiamo con il tasto destro del mouse sulla bandierina in basso a destra e selezioniamo la bandiera italiana.

Se avete già una certa confidenza con sistemi Linux e soprattutto con l'ambiente grafico KDE probabilmente sarete già in grado di muovervi con una discreta scioltezza. Se invece siete un po' a digiuno di Linux vi consiglio di iniziare cercando di fare un po' di esperienza con il sistema operativo.

Nel corso della nostra guida useremo molto spesso il terminale dei comandi che potete avviare premendo la seconda iconda da sinistra in basso ( quella con l'immagine di un monitor ). Si avvierà Konsole, un emulatore di terminale per KDE e il vostro desktop si presenterà in questo modo:



Le icone in basso a sinistra rappresentano, nell'ordine, il menù di KDE, dal quale in pochi click potete lanciare le varie applicazioni installate oppure avviare gli strumenti di configurazione del sistema, il terminale come già visto, il browser Web Firefox, il file manager e un editor di testo, sempre utile se volete annotarvi qualche informazione.

Chiaramente essendo questa non una guida sull'uso di Linux generico non ci dilunghiamo tanto sulla questione dell'utilizzo delle funzioni di base. Purtroppo una scarsa conoscenza dei sistemi Linux-based è un forte limite all'utilizzo delle tecniche che elencheremo di seguito, soprattutto se la configurazione standard e automatica del sistema non dovesse essere ottimale o dovessero esserci dei problemi con i driver. Per questo esiste il Forum.




Gestione della scheda wireless e connessione alle reti

Per i nostri obiettivi la componente hardware che ci interessa di più del nostro sistema è sicuramente la scheda di rete wireless. E' necessario che BackTrack la riconosca correttamente e che provveda a caricare i driver necessari in modo automatico all'avvio. Se questo non avviene probabilmente c'è qualche situazione di incompatibilità e potrebbe rendersi necessario installare dei driver appositi o aggiornare quelli già esistenti. Incrociando le dita provate ad avviare un terminale e date il comando:

iwconfig



Dovreste vedere una lista delle interfacce di rete abilitate sul vostro PC con accanto la scritta "no wireless extensions" per quelle che non supportano la trasmissione wireless mentre una serie di informazioni dettagliate sullo stato della scheda nel caso sia wi-fi e sia stata riconosciuta dal sistema. Guardate come esempio la schermata seguente:



lo rappresenta l'interfaccia di "loopback", quella a cui è associato l'IP 127.0.0.1 per le trasmissioni locali mentre nel nostro caso eth0 è un'interfaccia di rete Ethernet e eth1 è la nostra scheda Intel IPW2200 integrata nel portatile. Siamo fortunati, infatti la nostra scheda ha un buon supporto come indicato anche sulla pagina relativa alla compatibilità delle schede wi-fi. Annotatevi il nome di dispositivo assegnato dal sistema operativo alla vostra scheda ( per noi è eth1 ). Ci servirà spesso in seguito.

Vediamo ora come possiamo fare per connetterci ad una rete Wireless esistente. Il sistema mette a disposizione uno strumento molto comodo denominato Wireless Assistant, accessibile tramite il menù principale che si può attivare premendo il primo tasto in basso a sinistra ( quello con l'icona con la lettera K sopra ). L'immagine seguente mostra il percorso da seguire per trovare il programma nel menù.



NOTA BENE: è importante sapere che la scheda wireless deve trovarsi in modalità "managed" per potersi connettere ad una rete senza fili. Alcuni programmi che useremo in seguito ( principalmente kismet ) configurano la scheda wireless in modalità "monitor" anche detta modalità "rfmon". Si tratta di una modalità nella quale la scheda accetta tutti i pacchetti che le arrivano senza scartare quelli che non sono direttamente destinati ad essa ma probabilmente ad altri client della rete. Se Kismet non riesce a riportare la scheda nella modalità "managed" una volta terminato potrebbe rendersi necessaria un'impostazione manuale che potete effettuare tramite il comando:

iwconfig [interfacciamode managed


dove [interfaccia] è il nome di dispositivo della vostra scheda senza fili ( eth1 per noi). Per controllare la modalità in cui sta funzionando la scheda wireless date semplicemente il comando

iwconfig


e leggere l'informazione a fianco della scritta Mode.

Il programma presenta una lista delle connessioni wireless disponibili indicando con un lucchetto quelle protette e delle stelline per rappresentare la qualità del segnale.



Selezioniamo una rete di interesse e premiamo il tasto Connect. Comparirà una prima schermata nella quale premiamo subito Next in quanto solo informativa di quello che faremo poi.

Nella seconda schermata ci viene chiesto il tipo di configurazione da utilizzare per l'indirizzo IP, manuale se vogliamo inserire manualmente i dati oppure DHCP se vogliamo eseguire il recupero automatico dei dati ( non sempre è supportato però, dipende se nella rete è attivo o meno un server DHCP ). Nel nostro caso selezioniamo Automatic.

La schermata successiva ci richiede di inserire i dettagli relativi alla protezione della rete wireless ( se pertinente ).



Se la rete utilizza WEP selezioniamo Shared Key ( chiave condivisa ) che sta appunto a significare che la rete utilizza una chiave che tutti i vari client devono conoscere per potersi collegare e inseriamo la chiave nella casella di testo sottostante ( possiamo spuntare la checkbox ASCII per inserire direttamente in formato testuale la chiave senza ricorrere alla conversione in valori esadecimali ).

Clicchiamo ancora Next e poi su Finish per completare la connessione. Dopo qualche secondo dovrebbe comparire, se tutto è andato bene, un piccolo popup in basso a destra con scritto "Connection Established".

Se invece non possiamo usare una configurazione automatica degli IP selezioniamo Manual e indichiamo manualmente i vari parametri:



Il valore di Broadcast non è necessario come neanche quello di Domain e di Secondary DNS.

NOTA BENE: è utile segnalare che questo piccolo programmino, anche se ben fatto e molto utile, presenta un fastidiosissimo bug. A volte infatti appena conclusa l'operazione di connessione alla rete ci mostra un messaggio "Connection Failed" nella parte inferiore della sua finestra principale. Il messaggio compare ovviamente se ci sono stati dei problemi ma spesso compare anche se la connessione ha avuto successo. In tal caso fate affidamento sulla comparsa in basso a destra di un piccolo fumetto che riporti la scritta "Connection Established".




Usiamo Kismet

Prima di imparare ad utilizzare questo potentissimo strumento spieghiamone brevemente il funzionamento e cerchiamo di capire quali sono i principi su cui si basa.
Kismet è un wireless network detector ( rilevatore di reti wireless ) con funzioni di "packet sniffer". Questo significa che oltre ad essere in grado di rilevare la presenza di reti Wi-Fi 802.11 è anche in grado di registrare il traffico che intercetta da reti 802.11a, 802.11b e 802.11g, i tre maggiori standard attualmente utilizzati per la realizzazione di reti senza fili. Per raccogliere i dati Kismet modifica le impostazioni della scheda di rete in modo da utilizzare la cosiddetta "monitor mode" o anche "rfmon" ( acronimo che sta per Radio Frequency Monitoring ). A differenza della modalità promiscua che consente l'intercettazione dei dati solo dopo aver associato la scheda ad una qualche rete ( quindi circoscrivendo i pacchetti raccolti a quelli della rete stessa ) la monitor mode consente di intercettare tutti i pacchetti wireless in viaggio su un particolare canale, completi di header 802.11 e compresi i pacchetti di gestione della rete. Tutta quest'attività viene svolta in modo completamente passivo ovvero senza inviare alcun pacchetto e quindi senza produrre alcun tipo di rumore nell'ambiente che stiamo ispezionando, al contrario di altri software quale NetStumbler la cui esecuzione può essere identificata. Analizzando il traffico dati Kismet è in grado di scovare reti nascoste che non producono i cosiddetti pacchetti "beacon" che altro non fanno che segnalare la presenza della rete ai possibili client in ascolto. Come abbiamo detto prima però la modalità rfmon funziona su di un solo canale alla volta; per questo Kismet implementa una tecnica denominata "channel hopping" ( letteralmente salto di canale ) attraverso la quale il programma modifica ad intervalli regolari il canale utilizzato dalla scheda wireless in modo non sequenziale.

Detto questo è importante notare che in Windows i driver per le schede wireless non supportano la modalità "monitor mode" per cui l'utilizzo di Kismet su tali sistemi è fortemente limitato. Ma fortunatamente i driver sviluppati per Linux non soffrono di questa lacuna.

Ora che abbiamo capito a grandi linee come funziona il programma possiamo provare ad avviarlo. Per farlo dovete dare il seguente comando:

kismet -c ipw2200,eth1,Intel


dove il parametro -c indica la sorgente dei pacchetti. Per identificare una sorgente si usano tre valori separati da una virgola. Il primo valore dipende dal modello della vostra scheda wireless e dai driver che sono stati caricati automaticamente da BackTrack o da voi installati. Nel nostro caso utilizziamo i driver ipw2200. Se non sapete cosa inserire come primo parametro il mio consiglio è quello di cercare su Google la sorgente di pacchetti adatta per la vostra scheda; potete inserire delle keywords come "kismet source modello-scheda". Oppure potete consultare la documentazione online di Kismet alla sezione 12 dove sono indicate le varie sorgenti supportate. Il secondo valore indica semplicemente il nome di dispositivo della nostra scheda come abbiamo precedentemente trovato con il comando "iwconfig" mentre il terzo valore è solo un identificativo e possiamo utilizzare un qualsiasi valore senza problemi.

Non appena avviato Kismet si presenterà più o meno così:



NOTA BENE: per chiudere il programma non cliccate sulla crocetta in alto a destra della finestra del terminale ma digitate "Q" premendo Shift + q.

Possiamo subito notare come l'interfaccia sia testuale e non troppo elaborata. Per usarlo dobbiamo quindi dimenticarci le comodità del "punta e clicca" con il mouse ma questo non ci spaventa, vero? Vediamo innanzitutto come si presenta la schermata principale. La maggior parte dello spazio è occupato dalla lista delle reti trovate con a destra un pannello informativo che riassume lo stato della nostra sessione di monitoraggio con alcuni utili parametri come il numero di reti trovate, il numero di pacchetti raccolti con riportata la quantità di pacchetti criptati, la velocità con il quale vengono trasmessi e il canale attualmente impostato. Il pannello Status in basso mantiene un piccolo log con le ultime informazioni relative all'esecuzione del programma.

In qualunque momento premendo il tasto "h" comparirà una sorta di finestrella popup che conterrà informazioni contestuali a quello che state visualizzando nella finestra principale di Kismet. Per chiudere questa e altre finestrelle popup che potreste volontariamente o accidentalmente aprire premete il tasto "q".

Dopo qualche secondo di esecuzione, se ci sono reti nelle vicinanze, Kismet dovrebbe cominciare a popolare la lista delle reti wireless identificate. La lista ci propone di default 8 colonne che ci forniscono in maniera immediata alcuni importanti informazioni. Ecco nel dettaglio una descrizione del significato di ognuna di esse.

Name: rappresenta il nome della rete, tecnicamente detto SSID.

T: indica il tipo della rete indicato con una sola lettera. A sta per rete con Access Point, H sta per rete Ad-Hoc tra vari nodi senza accesso centralizzato e G indica un gruppo di reti, solitamente indicato con un simbolo "+" a sinistra che significa che è possibile espandere quella voce premento appunto il tasto "+" ( premere "-" poi per richiudere il gruppo ).

W: indica se viene utilizzata ( Y ) o meno ( N ) la protezione WEP. Se viene indicato O significa che viene utilizzata una tecnica di protezione differente da WEP ( probabilmente WPA ). Consultando i dettagli della rete si avranno ulteriori informazioni.

Ch: il canale utilizzato dalla rete

Packets: il numero di pacchetti recuperati dalla rete

Flags: in questa colonna potrebbero comparire degli indicatori di stato che possono fornire alcune utili informazioni. L'indicatore F ad esempio sta a significare che la rete utilizza delle impostazioni di protezione di default ( una chiave preimpostata già nota ad esempio ), W compare quando abbiamo assegnato una chiave di decriptazione per la particolare rete mentre altri simboli rappresentano il modo con cui è stato possibile recuperare l'intervallo di indirizzi IP utilizzati nella rete in questione.

Vi sarete senz'altro accorti a questo punto che non vi è possibile selezionare una rete tra quelle listate o scorrere tra di esse. Per farlo dobbiamo prima ordinare la lista; premiamo dunque "s" che sta appunto per sort ( ordinare in inglese ) e comparirà una finestrella con le varie opzioni di ordinamento come nella schermata seguente.



Scegliamo una delle opzioni dalla lista, ad esempio l'ordinamento per canale, e premiamo la lettera corrispondente, in questo caso la "c".

Ora vedremo uno sfondo verde comparire sotto la prima voce e potremo selezionare le varie reti visibili premendo le freccette direzionali sulla tastiera. Una volta selezionata una rete potremmo visualizzarne i dettali premendo il tasto "i". Comparirà una finestra ricca di utili informazioni simile alla seguente.



Potete scorrere il contenuto della finestra come sempre con le frecce direzionali. Per chiudere la finestra premete "q". Le informazioni che per prime saltano all'occhio in questa schermata sono il SSID ( Service Set IDentifier ) che rappresenta il nome della rete e il BSSID ( Basic Service Set IDentifier ) che è il MAC ( Media Access Code ) Address dell'access point che sta pubblicizzando il servizio di connessione di rete senza fili. Il MAC Address è un numero costituito da 6 coppie di cifre esadecimali delle quali le prime 3 a partire da sinistra identificano univocamente un produttore di dispositivi di rete. Troviamo poi informazioni relative agli standard supportati dalla rete ( IEEE 802.11b, IEEE 802.11g e via dicendo ), il numero di client connessi e rilevati, il canale usato e le impostazioni relative alla cifratura della rete. La voce Privacy indica appunto se sono state poste delle misure di sicurezza nella rete e la successiva voce Encrypt indica la tecnologia utilizzata. Solitamente vedremo "None" in caso non venga utilizzata nessuna cifratura oppure WEP nel caso sia utilizzata appunto WEP ( Wired Equivalent Privacy ) oppure ancora WEP WPA PSK seguito dall'algoritmo utilizzato per la cifratura in caso di utilizzo di WPA.

E' possibile ricavare utili informazioni circa gli utenti della rete e il traffico prodotto da ognuno di essi tramite la pressione del tasto "c" che farà apparire una finestra con l'elenco dei client attualmente connessi alla rete.



Anche in questo caso è possibile ordinare la lista premendo "s" e successivamente la lettera corrispondente alla chiave di ordinamento voluta. Così facendo potrete scorrere la lista dei client e vederne i dettagli di ciascuno premendo "i" ma le informazioni che vi verranno proposte non saranno così utili come nel caso delle reti. Per i client infatti abbiamo già tutte le informazioni più importanti mostrate nelle varie colonne della lista tra le quali poniamo l'accento su MAC che indica l'indirizzo fisico della scheda di rete del client e IP Range che indica l'intervallo di indirizzi IP utilizzato dal client. L'intervallo è specificato con un numero come questo:

192.168.1.0


dove lo zero finale indica che quella porzione dell'indirizzo può variare da 1 a 255. Così se ci sono due zeri come in

172.16.0.0


il range sarà 172.16.0.0 - 172.16.255.255.

Se invece il range è espresso con un numero che non presenta nessuna porzione a valore 0 nella parte destra allora questo sarà l'indirizzo IP preciso del client come ad esempio nel caso di

192.168.1.15


Segue nella prossima pagina.




Torniamo ora alla schermata principale di Kismet ( premete "q" fin quando non vi arriverete ). Una volta selezionata una rete potete visualizzare un "dump" in tempo reale del traffico ricevibile su tale rete. Il dump presenta tutte le stringhe di caratteri umanamente leggibili ed è visualizzabile premendo il tasto "d". Se la rete non è protetta da cifratura ed è attualmente utilizzata, ovvero c'è del traffico, vedrete velocemente scorrere delle righe di scritte in cui possono comparire tracce di una qualsivoglia attività di rete come ad esempio una conversazione IM, una mail, la visita di un sito internet ed altro ancora. Ovviamente i dati che vedete passare in questa schermata vengono anche salvati su file assieme ai pacchetti raccolti da tutte le altre reti scoperte in un formato poi leggibile utilizzando un software open-source come Wireshark che tra le altre cose mette a disposizione dei potenti filtri per ispezionare più facilmente i vari pacchetti consentendoci di vedere solo quelli che utilizzano un particolare protocollo di alto livello ( HTTP, POP, SMTP, MSNMS e altri ancora ), delle porte particolari o ancora che provengono o sono diretti verso precisi indirizzi IP.



Chiaramente il traffico raccolto da una rete criptata è assolutamente illegibile per un umano e necessita della chiave di decriptazione per poter avere un qualche valore. Se possedete quindi la chiave di decriptazione di una rete potete inserirla nel file di configurazione di Kismet, riavviare il programma ed esso si occuperà di decriptare "on-the-fly" il traffico su tale rete. Sfortunatamente è possibile eseguire la decodifica al volo solo per reti criptate utilizzando WEP. Ecco la procedura dettagliata da seguire.

Dobbiamo modificare il file di configurazione di Kismet per cui diamo il comando

kwrite /usr/local/etc/kismet.conf


Questo aprirà il file suddetto con l'applicazione KWrite, un semplice editor di testo incluso in KDE. Spostiamoci alla riga selezionata in questa immagine:



Ci è richiesto di inserire le direttive per la decriptazione in questo formato

wepkey=bssid,key

dove il primo parametro è il BSSID della rete a cui vogliamo connetterci e key è la chiave scritto in codifica esadecimale. Un esempio:

wepkey=00:11:22:33:44:55,7061737377


dove "7061737377" non è altro che la rappresentazione in ASCII della parola "passw", senza virgolette. Se avete la chiave in formato esadecimale potete scriverla direttamente mentre se la chiave è in formato ASCII dovete eseguire la conversione. Questo strumento online può farvi comodo altrimenti potreste utilizzare un software apposito o ancora provarci manualmente voi con l'aiuto di una comoda tabella ASCII.

Potete inserire più direttive di questo tipo per ogni rete che volete venga decriptata al volo dal programma e quando Kismet individuerà una rete con un BSSID corrispondente ad uno da voi inserito nel file di configurazione aggiungerà una W nella colonna Flags ad indicare appunto la decriptazione.

Se volete concentrare i vostri sforzi su una rete in particolare potete selezionarla e successivamente digitare "L" ( Shift + l ). Questo bloccherà il "channel hopping" di Kismet sul canale della rete selezionata in modo da ricevere i pacchetti che viaggiano utilizzando quella frequenza e quindi aumentando la probabilità di ricevere pacchetti della rete scelta. Per tornare alla modalità con "channel hopping" digitare "H" ( Shift + h ).

E questo è fondamentalmente tutto per quanto riguarda l'utilizzo di Kismet. Un'ultima nota riguarda i file che vengono creati dal programma per salvare i pacchetti sniffati e per memorizzare le informazioni relative alle reti individuate. Tali file vengono salvati nella directory di lavoro corrente del terminale. Se quindi non avete fatto alcuna operazione di navigazione del filesystem tramite il comando "cd" dovreste trovare i file nella cartella /root, nominati a seconda dell'ora in cui sono stati creati. Potreste volerli salvare in modo permanente in una partizione del vostro hard disk oppure su una chiavetta USB per poterli utilzzare anche in seguito da un altro ambiente, per esempio in Windows con Wireshark. Ricordate solamente che BackTrack 2 non supporta sfortunatamente la scrittura su volumi NTFS.




Individuazione del router

Con Kismet abbiamo visto prima come sia possibile anche ottenere gli indirizzi IP utilizzati in una rete wireless. Conoscere gli indirizzi IP utilizzati in una rete può risultare estremamente utile. Nel caso nella rete wireless sia attivo un server DHCP una volta connessi ad essa i dati di configurazione come l'indirizzo IP, i DNS da usare, ecc ci saranno da essi forniti ma nel caso nella rete non ci sia un server di questo tipo la configurazione spetta a noi e dobbiamo inserirla manualmente per poter utilizzare le risorse della rete come ad esempio la connessione ad Internet. Basandoci sui casi più comuni di reti domestiche si ha che la maggior parte delle volte la connessione wireless viene fornita da un access-point collegato ad un router a sua volta collegato ad Internet oppure da un unico dispositivo che integra tutti e tre le funzioni. Le reti domestiche di questo tipo utilizzano un intervallo di indirizzi IP che dipende quasi sempre dall'indirizzo IP assegnato staticamente in configurazione di fabbrica al router e che spesso e volentieri è uno tra i due


192.168.1.1
192.168.2.1


In casi come questi gli altri client sulla rete avranno indirizzi del tipo 192.168.1.x o 192.168.2.x con x che varia da 2 a 254 ( 1 è già assegnato mentre 255 è riservato per il broadcast ). Non sempre però le cose sono così semplici. Conoscere gli indirizzi IP usati ci può quindi aiutare a configurare correttamente il nostro accesso alla rete e nel caso in cui al router ( che poi rappresenta il 99% delle volte il gateway internet ) sia stato assegnato staticamente un indirizzo IP "non standard" ci può aiutare ad individuarlo.Come ultima spiaggia se la logica o le supposizioni falliscono possiamo, una volta connessi alla rete, utilizzare un IP scanner ( per esempio questo ) per individuare tutti gli host "vivi" nell'intervallo di indirizzi utilizzato nella rete. A quel punto potreste anche andare per esclusione e provare ognuno dei vari host che hanno risposto alla richiesta dello scanner. Chiaramente una scansione di questo tipo non è più passiva ma genera del traffico di rete che potrebbe essere individuato se sono state attivate delle contromisure come l'installazione di Intrusion Detection System.Ricordiamo infine che quasi sempre l'indirizzo del router può essere usato anche come indirizzo del server DNS primario ma nel caso non dovesse funzionare è possibile inserire come DNS per esempio uno di quelli messi a disposizione dai provider internet come


193.70.152.25
193.70.152.15


che sono i DNS di Libero ADSL ma dovrebbero funzionare senza problemi anche se impostati per una connessione attraverso un altro provider.

Una volta che avete individuato l'indirizzo del router potete come già detto configurare in modo corretto i parametri per l'uso della rete ma possiamo fare di più. Infatti il router è il centro nevralgico della rete e tramite esso viene regolato l'accesso ad Internet che viene effettivamente effettuato dal modem, integrato o meno che sia. Tipicamente per quanto riguarda il mercato delle reti domestiche tali prodotti vengono forniti di un'interfaccia di configurazione accessibile tramite browser web navigando all'indirizzo IP del router. Per esempio se avete scoperto che il router corrisponde all'indirizzo 192.168.2.1 scriverete sul vostro browser, una volta che avrete effettuato l'accesso alla rete wireless chiaramete, l'URL:

http://192.168.1.1


e vi verrà mostrato il pannello di configurazione del router. Quasi sempre non potrete effettuare alcuna modifica e nemmeno visualizzare le impostazioni attuali senza aver prima effettuato l'accesso con nome utente e password ma potrete intuire, dal contenuto della pagina visualizzata e dalla grafica, il nome del modello del router. Questo ci è utile perchè una volta scopertolo sarà possibile cercare su internet il relativo manuale e scoprire i dati di accesso di default. Se infatti l'utente della rete non li avesse modificati avreste pieno accesso alla configurazione del router con i privilegi che ne conseguono. Se non doveste avere a disposizione una connessione ad internet o semplicemente per la pigrizia di fare la ricerca potete anche provare ad inserire a caso una coppia generata scegliendo un valore tra queste due liste di parole utilizzate per la maggiore come dati di default.

Nome utente

admin
root
user
administrator

Password

admin
root
password
pass

Certo forse vi conviene fare una ricerca prima!




Aggirare un filtro sul MAC Address

Può capitare che a volte nonostante la rete sia in chiaro non riusciate comunque a connettervi anche se siete sicuri di aver fatto tutto correttamente. In casi come questo è probabile che la rete a cui state cercando di connettervi sia protetta con un sistema denominato MAC Address Filtering, letteralmente "filtraggio in base al MAC Address".

Questo sistema si basa sul fatto che è impossibile che esistano due scheda di rete che condividano lo stesso indirizzo fisico, il MAC Address appunto. Come abbiamo detto precedentemente in questo articolo un MAC Address è costituito da 6 coppie di cifre esadecimali il che garantisce uno spazio di indirizzi con 16^12 ( sedici alla dodici ) possibili combinazioni ( 16 sono il numero di simboli dell'alfabeto delle cifre esadecimali mentre 12 sono i caratteri di cui è composto un MAC Address ). In pratica l'amministratore di rete provvedere ad inserire nei vari apparati di rete gli indirizzi MAC di tutte le schede di rete che sono autorizzate a connettersi alla rete e l'access point provvederà a ignorare le richieste che provengano da pacchetti "firmati" con un MAC Address differente.

Sfortunatamente questo sistema soffre di due grossi problemi che si manifestano chiaramente nel caso di una rete in chiaro. Il primo è che il traffico in viaggio sulla rete resta comunque visibile ad un attaccante in "ascolto" dato che non vengono eseguite operazioni di cifratura mentre il secondo è che è possibile modificare l'indirizzo MAC che viene utilizzato dalla nostra scheda di rete wireless andando ad utilizzare per esempio uno di quelli autorizzati. Questa tecnica prende il nome di "MAC Address spoofing".

Con Kismet si è visto che è facile individuare gli indirizzi MAC dei client collegati ad una rete. Se abbiamo il sospetto che tale rete utilizzi un filtraggio sul MAC Address attiviamo Kismet e lasciamolo in ascolto per alcuni minuti dopo di che esaminiamo la lista e annotiamoci gli indirizzi MAC trovati e la quantità di pacchetti prodotta da ognuno. Terminata questa prima operazione cerchiamo ora di individuare tra questi client quello che produce meno traffico. L'idea è quella di impostare il nostro indirizzo fisico uguale a quello del client della rete che produce meno traffico. In Linux potete dare la sequenza di comandi:


ifconfig eth0 down hw ether 00
:11:22:33:44:55
ifconfig eth0 up


dove "00:11:22:33:44:55" è il MAC Address del client bersaglio. Il primo comando disattiva la scheda di rete e ne cambia l'indirizzo fisico mentre il secondo la riabilita.

In Windows sfortunatamente non esiste un comando così comodo per fare quest'operazione ma esistono dei programmi che consentono con pochi click di ottenere lo stesso effetto come ad esempio MAC MakeUp. Altre informazioni su questo argomento le potete trovare qui.

Una volta eseguita la modifica se le nostre supposizioni erano correte dovreste poter accedere alla rete. Ricordate solamente che se il client di cui avete "rubato" l'indirizzo MAC dovesse iniziare a generare nuovo traffico ci sarebbero degli ovvi conflitti sulla rete. Se siete particolarmente fortunati e avete ottenuto accesso al router per esempio "ascoltando" il traffico di una sessione di collegamento all'interfaccia di amministrazione del router da parte dell'amministratore oppure perchè questi dati corrispondevano a quelli di default potete sempre aggiungere il vostro MAC Address alla lista di quelli accettati. Chiaramente l'amministratore potrebbe notare la piccola modifica! Se invece il router è fuori dalla vostra portata cercate sempre di usare il MAC di un client che usa solo sporadicamente la rete.




Conclusioni

In questo articolo abbiamo visto come sia possibile, utilizzando Kismet e un briciolo di conoscenze di reti, riuscire a sniffare il traffico wireless rilevato dalla vostra scheda Wi-Fi, individuare reti wireless nascoste e non e relativi client collegati, scoprire la tecnica di cifratura utilizzata da tali reti se sono criptate oppure visualizzare il traffico passante per le reti in chiaro o per le reti crittografate con WEP e di cui possediamo la chiave e ancora individuare il router tramite il quale connetterci ad Internet nel caso non sia possibile usare una configurazione automatica.

La lettura di tutto questo dovrebbe avervi fatto capire alcune cose fondamentali riguardo alla sicurezza di una rete wireless. Prima di tutto una rete in chiaro non solo può essere facilmente individuata anche se non viene effettuato il broadcast del SSID ma è poi possibile vedere tutti i pacchetti in viaggio su di essa con tutti i rischi per la privacy che questo comporta. Immaginate le vostre conversazioni private o le vostre password di accesso a siti internet viaggiare liberamente alla mercè chiunque. Non conviene forse proteggere dati di una tale importanza? Abbiamo visto che esiste una tecnica di protezione che si basa sul filtraggio del MAC Address ma che ha dei punti deboli che la rendono una soluzione praticamente inutile. Meglio invece utilizzare una tecnologia di cifratura del traffico in modo che i pacchetti che un eventuale ascoltatore riesca ad intercettare risultino incomprensibili senza la necessaria chiave. E non stiamo parlando di WEP, questa tecnologia ha già dimostrato una moltitudine di vulnerabilità che rendono l'operazione di cracking ( non descritta in questo articolo ) facilmente realizzabile grazie anche ai vari tool che sono stati sviluppati dagli esperti di sicurezza wireless come la suite aircrack-ng. Parliamo dunque di WPA o WPA2 ma attenzione anche in questo caso alla scelta della chiave. Una chiave troppo debole potrebbe essere facilmente individuata restando in "ascolto" del traffico e una volta recuperati alcuni particolari pacchetti eseguire un attacco di tipo bruteforce, magari avvalendosi di un dizionario. Il consiglio è quello di non usare come chiave una parola che si possa trovare in un vocabolario oppure una facile manipolazione della stessa ottenuta solo aggiungendo un numero alla fine. Meglio creare una sequenza casuale di numeri, lettere ( sia in maiscolo che in minuscolo ) e simboli lunga almeno 8 caratteri. Chiaramente più lunga è la sequenza più difficile sarà per un attaccante riuscire ad individuarla fino a renderlo computazionalmente impossibile con gli odierni computer se non avendo un tempo infinito a disposizione. E chi ce l'ha?

Ultimo consiglio è quello di modificare i dati di accesso al vostro router rispetto a quelli che vengono preconfigurati prima della vendita. Un attaccante che dovesse entrare nella rete potrebbe altrimenti manipolare il vostro router e andare a leggere i parametri di configurazione per esempio della connessione ad Internet, aprire porte nel firewall o impostare egli stesso una nuova password impedendo a voi di accedere al pannello di amministrazione del dispositivo se non dopo aver resettato la configurazione del router con l'apposito pulsantino.



Questo articolo viene da UpYou
http://www.upyou.it

L'indirizzo di questo articolo è:
http://www.upyou.it/modules/sections/articles.php?artid=34