
Dopo un primo tutorial su come crackare una rete wifi con protezione wep su mac osx con kismac oggi vi farò vedere come ottenere un risultato equivalente usando aircrack-ng.
Attenzione
Crackare, o tentare di farlo, una rete wifi altrui (non propria) è illegale e punibile legalmente. Non fate esperimenti su reti di terzi perchè è illegale ed è vietato farlo.
Questo tutorial vuole avere solo uno scopio informativo, didattico.
Non assecondiamo in nessun modo chi vuole compiere atti di pirateria informatica.
L’etica hacker è una cosa molto importante e MAI nessuno hacker oserebbe sfruttare le proprie conoscenze per arrecare danni a terzi. Ci tengo a sottolineare questa cosa perchè c’è una bella differenza tra hacker, cracker e lamer. Ma questa è un’altra storia..
Requisiti
- Avere una distribuzione linux funzionante. Io consiglio backtrack 5 (gratis). Potete anche installarla, come ho fatto io, in una macchina virtuale creata con parallels (a pagamento), fusion (a pagamento) o virtual box(gratis).
- Avere un chiavetta wifi supportata se volete velocizzare il cracking con l’injection. La chiavetta consigliata è l’Alfa AWUS036H(30€ su ebay)
- Avere un router/modem WIFI su cui possiamo eseguire il test (farlo su un router/modem altrui è illegale) e impostare su di esso una password con cifratura WEP.
Cose da fare
Prima di seguire il tutorial assicuratevi di aver ben chiaro ogni cosa che andremo a fare. Copiare e incollare i comandi non ha nessuna utilità e il rischio che voi vi blocchiate in qualche passaggio è molto alto. Al contrario se vi sforzate un minimo per capire il percorso che andremo a fare tutto sarà molto più semplice.
Ecco i tre punti più importanti che andremo ad eseguire:
- Setup delle periferiche e delle interfacce di rete
- Collezione dei pacchetti
- Crack della chiave mediante i pacchetti catturati
1) Setup delle periferiche e delle interfacce di rete
La prima cosa da fare, ovviamente, è avviare la nostra macchina virtuale e far partire la distribuzione linux scelta per eseguire il test.
Io eseguirò il test con parallels, la chiavetta ALFA AWUS036H e backtrack 5. Consiglio sempre l’utilizzo di backtrack 5 in quanto esso ha già installato la suite aircrack-ng e ha i driver già patchati per la maggiorparte delle chiavette wifi nate per il wardriving.
Se non usate baktrack 5 ma usate un’altra distro (esempio ubuntu) dovrete patchare i driver della vostra chiavetta e installare aircrack-ng.
In questo caso, se usate una distro diversa da backtrack, per installare aircrack-ng basterà dare nel terminale il comando:
sudo apt-get upgrade
sudo apt-get install aircrack-ng
Mentre per patchare i driver della vostra chiavetta usb WIFI vi rimando al sito aircrack-ng.org/ dove troverete numerosi tutorial.
Inoltre, se usate una distro diversa da backtrack prima di ogni comando che troverete in questa guida dovete scrivere “sudo”.
Il mio consiglio, per evitare sbattimenti vari, è quello di usare backtrack 5.
Ok ora è il momento di iniziare a fare sul serio.
Dobbiamo per prima cosa controllare se la nostra chiavetta usb è stata riconosciuta dal sistema e con che nome essa è stata riconosciuta. Per fare ciò diamo nel terminale il comando:
Il sistema risponderà qualcosa del genere:
wlan0 Realtek RTL8187L rtl8187 - [phy2]
Come potete notare il sistema ha riconosciuto la mia chiavetta e l’ha “chiamata” wlan0. D’ora in avanti, in tutto il codice che scriverò, al posto di wlan0 dovrete sostituire il nome della vostra interfaccia che, per forza di cose, POTREBBE chiamarsi in modo diverso.
Per fare in modo che la nostra chiavetta wifi possa cercare le reti wifi in zona dobbiamo metterla in monitor mode.
Per mettere la nostra chiavetta in monitor mode basta dare il comando:
Il sistema vi risponderà:
Found 5 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!
PID Name
714 dhclient3
4601 dhclient
4983 dhclient3
5225 dhclient
5243 dhclient
Process with PID 4983 (dhclient3) is running on interface wlan0
Interface Chipset Driver
wlan0 Realtek RTL8187L rtl8187 - [phy2]
(monitor mode enabled on mon0)
Il computer creerà ora una nuova interfaccia virtuale, a partire da wlan0, e la metterà in monitor mode. Trovate il nome della vostra nuova interfaccia nella stringa di risposta:
Potete vedere che nel mio caso si chiama mon0. D’ora in avanti, in tutto il codice, dove vedrete mon0 dovrete mettere il nome della vostra interfaccia virtuale.
Possiamo ora eseguire una prima scansione delle reti per trovare la rete bersaglio che andremo a crackare. Date il comando:
- airodump-ng è semplicemente il nome dello script
- --encrypt wep è un filtro per cercare solo le reti con cifratura wep
- mon0 è il nome della nostra interfaccia virtuale
Il terminale a questo punto vi mostrerà una schermata SIMILE a questa:
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:1C:A2:1B:47:A9 -62 9 0 0 1 54 WEP WEP Alice-09325166
02:24:01:4B:36:88 -67 8 0 0 1 54e WEP WEP Wifi JR
BSSID STATION PWR Rate Lost Packets Probes
Aspettate qualche secondo fino a quando non vedrete la vostra rete e poi, per fermare la scansione, premente CTRL + C.
Prendete nota del BSSID, che sarebbe il MAC Adress, dell’Access Point (AP da ora in avanti) vittima e del canale sotto cui opera (lo trovate sotto la colonna CH).
Ora che sappiamo il canale su cui opera il nostro AP vittima, ad esempio il canale 1, dobbiamo distruggere l’interfaccia virtuale prima creata (mon0 nel nostro caso) e ricrearla specificando su che canale impostare la monitor mode.
Questo è un passaggio che molti sottovalutano ma che è di grande importanza. Se mettiamo la nostra chiavetta in monitor mode senza specificare il canale avremo una ricezione non stabile che, spessissimo, è causa del mancato cracking di una chiave wep.
Distruggiamo l’interfaccia virtuale con il comando:
- airmon-ng è lo script usato
- stop è il comando per distruggere l’interfaccia virtuale
Il computer vi darà conferma del tutto con qualcosa di simile:
Interface Chipset Driver
wlan0 Realtek RTL8187L rtl8187 - [phy2]
(monitor mode disabled)
mon0 Realtek RTL8187L rtl8187 - [phy2]
A questo punto non ci resta che rimettere in monitor mode wlan0 specificando questa volta il canale che ci serve (in questo esempio 1):
Notate l’uno (1) alla fine della stringa che indica il canale su cui operare.
Il sistema vi notificherà il tutto con qualcosa di simile:
Found 5 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!
PID Name
714 dhclient3
4601 dhclient
4983 dhclient3
5225 dhclient
5243 dhclient
Process with PID 4983 (dhclient3) is running on interface wlan0
Interface Chipset Driver
wlan0 Realtek RTL8187L rtl8187 - [phy2]
(monitor mode enabled on mon0)
A questo punto la nostra interfaccia di rete(mon0) è quasi pronta.
Per una maggiore sicurezza è preferibile cambiare il MAC adress della propria scheda con uno fittizio. Siccome stiamo cercando di violare il NOSTRO AP non abbiamo bisogno di questo comando. Ma a scopo didattico vi illustrerò il suo funzionamento.
Per cambiare il MAC adress della nostra scheda dovremo:
- Stoppare la nostra interfaccia
- Cambiare il mac adress usando macchanger
- Riattivare l’interfaccia
Per stoppare l’interfaccia basta dare nel terminale
Per cambiare il MAC adress invece basta dare il comando:
- macchanger è il nome dello script che cambia il mac adress
- -a significa assegna un mac adress casuale
- mon0 è il nome della scheda a cui vogliamo cambiare l’indirizzo mac
Infine per riattivare l’interfaccia precedentemente sospesa usiamo il comando:
A questo punto finalmente abbiamo completato la preparazione: abbiamo l’interfaccia virtuale in monitor mode e sul canale corretto e abbiamo cambiato il suo mac adress per sicurezza.
2) Collezione dei pacchetti
Siamo ora in grado di iniziare a collezzionare i pacchetti di dati necessari a trovare la password della nostra rete wifi.
Per iniziare a registrare tutti pacchetti diamo nel terminale il comando:
- airodump-ng è il nome dello script per cattarare e salvare i pacchetti
- –bssid serve per scansionare solo la rete che serve a noi. Dobbiamo mettere subito dopo –bssid il bssid (mac adress) dell’AP vittima. Quello che avete segnato prima.
- -c serve per specificare il canale su cui fare la ricerca.
- -w serve per salvare tutti i dati in un file chiamato con il nome che segue a questa istruzione. Nel nostro caso il file si chiamerà test.mauromarano.it
- mon0 come sempre indica l’interfaccia da utilizzare
Il sistema vi mostrerà una schermata simile a questa:
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:1C:A2:1B:47:A9 -62 9 0 0 1 54 WEP WEP Alice-09325166
BSSID STATION PWR Rate Lost Packets Probes
Per trovare una password con cifratura wep abbiamo bisogno di catturare un certo numero di pacchetti chiamati IVs. Questi pacchetti, nella schermata di airodump-ng , vengono mostrati sotto la colonna #Data.
Non esiste un numero fisso di pacchetti necessari per trovare la chiave della rete. Possono volerci 20,000 IVs o anche oltre 1,000,000 (un milione) di IVs.
A questo punto possiamo fare due cose:
- Attendere passivamente che il numero di pacchetti aumenti.
- Velocizzare attivamente la generazione e la cattura di questi pacchetti.
Possiamo scegliere l’opzione 2 solo se abbiamo una chiaveta che supporta l’injection. Se non l’abbiamo non ci resta che armarci di pazienza ed attendere in maniera passiva.
Sappiate che se scegliete l’opzione 1 (per necessità o scelta) la velocità con cui catturerete i pacchetti dipenderà dal grado di attività della rete. Mi spiego meglio: se ci sono 10 computer collegati alla nostra rete bersaglio essi genereranno una grande quantità di dati e cosi anche di pacchetti. Se al contrario non c’è nessun computer collegato alla rete bersaglio non catturerete quasi nessun pacchetto.
Ammettiamo di scegliere l’opzione 2. Per velocizzare la cattura dei pacchetti dovremo:
- Far credere all’AP bersaglio di essere dei client autenticati.
- Catturare un pacchetto e iniettarlo verso l’AP per stimolare la generazione di ulteriori pacchetti.
Per far credere all’AP di essere un client già autenticato dovremo sferrare un attacco chiamato fake authentication. Per farlo apriamo una nuova finestra del terminale(lasciando aperta quella di airodump e senza toccarla più) e diamo il comando:
- aireplay-ng è lo script per eseguire l’attacco
- -1 0 è il tipo di attacco (fake authentication)
- -a indica l’indirizzo MAC dell’AP bersaglio
- mon0 indica l’interfaccia da usare
Il sisema vi notificherà del successo con qualcosa di simile:
No source MAC (-h) specified. Using the device MAC (00:C0:CA:4F:8D:2B)
11:43:52 Waiting for beacon frame (BSSID: 00:1C:A2:1B:47:A9) on channel 1
11:43:52 Sending Authentication Request (Open System) [ACK]
11:43:52 Authentication successful
11:43:52 Sending Association Request [ACK]
11:43:52 Association successful :-) (AID: 1)
Notate che nell’ultima riga ci conferma che l’attacco è riuscito. Se non dovesse riuscire, provate quest’altro comando (solo se non funziona il primo attacco):
- -1 6000 -o 1 -q 10 sono delle opzioni per gli AP più complicati.
Notate che nella finestra di airodump comparirà nella zona inferire il MAC adress della vostra interfaccia virtuale. Questo perchè ora l’AP crede che noi siamo collegati ad esso.
Ora che l’AP crede che noi siamo autenticati possiamo sferrare l’attacco vero e proprio per generare tanti IVs che ci serviranno, come spero che abbiate capito, per crackare in seguito la chiave.
Ci sono diversi tipi di attacchi per forzare l’AP a generare IVs.
Per vedere tutti i tipi di attacchi disponibili date nel terminale (nella seconda finestra aperta, quella appena aperta per la falsa autenticazione) il comando:
Vi verrà fuori tutta la lista degli attacchi possibili:
--deauth count : deauthenticate 1 or all stations (-0)
--fakeauth delay : fake authentication with AP (-1)
--interactive : interactive frame selection (-2)
--arpreplay : standard ARP-request replay (-3)
--chopchop : decrypt/chopchop WEP packet (-4)
--fragment : generates valid keystream (-5)
--caffe-latte : query a client for new IVs (-6)
--cfrag : fragments against a client (-7)
--migmode : attacks WPA migration mode (-8)
--test : tests injection and quality (-9)
--help : Displays this usage screen
In questo primo esempio useremo l’attacco numero 2 chiamato interactive. Questo è l’attacco più semplice da utilizzare e spesso il più efficace.
Potrebbe però non essere sempre efficace e generare nuovi IVs. Se ciò dovesse accadere dovete provare un attacco differente.
Più avanti spiegherò in dettaglio anche i diversi dipi di attacco. Per ora concentriamoci sull’attacco numero 2.
Per sferrare questo tipo di attacco date nel terminale il codice:
- aireplay-ng è lo script da usare per sferrare l’attacco.
- -2 -p 0841 -c FF:FF:FF:FF:FF:FF è il tipo di attacco e alcune opzioni relativo ad esso. Non preoccupatevi di questo e copiatelo per intero.
- -b indica il bssid dell’AP bersaglio
- mon0 l’interfaccia da usare
Il computer inizierà ad analizzare i pacchetti catturati e ad un certo punto vi farà una domanda:
Voi scrivete y e date invio.
Il sistema vi risponderà:
You should also start airodump-ng to capture replies.
16948 packets...(500 pps)
E inizierà a iniettare i pacchetti verso l’AP per stimolarlo a generare nuovi IVs.
A questo punto tornate nella finestra di airodump e noterete che i pacchetti mostrati sotto la colonna #Data stanno aumentando vertiginosamente.
Come detto prima potrebbe anche non succedere nulla. Se non succede nulla allora dovete provare con un altro attacco. Potete provare da soli, cercare su google o aspettare che io aggiorni la guida.
Ammettiamo che tutto stia andando bene e andiamo avanti.
Dovreste ritrovarvi ora con 2 finestre aperte:
- La prima con airodump-ng a collzionare i pacchetti
- La seconda con aireplay-ng a generare IVs
Apriamo una terza ed ultima finestra del terminale e prepariamoci al crack della chiave.
3) Crack della chiave mediante i pacchetti catturati
In quest’ultima fase andremo ad utilizzare tutti i pacchetti catturati fino ad ora per crackare la chiave WEP.
Precedentemente abbiamo lanciato airodump-ng, che dovrebbe ancora essere in esecuzione nella prima finestra del terminale, che sta salvando tutti i pacchetti che cattura in un file. Il file che contiene tutti i pacchetti è nella root del vostro account. Per individuarlo, se usate backtrack 5 e gnome come desktop manager, andate in place > home folder. A questo punto dovreste individuare un file con estensione .cap e con nome quello che abbiamo scelto all’avvio di airodump (il parametro dopo il -w ).
Il prossimo ed ultimo step da fare è quello di avviare aircrack-ng per trovare la chiave della rete. Sappiate che aircrack-ng farà un primo tentativo di cracking al primo avvio e poi tenterà di trovare la chiave ogni 5000 IVs catturati.
Il comando per avviare il cracking della chiave è veramente semplicissimo:
- aircrack-ng è semplicemente il nome del programma.
- Subito dopo il nome del programma va messo il nome del file che contiene i nostri dati. Potete scrivere il nome intero a mano oppure prendere il file e trascinarlo nella finestra del terminale. Cosi facendo il sistema copierà automaticamente il nome del file e il suo percorso.
Da notare che il file che contiene i nostri dati, rispetto al nome che gli assegnamo all’avio di airodumo-ng, ha un nome leggermento diverso. Se noi lo chiamiamo all’avvio di airodump pippo, il file verrà chiamato pippo-01.cap . Quindi airodump aggiunge sempre il suffisso -0x.cap ai nostri file.
Dopo aver avviato aircrack-ng il computer ci mostrerà a schermo un risultato simile a questo:
Opening test-01.cap
Read 599695 packets.
# BSSID ESSID Encryption
1 xx:xx:xx:xx:xx:xx Test WEP (106866 IVs)
Choosing first network as target.
Opening test-01.cap
Attack will be restarted every 5000 captured ivs.
Starting PTW attack with 106866 ivs.
Aircrack-ng 1.1
[00:00:00] Tested 577 keys (got 106760 IVs)
KB depth byte(vote)
0 3/ 4 BA(118272) 91(116736) BC(116480) F3(116224) A9(115968)
1 17/ 1 EE(114432) 04(114176) 7E(114176) B4(113920) 22(113920)
2 0/ 2 94(153344) 63(123392) 8C(120320) 0C(117504) E3(116736)
3 2/ 3 C4(116992) 06(116480) 8F(116480) 15(115712) 58(115712)
4 3/ 7 73(119808) 96(119552) D6(117248) 80(117248) B3(116992)
KEY FOUND! [ xx:xx:xx:xx:xx:xx:xx:xx ] (ASCII: yyyyyyyyyyyyyy )
Decrypted correctly: 100%
Come spiegato prima non esiste un numero preciso di pacchetti da catturare. Questo è un fattore che varia da rete a rete.
Come potete vedere dal risultato postato sopra aircrack-ng inizierà il cracking e farà un nuovo tentativo ogni 5000 IVs catturati. Dopo un po’ di tempo vi darà finalmente la conferma che la password è stata trovata!
Aircrack-ng vi darà sia la password hex che la versione ASCII della stessa. Se non sapete cosa vuol dire sappiate che la password testuale che mettete voi per un qualunque sito è sempre una password ASCII. Per appronfodire l’argomento fate una ricerca su google. Troverete migliaia di guide che vi spiegano la differenza tra HEX e ASCII.
Conclusioni
Come già specificato tante volte durante questo lungo tutorial ci tengo a sottolineare che il tipo di attacco preso a titolo d’esempio in questa guida per generare IVs potrebbe non funzionare. Ci sono tantissimi tipi di attacchi e solitamente prima di crackare una rete WEP bisogna fare svariati tentativi fino a trovare quello più congeniale all’AP che stiamo attaccando.
Ribadisco infine il concetto già espresso sopra:
Crackare, o tentare di farlo, una rete wifi altrui (non propria) è illegale e punibile legalmente. Non fate esperimenti su reti di terzi perchè è illegale ed è vietato farlo.
Questo tutorial vuole avere solo uno scopio informativo, didattico.
Non assecondiamo in nessun modo chi vuole compiere atti di pirateria informatica.
Il video
Ho messo il video alla fine del tutorial volutamente.
Vorrei che tutti voi faceste lo sforzo di leggere prima tutto il tutorial testuale.
So che è lungo, ma spero che vi chiarisca le idee su come funziona aircrack e sul modo d’operare quando si ha la necessità di ritrovare la propria password wep smarrita.
Pingback: [TUTORIAL ITA] Crack di una rete wifi con protezione WPA con AirCrack-ng su backtrack 5 | Mauro's Page
Pingback: Denuncia pubblica ad un copione! | Mauro's Page
Pingback: [TUTORIAL ITA] Crack di una rete wifi con protezione WPA con AirCrack-ng su backtrack 5 | Mauro's Page