Ataque contra routers inalámbricos protegidos con WPA

Hace poco escribí para la revista Linux Magazine un artículo sobre auditoría de redes inalámbricas con herramientas de código libre -concretamente Backtrack 4-. Las pruebas de campo las había llevado a cabo con mi propio router y varias redes del entorno, un edificio de oficinas en el centro de Bilbao, por supuesto con previa autorización de sus titulares. Los experimentos de penetración simple, sin entrar en detalles, se realizan con un paquete de utilidades llamado Aircrack-ng y consisten más o menos en lo siguiente: una vez puesto el interfaz inalámbrico del host en modo monitor, lo primero que se hace es rastrear el tráfico de redes wifi del entorno mediante el programa airodump-ng, el cual mostrará todos los puntos de acceso (WAP) situados a nuestro alcance con sus direcciones MAC, la potencia de emisión, las estaciones conectadas a ellos, el ESSID o identificador de la red y otros datos relevantes.

Nos interesan aquellas redes protegidas por cifrado WEP, un sistema antiguo con deficiencias de seguridad que hacen relativamente fácil descifrar las contraseñas mediante ataques estadísticos. Para ello es necesario capturar mediante airodump-ng un número significativo de paquetes que contengan los vectores de inicialización IVS que definen el proceso de comunicación entre el punto de acceso y las estaciones -principalmente portátiles, notebooks y ordenadores de sobremesa equipados con tartetas Wifi, pero también smartphones, iPads y otros dispostivos móviles-. Si el tráfico de red no es lo bastante vivo, quizá lo podamos acelerar de forma artificial capturando unos pocos paquetes IVS y reinyectándolos constantemente mediante la herramienta aireplay-ng, también comprendido dentro de la suite Aircrack.

Las capturas se almacenan en un archivo de texto generado por airodump-ng por indicación expresa del usuario. Cuando este archivo alcanza un volumen considerable (entre 40.000 y 400.000 paquetes con vectores de inicialización), se lanza contra él un ataque estadístico mediante aircrack-ng y se obtiene la clave de cifrado para conectarse al router. Todas estas son utilidades en línea de comando. Ahorraremos al lector la reproducción exacta de la sintaxis con sus numerosas opciones y parámetros. No es por no dar malas ideas, sino simplemente para abreviar. Si alguien está interesado documentarse por su cuenta en las páginas de Internet existentes sobre el tema.

La recomendación con la que finalizaba el artículo caía por sí misma: pasarse al cifrado WPA. Sin embargo también se hacía la advertencia expresa de que eso no era la panacea. Las claves WPA son vulnerables. Para atacarlas se sigue un método distinto que consiste en capturar el handshake o establecimiento de conexión entre el punto de acceso inalámbrico y el cliente en el momento en que este último solicita permiso para unirse a la red. En esos instantes ambos intercambian paquetes que contienen un grupo de códigos denominados caracteres EAPOL donde va indicado el hash de la clave. Este intercambio se verifica de manera muy rápida, por lo que habrá que disponer de un gran sentido de la oportunidad y de una antena bien orientada. Para no tener que estar en guardia esperando a que el ordenador cliente se conecte al punto de acceso o al router, el atacante nuevamente se servirá de aireplay-ng para lanzar un ataque de deautenticación. En román paladino: haciéndose pasar por el cliente conectado -gracias a los datos suministrados por airodump-ng conoce la MAC de su interfaz inalámbrico- enviará al router un paquete solicitando su desconexión. El cliente auténtico se dará cuenta de que ha perdido el enlace y al cabo de unos pocos segundos volverá a solicitar al punto de acceso su entrada en la red, intercambiando para ello el hash de la clave.

Con el hash en nuestro poder solo queda lanzar contra él un ataque de diccionario mediante aircrack-ng, por lo general no en el mismo ordenador utilizado para el ataque, sino totalmente off-line con la ayuda de una estación de trabajo de sobremesa. El resultado es incierto y depende de lo fuerte que sea la contraseña elegida por el administrador de la red. Se puede tardar unos pocos minutos en descifrarla, o también meses o incluso años. Hay pocas contraseñas que se resistan a los diccionarios de confección más reciente, provistos de cientos de millones de palabras en inglés y otros idiomas. En caso de haberse escogido una contraseña demasiado fuerte, el único recurso que nos queda -suponiendo que queramos certificar niveles de seguridad paranoicos- consiste en lanzar un ataque de fuerza bruta con tarjetas gráficas de gama alta y librerías CUDA.

Existe una historia mucho más entretenida acerca de la obtención de contraseñas WPA. Nos la cuenta un intrépido hacker de sombrero blanco en su blog NoSecNoFun. Si recientemente han contratado un pack ADSL con Telefónica, Vodafone u otra compañía, habrán visto la clave de acceso, consistente en una larga ristra de caracteres hexadecimales, pegada en la parte de abajo del router. ¿Se han preguntado alguna vez si ese número de entre 20 y 26 dígitos es totalmente aleatorio o por el contrario el proveedor de acceso los calcula mediante algún algoritmo a partir de parámetros conocidos? Si se decide por lo segundo, entonces sus sospechas no van mal encaminadas. Efectivamente, un método habitual consiste en combinar los últimos números del ESSID -que viene ya establecido por defecto para ahorrar esfuerzo de configuración al usuario, y que nosotros vemos con airodump-ng- con una parte del BSSID -es decir, la dirección MAC del punto de acceso, asimismo mostrada por airodump-ng-, extrayendo posteriormente un hash MD5. De este se toman los primeros caracteres: 20, 24, 26 o los que haga falta, y eso es la contraseña WPA del flamante router inalámbrico que acaba de adquirir el mala leche antisocial de nuestro vecino o la dueña de la consulta de fisioterapia que acaba de instalarse junto al portal. Ya saben, esa cincuentona de manos fuertes y despampanante silueta que nos sube los niveles de serotonina cada vez que nos encontramos con ella al salir a la calle.

Por consiguiente y sin acritud, como diría Felipe González, no podemos confiar en ayudas ni de WEP ni de WPA. Queda probado que la seguridad de las redes inalámbricas es una mierda. Pero no vayan por ahí contándoselo a la gente. Podrían provocar alarma social.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: