El otro día estaba en el balcón de casa, intentando que mi portátil pillara algo de cobertura de mi propio router (malditos muros de carga), cuando me dio por abrir el NetStumbler. Me quedé alucinado. Mi vecindario parece un festival de redes inalámbricas: WLAN_XX, SpeedTouch, Ono... Y lo más triste de todo: el 90% siguen usando cifrado WEP. A estas alturas de la película, tener tu flamante conexión ADSL de 3 Megas (¡quién pillara los 20 de Jazztel!) protegida con WEP es como cerrar la puerta de tu casa con un palillo de dientes.

Últimamente he estado trasteando bastante con la nueva versión de la distribución live-CD BackTrack 2 y mi tarjeta PCMCIA con el viejo y confiable chipset Atheros (imprescindible que soporte inyección de paquetes, si tienes una Intel Centrino estás vendido en Linux a menos que te pegues con los parches del driver ipw2200). Así que he decidido escribir este artículo para que veáis lo absurdamente fácil que es reventar el cifrado WEP hoy en día.

El mito de la seguridad WEP

El problema de WEP (Wired Equivalent Privacy) no es que la clave sea corta o larga. El problema radica en su diseño matemático, concretamente en el algoritmo de cifrado RC4 y en cómo maneja los Vectores de Inicialización (IVs). Básicamente, si capturamos suficientes paquetes de datos (IVs únicos), podemos deducir la clave usando ataques estadísticos, como el famoso ataque PTW.

Hace un par de años te podías tirar horas esperando a que hubiera tráfico en la red para capturar los IVs necesarios. Hoy, gracias a las herramientas de inyección, podemos forzar al router a que escupa paquetes a lo bestia y conseguir la clave en literalmente 10 minutos.

Vamos al lío: La inyección es la clave

Asumimos que has arrancado con tu BackTrack 2 y tu tarjeta inalámbrica está reconocida como wifi0.

Lo primero es poner la tarjeta en modo monitor para poder "escuchar" todo lo que vuela por el aire:

airmon-ng start wifi0

Esto nos creará una interfaz virtual, normalmente ath0. A continuación, usamos airodump-ng para localizar a nuestra "víctima" (tu propio router para hacer la prueba, por favor, no seamos cafres) y ver en qué canal emite y cuál es su dirección MAC (BSSID).

airodump-ng ath0

Una vez tenemos el canal (pongamos el 6) y el BSSID (por ejemplo, 00:11:22:33:44:55), lanzamos otra vez airodump para que guarde los paquetes capturados en un archivo, filtrando solo por esa red:

airodump-ng -c 6 --bssid 00:11:22:33:44:55 -w captura_wep ath0

Aquí viene la magia negra. Abrimos otra terminal para lanzar el ataque de falsa autenticación y luego la inyección de tráfico (ARP Replay). Esto hará que el router genere tráfico artificial a toda pastilla:

aireplay-ng -1 0 -a 00:11:22:33:44:55 ath0
aireplay-ng -3 -b 00:11:22:33:44:55 ath0

Si todo va bien, verás en la ventana de airodump-ng cómo la columna #Data (los IVs) empieza a subir como la espuma. Cuando pase de los 20.000 o 30.000 (cosa que con buena señal tarda un par de minutos), abrimos una tercera terminal y lanzamos el crackeador contra el archivo que estamos capturando:

aircrack-ng -z captura_wep*.cap

El parámetro -z invoca el ataque PTW. Y boom. KEY FOUND!.

El futuro (si es que lo hay) de las redes inalámbricas

Sinceramente, ver cómo caen las claves WEP en pantalla impresiona la primera vez, pero te deja un cuerpo bastante raro. La cantidad de empresas y particulares que ahora mismo están expuestos a que cualquier chaval con un LiveCD y un tutorial les intercepte el Messenger, les lea los correos POP3 en texto plano o les use la conexión para bajar porno en el eMule es aterradora.

El WEP está muerto. Muerto y enterrado. La industria nos está empujando hacia el estándar WPA, y más concretamente a WPA2 con cifrado AES. He estado haciendo pruebas y, a no ser que uses contraseñas ridículas de diccionario que puedan romperse por fuerza bruta, WPA2 parece ser bastante más robusto. Veremos cuánto tardan en encontrarle las cosquillas. De momento, mi consejo: entra al panel de configuración de tu router, desactiva el WEP, configura WPA, ponle una clave alfanumérica larga y apaga el broadcast del SSID. Por pura higiene digital.