Obtener claves WEP usando Ubuntu

Anteriormente he escrito un tutorial sobre cómo obtener claves WEP de redes inalámbricas (http://josmx.com/obtener-claves-wep). Revisándolo no creo que haya nada que añadirle, salvo las particularidades de ejecutar los comandos en tal o cual distribución de Linux. Este tutorial se centra en cómo hallar una clave WEP de una red inalámbrica usando Ubuntu.

Vayamos por partes, diría Jack el Destripador.

Primero tienes que tomar en cuenta que dependiendo de la legislación del país donde te encuentres, puede ser un delito el entrar a una red si no tienes autorización para ello, por ello debes considerar que si entras a una red sin permiso del dueño, es bajo tu responsabilidad.

Segundo, necesitamos tener instalado Ubuntu. Ubuntu (http://www.ubuntu.com) es una distribución de Linux que se ha popularizado en años recientes al grado que algunos fabricantes de PC’s lo consideraron para instalarlo en vez de Windows. Tal es el caso de algunos equipos de Dell, particularmente netbooks. Para este tutorial he usado la versión más reciente de Ubuntu que es la 11.04.

Particularmente he instalado Ubuntu en una máquina virtual usando Virtualbox para ello.Una vez instalado Ubuntu tenemos que actualizar el sistema mediante los comandos:

sudo apt-get update
sudo apt-get upgrade

Ahora instalamos Aircrack-ng (http://aircrack-ng.org) . Para comodidad lo instalaremos desde los repositorios de Ubuntu:

sudo apt-get install aircrack-ng

Nos instalará aparte del paquete “aircrack-ng” el paquete “iw”.

Instalamos también una herramienta que necesitaremos más adelante:

sudo apt-get install patch

Tercero, necesitamos una tarjeta inalámbrica compatible con Aircrack. Si tienes un equipo portátil quizá ya tengas esta tarjeta configurada con el driver más reciente. Pero, si, siempre hay un pero, quizá no te sea útil.

Para checar la compatibilidad de tu tarjeta inalámbrica, tenemos la página http://aircrack-ng.org/doku.php?id=compatibility_drivers. Particularmente uso tarjetas inalámbricas con el chip Realtek 8187L y en este tutorial he usado una tarjeta muy conocida (ALFA) que tiene este chip.

Cuarto, instalamos un paquete de drivers actualizados: Compat-wireless:

Compat-wirelessis a package which contains the development and stable versions (pulled from the kernel's git repository) of the in-kernel wireless drivers and the mac80211 wireless stack. New packages are released pretty much every day (http://aircrack-ng.org/doku.php?id=compat-wireless).

Este paso es debido a que se puede presentar algún detalle cuando usamos airodump-ng similar a este:

mon0 is on channel -1, but the AP uses channel 9

Este bug está documentado (http://trac.aircrack-ng.org/ticket/742, http://www.aircrack-ng.org/doku.php?id=airodump-ng&s[]=channel#fixed_channel_error_message) y la forma de corregirlo es instalando Compat-wireless mediante el procedimiento que Aircrack nos indica

Primero bajamos http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2. La información que nos da el sitio http://wireless.kernel.org/en/users/Downloadreferente a este link es que desde el navegador que usemos se bajará la versión más reciente de Compat-wireless. La otra forma es que obtengamos el paquete más reciente: http://wireless.kernel.org/download/compat-wireless-2.6. En este directorio veremos los paquetes ordenados por fecha.

Para este tutorial he bajado el archivo compat-wireless-2.6.tar.bz2 desde el primer link, el cual he puesto directamente en mi carpeta “Downloads”. Procedemos a descomprimirlo, aplicarle los parches necesarios, compilarlo e instalarlo.

Abrimos una ventana de la terminal y nos cambiamos donde hayamos bajarlo el archivo.

jos@box:~$ cd Downloads
jos@box:~/Downloads$ tar -jxf compat-wireless-2.6.tar.bz2

Nos cambiamos a la carpeta que se creó, en mi caso es “compat-wireless-2011-04-28”

jos@box:~/Downloads$ cd compat-wireless-2011-04-28/

Bajamos y aplicamos parches:

wget http://patches.aircrack-ng.org/mac80211.compat08082009.wl_frag+ack_v1.patch
wget http://patches.aircrack-ng.org/channel-negative-one-maxim.patch
patch -p1 < mac80211.compat08082009.wl_frag+ack_v1.patch
patch -p1 < channel-negative-one-maxim.patch

 

Compilamos, instalamos y reinciamos:

jos@box:~/compat-wireless-2011-04-28$ make
jos@box:~/compat-wireless-2011-04-28$ sudo make install
jos@box:~/compat-wireless-2011-04-28$ sudo make wlunload
jos@box:~/compat-wireless-2011-04-28$ sudo reboot


Cuarto: manos a la obra.

Primero creamos una carpeta donde estaremos capturando los paquetes. Le he llamado “capturas”. Para ello abrimos una sesión de la terminal y mediante el comando creamos dicha carpeta. Posteriormente nos cambiamos a esta carpeta donde estaremos trabajando

mkdir capturas
cd capturas

Primero vemos cómo es reconocida nuestra tarjeta inalámbrica:

iwconfig

 

En este caso vemos que es reconocida como wlan0

Ponemos nuestra tarjeta de red en modo de monitor.

sudo airmon-ng start wlan0

Vemos que ha asociado un alias de nuestra tarjeta de red a la que le llama mon0

Identificamos la red inalámbrica. Para ello tecleamos el siguiente comando:

sudo airodump-ng mon0

Ahora vemos algunas redes. Los datos que nos interesan es

-El canal (en la columna CH)
- BSSID (la MAC del dispositivo de la red inalámbrica)
- ESSID (el nombre con que se anuncia la red inalámbrica)

Con las teclas Ctrl + C cancelamos la captura una vez que tenemos los datos mencionados. Adicionalmente necesitamos la MAC de nuestra tarjeta inalámbrica. Si no ls sabemos podemos mendiante el comando ifconfig –a obtener este dato.

Dentro de la terminal abrimos tres pestañas al menos.

En la primer pestaña de nuestra terminal escribimos

sudo airodump-ng -w wifi -c6 mon0

La opción “–w” es para decirle a airodump-ng que lo que capture lo escriba en un archive. El nombre del archivo en este caso es “wifi”. Tú le puedes poner el nombre que quieras.

La opción “–c6” es para indicarle a airodump-ng que es el canal 6 donde se encuentar al red inalámbrica que tenemos por objetivo

La opción “mon0” es la que le indica que tarjeta inalámbrica es la que usaremos para capturar los paquetes. No ponemos “wlan0”, sino el alias que nos ha creado airmon-ng cuando pusimos la tarjeta inalámbrica en modo de monitoreo.

En otra pestaña de la terminal escribimos en el siguiente formato el comando aireplay-ng

sudo aireplay-ng -1 30 -e ESSID -a BSSID -h MAC_Nuestra_NIC_wireless mon0

Los datos ESSID y BSSID son d ela red que tenemos por objetivo. “MAC_Nuestra_NIC_wireless” es la MAC de nuestra tarjeta inalámbrica. Por ejemplo:

sudo aireplay-ng -1 30 -e INFIERNITUM1234 -a 00:06:44:A6:F0:30 -h 00:C0:3C:45:89:40 mon0

Donde

INFIERNITUM1234 es el ESSID de la red inalámbrica
00:06:44:A6:F0:30 es el BSSID o la MAC dl router/acceso point que provee el servicio inalámbrico
00:C0:3C:45:89:40 es la MAC de nuestra tarjeta inalámbrica.

Tendríamos algo así como en la siguiente figura:

En otra pestaña de la terminal escribimos el comando aireplay-ng en el siguiente formato

sudo aireplay-ng -3 -x600 -b BSSID -h MAC_Nuestra_NIC_wireless mon0

Tendríamos algo así usando los datos que tenemos como ejemplo:

sudo aireplay-ng -3 -x600 -b 00:06:44:A6:F0:30 -h 00:C0:3C:45:89:40 mon

Una vez hecho esto es cuestión de esperar a que se capturen los suficientes paquetes para que podamos hallar la clave WEP. Hay quienes dicen que con 100 mil es suficiente, pero he obtenido claves WEP con solo unos 11 mil paquetes. Entre más es mejor.

Ya teniendo capturados los suficientes paquetes, desde otra sesión en la terminal de Ubuntu, procedemos a hallar la clave WEP mediante aircrack-ng. Para ello escribimos

sudo aircrack-ng wifi-01.cap

Recordemos que wifi es el nombre del archivo que especificamos al capturar los paquetes. Deberás de ver cuál es el archivo que hayas especificado. Tendríamos algo como en la figura siguiente:

En este caso nos pregunta cuál es la red objetivo, en caso de que hallamos capturado paquetes de otras redes. En el ejemplo que teneos en la figura seleccionamos 1, pues es la red que pusimos como objetivo desde el inicio y es donde vemos que hemos capturado los paquetes necesarios.

Y finalmente obtenemos el resultado:

 

Si tienes dudas o comentarios acerca de este tutorial, puedes escribirme a través de la forma de contacto de mi sitio: http://josmx.com/contacto