iff | 20 Marzo, 2008 16:00
Intermezziamo la pubblicazione di report e contributi dalla scorsa edizione di Info Free Flow aggiornando la guida di Aircrack-ng Craccare una WPA / WPA2 con Aircrack-NG (Linux) e completandola con questa trattazione illustrata di una cattura di handshake (lo scambio dei pacchetti di riconoscimento tra il client wireless e l'access point che è necessario intercettare per craccare il WPA) effettuata con Wireshark , un utile programma di analisi di protocollo.
File collegati a questa guida: wpa.full.cap ; wpa.bad.passpharse.cap
INTRODUZIONE
Ecco una breve e poco ortodossa spiegazione di due file esempio di cattura WPA. Il primo file (wpa.full.cap) cattura la connessione riuscita di un client wireless WPA ad un access point. Il secondo file (wpa.bad.key.cap) cattura un client wireless che cerca di utilizzare una parola d'ordine sbagliata per connettersi all'AP.
Questa guida completa Craccare una WPA / WPA2 con Aircrack-NG (Linux) (1 / 2). La pagina dei links del wiki di Aircrack-ng ha una sezione sul WPA/WPA2.
Il miglior documento per descrivere la WPA è Wi-fi Security - WEP, WPA and WPA2. Ecco il link al download diretto del PDF.
Per esaminare la cattura, utilizzate Wireshark per aprirla, quindi "View" ed "Expand All". Vengono mostrate tutte le sezioni ed i campi espansi. Dovrete scorrere i campi di ogni pacchetto per individuare quelli menzionati. Consultate questa voce della FAQ per imparare ad usare Wireshark.
Le catture sono state effettuate utilizzando un chipset Ralink RT73, con airodump-ng come programma di cattura.
E' importante imparare e sviluppare la capacità di leggere un file di cattura. Vi permette di correggere una connessione se si manifestano problemi. Comprendendo questa cattura, potrete confrontarla con una effettiva e, si spera, capire cosa non funziona.
ANALISI DI UNA CONNESSIONE RIUSCITA
Utilizzate questo file: wpa.full.cap
PACCHETTO 1
Questo è il Beacon dell'access point (AP). Annuncia la presenza e le specifiche dell'AP. Se osservate gli attributi "Vendor Specific", potrete notare quelli WPA:
PACCHETTO 2
Questo è un pacchetto Probe Request. E' il client alla ricerca dell'AP. Noterete che il MAC di destinazione presenta solo "FF", che equivale ad un indirizzo diffuso.
Inoltre, vedrete che il SSID nel pacchetto è anch'esso settato come diffuso. Se l'AP non risponde, potete vedere il SSID settato al SSID dell'AP. Ciò viene chiamato Probe Request diretta. La cattura del pacchetto non ne include un esempio.
PACCHETTO 3
Questo è un pacchetto di Probe Response. E' l'AP che risponde al client. Presenta un MAC originale del BSSID ed un MAC di destinazione del client. Il pacchetto mette al corrente il client delle specifiche che supporta, come le velocità di trasmissione ed altre importanti caratteristiche.
PACCHETTI 4 e 5
Sono pacchetti di autenticazione aperta del sistema. Il client invia un pacchetto di richiesta di autenticazione...:
...e l'AP risponde con un pacchetto di accettazione dell'autenticazione:
PACCHETTI 6 e 7
Sono i pacchetti di associazione. Sinteticamente, questo collega il client alla rete. Il client invia un pacchetto di richiesta di associazione...
...e l'AP risponde con un pacchetto di risposta di associazione:
PACCHETTI 8,9,10 e 11
Sono i quattro pacchetti di "handshake" WPA. Sono i quattro pacchetti chiave richiesti da aircrack-ng per craccare il WPA utilizzando un dizionario.
Notate che l'AP avvia l'handshake inviando il primo pacchetto. Il primo paio di pacchetti ha un valore di "conteggio di replica" di 1. Il secondo paio ha un valore di "conteggio di replica" di 2. Pacchetti con lo stesso valore di "conteggio di replica" sono di set corrispondenti. Se avete un solo pacchetto per uno specifico valore di "conteggio di replica" ne state perdendo uno dalla cattura, ed il pacchetto che avete non può essere utilizzato da aircrack-ng. Ciò spiega perché a volte, pur avendo quattro pacchetti EAPOL nella vostra cattura, aircrack-ng mostra sempre che ci sono "0" handshake. Dovete avere paia corrispondenti.
IEEE 802.11 → Frame Control → Flags → DS Status Flag: Le flag di direzione mostrano "FROM DS" o "TO DS" a seconda del pacchetto. Cioé proveniente dall'AP o diretto verso di esso.
Pacchetto 8:
Pacchetto 9:
Pacchetto 10:
Pacchetto 11:
PACCHETTI 12,13,14 e 15
Questi sono pacchetti dati indirizzati dal/verso il client alla/dalla LAN attraverso l'AP. Potete consultare il campo dei Parametri TKIP per avere la conferma che viene utilizzato il WPA per questi pacchetti:
Quindi ora dovreste essere in grado di effettuare gli stessi test con le vostre schede e vedere in cosa si differenziano.
ANALISI DI UN TENTATIVO DI CONNESSIONE CON UNA PASSWORD NON CORRETTA
Utilizzate questo file: wpa.bad.passpharse.cap
PACCHETTO 1
Questo è il Beacon dell'access point (AP).
Annuncia la presenza e le specifiche dell'AP. Se osservate gli attributi "Vendor Specific", potrete notare quelli WPA:
PACCHETTO 2
Questo è un pacchetto Probe Request. E' il client alla ricerca dell'AP. Noterete che il MAC di destinazione presenta solo "FF", che equivale ad un indirizzo diffuso.
Inoltre, vedrete che il SSID nel pacchetto è anch'esso settato come diffuso. Se l'AP non risponde, potete vedere il SSID settato al SSID dell'AP. Ciò viene chiamato Probe Request diretta. La cattura del pacchetto non ne include un esempio.
PACCHETTO 3
Questo è un pacchetto di Probe Response. E' l'AP che risponde al client. Presenta un MAC originale del BSSID ed un MAC di destinazione del client. Il pacchetto mette al corrente il client delle specifiche che supporta, come le velocità di trasmissione ed altre importanti caratteristiche.
PACCHETTI 4 e 5
Sono pacchetti di autenticazione aperta del sistema. Il client invia un pacchetto di richiesta di autenticazione e l'AP risponde con un pacchetto di accettazione dell'autenticazione.
Pacchetto 4:
Pacchetto 5:
PACCHETTI 6 e 7
Sono i pacchetti di associazione. Sinteticamente, questo collega il client alla rete. Il client invia un pacchetto di richiesta di associazione...
...e l'AP risponde con un pacchetto di risposta di associazione:
PACCHETTI 8 e 9
Fino a questo punto, avrete notato che i pacchetti per una connessione riuscita ed una fallita sono identici. Questi sono i primi due pacchetti di "handshake" WPA di una serie di quattro. L'AP invia un pacchetto con delle informazioni, che si aspetta gli vengano ritrasmesse adeguatamente dal client, protette da una password. Dato che il client wireless sta usando la password sbagliata, ci saranno problemi.
Notate che l'AP avvia l'handshake inviando il primo pacchetto.
Pacchetto 8:
Pacchetto 9:
PACCHETTI 10,11,12,13,14,15
Sono solo ripetizioni dei pacchetti 8 e 9. L'AP sta dando al client wireless una possibilità di rispondere correttamente. Non avverrà mai. Quindi il pacchetto successivo (il 16) sarà un pacchetto di deautenticazione.
Notate che l'AP avvia l'handshake inviando il primo pacchetto. Ogni paio ha valori di "conteggio di replica" successivi.
Pacchetto 10:
Pacchetto 11:
Pacchetto 12:
Pacchetto 13:
Pacchetto 14:
Pacchetto 15:
PACCHETTO 16
Dato che il client wireless non è mai riuscito a dimostrare di avere la password corretta, l'AP ora lo deautentica. Effettivamente espellendolo dall'AP:
CONSIGLIO PER L'UTILIZZO DI WIRESHARK
In Wireshark, utilizzate come filtro "eapol". Ciò mostrerà solo i pacchetti di handshake, ed è utile per analizzare come mai non abbiate l'handshake completa.
