Cracking red WiFi con encriptación WEP

El siguiente artículo es solo con fines de estudiar la seguridad WiFi, sus pros y contras.

En este primer post describiré como es posible obtener la clave de una red WiFi con encriptación WEP.

Para poder realizar este experimento necesitaremos:

  • aircrack-ng.
  • una tarjeta wireless soportada por este software.

Este ejemplo fue realizado bajo el sistema operativo GNU/Linux, por lo que las imágenes y ciertos comandos pueden no ser los mismos para otro sistema operativo.

Lo primero que haremos es ver cuales son los dispositivos de red que tenemos en nuestra máquina, para ello ejecutaremos el siguiente comando:

ifconfig -a

la salida de este comando nos dará algo parecido a la figura Fig.1.

ifconfig-a.png

Fig. 1. Salida del comando ifconfig -a

Como se habrán dado cuenta he borrado las direcciones MAC de la imágen, esto por seguridad, pero he puesto una dirección MAC de ejemplo en el dispositivo que utilizaremos (wlan1).

Ahora debemos cambiar a estado monitor nuestra interfaz de red (wlan1) de manera de poder monitorear paquetes en la red. Para ello ejecutaremos el siguiente comando:

airmon-ng start wlan1

la salida de este comando nos dara algo parecido a la figura Fig. 2.

airmon-start.png

Fig. 2. Salida del comando airmon-ng start wlan1

Como vieron en la figura Fig.2. se ha creado un dispositivo nuevo llamado mon0, este es el dispositivo de monitoreo de paquetes que esta vinculado a nuestra interfaz wlan1.

Antes de crackear una red, lo primero es encontrar una, para ello correremos el airodump-ng sin opciones para que comience a capturar paquetes de todas partes, de esta manera podremos elegir una red que se encuentre cerca y con gran trafico de paquetes para no demorar en el proceso del crackeo. Para ello ejecutaremos el comando con la opción de filtrar solo aquellas redes con encriptación WEP,

airodump-ng --encrypt WEP mon0

la salida de este comando es dinámica, a medida que se obtienen paquetes de distitnas redes, estas van apareciendo y se va obteniendo información de ellas, para nuestro experimento mostraremos la salida que nos dió en la figura Fig. 3.

airodump-prev.png

Fig. 3. Salida del comando airodump-ng --encrypt WEP mon0

Como se puede ver en la figura Fig. 3., hay muchas redes al principio de la lista que se encuentran en el canal 6, por lo que elegiremos este canal para hacer una nueva selección de la red que crackearemos. Para ellos ejecutaremos ahora el comando con el parametro del canal a escanear,

airodump-ng --encrypt WEP --channel 6 mon0

la salida de este comando debería verse ahora algo más acotada que la salida anterior, si es que las redes que hay en el canal 6 son menos al total que habiamos visto antes, esto se puede visualizar en la figura Fig. 4.

airodump-prev-channel6.png

Fig. 4. Salida del comando airodump-ng --encrypt WEP --channel 6 mon0

Podemos ver en la figura Fig. 4., que la red CONSTANZA1 tiene hartos paquetes (esto se puede ver en la columna Data) y sigue sumando, entonces seleccionaremos esta red para realizar nuestro experimento. Mirando la información de CONSTANZA1, tenemos el canal, el bssid(MAC) y el essid(Nombre de la red).

Ahora comenzaremos a capturar paquetes solo de esta red para que podamos crackearla. Vale comentar que los paquetes que necesitamos capturar son IVS estos son los que tienen información acerca de la clave de la red. Entonces manos a la obra, lo que haremos será ejecutar el siguiente comando,

airodump-ng --ivs --w CONSTANZA1 --bssid 00:1B:FC:6B:6B:76 --channel 6 mon0

Con el parametro --ivs, le estamos diciendo al programa que solo capture este tipo de paquetes, luego con el parametro --w le estamos diciendo que guarde dichos paquetes en el archivo CONSTANZA1-01.ivs. Ejecutado este comando tendremos una salida como la que se muestra en la figura Fig. 5.

airodump-cracking.png

Fig. 5. Salida del comando airodump-ng --ivs --w CONSTANZA1 --bssid 00:1B:FC:6B:6B:76 --channel 6 mon0

Mientras este programa está en ejecución podemos acelerar el proceso y ejecutar el decifrador de clave en otra terminal. Para ello ejecutaremos en otra terminal el siguiente comando,

aircrack-ng -a 1 -e CONSTANZA1 -b 00:1B:FC:6B:6B:76 CONSTANZA1-01.ivs

la salida de este comando es muy similar a lo que se muestra en la figura Fig. 6., en donde el programa está tratando de obtener la clave. De no poder obtenerla con los paquetes que tiene hasta el momento, este espera hasta tener una cantidad suficientemente grande y tratar nuevamente, y así un ciclo hasta que obtiene la clave. Esto se muestra en las figuras Fig. 6. y Fig. 7.

aircrack.png

Fig. 6. Salida de aircrack en proceso de obtener la clave.

aircrack-final.png

Fig. 7. Finaliza aircrack con la clave obtenida en codigo hex.

Espero les haya resultado útil, en el siguiente post les enseñaré a inyectar paquetes para acelerar este proceso.

Saludos.

(Leer más)
Cerrar