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.
#1 di Cece il Maggio 29, 2010 - 10:55 am
A breve rilascerò sul mio sito: http://cece.xoom.it un software in italiano per windows e anche a 64 bit,come facile alternativa a backtrack 4 winaircrack e simili.