Fase 1 - Utilizzo di airmon-ng
Questo comando, in pratica, è uno script che pone l’adattatore di rete wireless nella modalità monitor, che permette di accedere a tutto il traffico di rete indipendentemente dal fatto che sia diretto o meno verso la nostra macchina.
L’utilizzo preventivo del comando airmon-ng, senza alcun parametro, permette di visualizzare interfaccia, chipset e driver dell’adattatore di rete installato e correttamente riconosciuto dal sistema operativo:
> airmon-ng
Interface Chipset Driver
eth1 HermesI orinoco
Un successivo utilizzo con il parametro start porrà l’adattatore nella modalità monitor:
> airmon-ng start eth1
Interface Chipset Driver
eth1 HermesI orinoco (monitor mode enabled)
Volendo, è possibile specificare il canale sul quale far operare l’adattatore di rete, attraverso l’aggiunta del numero di canale al termine della riga di comando:
> airmon-ng start eth1 5
Interface Chipset Driver
eth HermesI orinoco (monitor mode enabled)
L’indicazione monitor mode enabled al fianco del tipo di driver segnala il successo dell’operazione: a questo punto si è pronti per la fase successiva.
Fase 2 - Utilizzo di airodump-ng
Il software airodump-ng si occupa di catturare i pacchetti relativi al traffico di rete 802.11; i file da esso creati saranno indispensabili per la successiva fase di decodifica delle chiavi WEP mediante l’utilizzo degli IV (Initialization Vector) intercettati.
Ogni pacchetto catturato possiede un proprio IV della lunghezza di tre byte: dopo aver intercettato un numero adeguato di pacchetti, è possibile tentare la decodifica della chiave WEP utilizzata nella rete attraverso l’esecuzione con aircrack-ng di una serie di attacchi statistici KoreK (una serie di attacchi molto efficienti sviluppati da un personaggio soprannominato KoreK). Nel successivo esempio è stato scelto myfile come prefisso per i file di cattura generati (che avranno, comunque, estensione .ivs), mentre il nome dell’adattatore di rete è quello identificato in precedenza tramite il comando airmon-ng:
> airodump-ng –w myfile eth1
Airodump creerà due file dal nome myfile.cap (traffico intercettato) e myfile.txt (dati di tipo statistico). Come impostazione predefinita airodump-ng opera su tutti i canali da 1 a 11, commutando automaticamente in modo da coprire l’intera gamma dei 2,4 GHz: questa impostazione predefinita può essere liberamente modificata dall’utente.
Nella tabella 4 è possibile osservare le opzioni relative all’utilizzo di airodump-ng.
| Opzione |
Descrizione |
| --ivs |
Durante l’operazione di cattura del traffico si limita a salvare solo gli IV (Initialization Vector) |
| --gpsd |
Abilita l’utilizzo di un sistema GPS per la registrazione delle coordinate degli access point |
| --write <nome> |
Indica quale prefisso avranno i file con estensione .ivs generati da Airodump-ng |
| --beacons |
Abilita la registrazione delle informazioni di tipo beacon |
| --encrypt <suite> |
Filtra gli access point in base al tipo di cifratura utilizzata |
| --netmask <netmask> |
Filtra gli access point in base alla maschera di rete |
| --bssid <bssid> |
Filtra gli access point in base al BSSID |
| -a |
Filtra le macchine client non associate |
| --channel <channels> |
Intercetta solo il traffico relativo al canale indicato |
| --band <abg> |
Specifica la banda dove operare in modo automatico (hop mode) |
| Cswitch <method> |
Modalità con la quale effettuare il cambio di canale automatico (hop mode):
0 = FIFO (predefinita); 1 = round robin; 2 = hop on last |
Tabella 4: opzioni relative a airodump-ng
Per una maggiore comodità di utilizzo, è possibile scrivere le opzioni utilizzando la prima lettera del nome preceduta da un solo trattino (short form). Per esempio, al posto di --write è possibile adoperare -w.
Durante il suo utilizzo, airodump-ng visualizza un elenco sia dei dispositivi access point rilevati sia delle macchine client da questi servite (associate e non associate). L’interruzione dell’attività di cattura dei pacchetti avviene mediante l’utilizzo della combinazione di tasti Ctrl+C.
Il risultato finale, al termine della fase di cattura, sarà qualcosa di simile:
BSSID PWR Beacons #Data CH MB ENC ESSID
08-00-17-18-12-83 12 11 99 11 22 WEP Amee
BSSID STATION PWR Packets ESSID
08-00-17-18-12-83 00:15:11:20:14:2C 23 512 Amee
Cerchiamo adesso di descrivere il significato dei campi che compongono l’output del comando.
La prima area (quella in alto) è dedicata alle informazioni relative ai dispositivi access point rilevati, ed è strutturata come descritto nella tabella 5.
| Campo |
Contenuto |
| BSSID |
Indirizzo MAC dell’access point |
| PWR |
Livello del segnale: un numero alto indica la vicinanza all’access point; un valore uguale a -1 indica il mancato supporto di questa funzionalità da parte del driver in uso |
| Beacons |
Numero degli annunci (beacon) inviati dall’access point: esso ne invia circa una decina al secondo |
| #Data |
Numero dei pacchetti catturati inclusi quelli di tipo broadcast: nel caso sia in uso il sistema di protezione WEP, viene rilevato il numero degli IV diversi |
| CH |
Numero del canale, rilevato tramite la lettura dei beacon ricevuti |
| MB |
Velocità massima che l’access point è in grado di supportare
(11 = 802.11b, 22 = 802.11b+, maggiore di 22 = 802.11g) |
| ENC |
Algoritmo di cifratura utilizzato (OPN = in chiaro, WEP? = WEP o WPA, WEP = WEP statico/dinamico, WPA = utilizzo di TKIP o CCMP) |
| ESSID |
Indica il SSID dell’access point. Nel caso l’emissione di questo sia stata disabilitata, il programma tenta di recuperarlo dalle risposte alle richieste di associazione |
Tabella 5: output del comando airodump-ng (prima parte)
Nella parte in basso, invece, sono riportate le informazioni relative ai client della rete in esame, vedi tabella 6.
| Campo |
Contenuto |
| BSSID |
Indirizzo fisico MAC dell’access point al quale la macchina è associata |
| STATION |
L’indirizzo fisico MAC address della macchina associata |
| PWR |
Livello del segnale (valgono gli stessi criteri già visti in precedenza) |
| Packets |
Numero dei pacchetti catturati |
| ESSID |
Indica il SSID dell’access point al quale la macchina è associata |
Tabella 6: output del comando airodump-ng (seconda parte)
Una volta che sono stati visualizzati tutti gli access point a distanza di rilevamento, è possibile restringere l’operato di airodump-ng verso un solo canale specifico, attraverso l’opzione channel.
Presupponendo che il canale da selezionare sia il numero 5, scriveremo:
> airodump-ng –w myfile –c 5 eth1
Riepilogando, il canale adoperato è soltanto il numero 5, l’interfaccia di rete wireless selezionata è eth1 e, infine, i nomi dei file generati saranno myfile-01.cap/myfile-01.txt, myfile-02.cap/myfile-02.txt e così via (ricordiamo che i file creati da airodump-ng sono due: uno contenente i dati veri e propri, con estensione .cap, e uno di tipo statistico, con estensione .txt).
Otterremo quindi qualcosa di simile a quanto visto in precedenza, ma con il campo d’azione ristretto a un solo canale:
BSSID PWR Beacons #Data CH MB ENC ESSID
08-00-17-18-12-83 12 11 99 5 22 WEP Amee
BSSID STATION PWR Packets ESSID
08-00-17-18-12-83 00:15:11:20:14:2 23 512 Amee
Dato che il successo della successiva operazione di decodifica del traffico catturato dipende dal numero di IV intercettati e che ciò è fortemente legato al modo in cui la rete sta operando, per evitare lunghe attese (anche di giorni) è talvolta necessario, come vedremo nella prossima fase, mettere in opera degli stratagemmi in grado di forzare l’emissione in rete di questi IV.
Nota
Nell’ambito delle operazioni di wardriving, qualora adoperato insieme a un dispositivo GPS, airodump-ng è in grado di registrare in modo automatico le coordinate relative agli access point intercettati.
|