Obtener claves WEP de redes inalámbricas

Tecnología:

Este pequeño tutorial tiene por objetivo explicar cómo obtener la clave WEP de una red inalámbrica. Para ello he usado Linux como Sistema Operativo, la suite aircrack (http://aircrack-ng.org) y una tarjeta inalámbrica que soporte inyección de paquetes.

Antes que nada, debes saber existen leyes sobre delitos informáticos. En algunos países puede ser un delito entrar a redes sin permiso por lo que hallar claves WEP de redes inalámbricas y entrar a ellas puede estar considerado un delito. Escribo este tutorial para explicar simplemente el método para obtener dichas claves. Siempre debes considerar que si entras a alguna red inalámbrica sin permiso del dueño, es bajo tu responsabilidad.

Aircrack-ng es un conjunto de herramientas para la auditoría redes inalámbricas. Permite recuperar claves 802.11 WEP y WPA-PSK una vez que suficientes paquetes de datos han sido capturados. Está disponible como paquete en diversas distribuciones Linux y también existe una versión para Windows.

Podemos usar cualquier distribución de Linux aunque muchos recomiendan algunas distribuciones en formato Live-CD preparadas especialmente para auditoría de redes inalámbricas. Esto porque viene instalado aircrack y además soporte para bastantes tarjetas inalámbricas. Yo he usado Ubuntu, SuSE (formalmemte openSuSE), Fedora y WifiSlax con éxito en todos los casos.

Básicamente el proceso consiste de 5 pasos:

  1. Obtener datos de las redes inalámbricas (BSSID, ESSID y canal) de las que deseamos obtener las claves WEP
  2. Iniciar el monitoreo de una señal y captura de paquetes
  3. Crear una asociación entre nuestra tarjeta inalámbrica y el punto de acceso
  4. Realizar la inyección de paquetes
  5. Hallar la clave WEP mediante aircrack-ng o aircrack-ptw

 Paso 1

Recopilaremos los datos de las redes inalámbricas (BSSID, ESSID y canal) de las cuales deseamos obtener su clave WEP. Para efectos prácticos el BSSID es la MAC Address del punto de acceso de la red inalámbrica y el ESSID es el nombre de la red inalámbrica.

Existen algunos programas para Windows con los que es posible obtener esa información: Vistumbler (http://www.vistumbler.net) para Windows Vista, Netstumbler hhttp://www.netstumbler.com) para Windows XP y WirelessNetView ( http://www.nirsoft.net) para Windows XP/Vista. Para Linux usaremos airodump-ng

Es importante saber estos datos porque los necesitaremos en la asociación entre nuestra tarjeta inalámbrica y el punto de acceso de la red inalámbrica.

En Linux primero ponemos a nuestra tarjeta inalámbrica en modo de monitoreo (todos los comandos se deben ejecutar como root). Para ello desde la consola ejecutamos:

airmon-ng start wlan0

Donde wlan0 es nuestra tarjeta inalámbrica. Si tienes más de una tarjeta inalámbrica escoge cual vas a usar. Regularmente las tarjetas inalámbricas se identifican como wlanX, donde X es un número de la tarjeta, empezando por 0. En mi caso tengo dos: wlan0 y wlan1. La primera es la que viene en la lap y la segunda es una tarjeta con chip Realtek RTL8187L (Modelo Encore ENUWIG2), que es la que uso para inyectar los paquetes.

Ahora realizamos el escaneo de las redes inalámbricas. Nuevamente desde la consola y como root ejecutamos:

airodump-ng wlan0

Esto nos mostrará que redes inalámbricas tenemos alrededor nuestro y los datos públicos de las mismas. Anotamos el BSSID y el ESSID de las redes que nos interesan, así como el canal donde se encuentran.

 

Paso 2

Iniciar el monitoreo. Para ello ya he mencionado que usaré la tarjeta inalámbrica wlan1. En este caso escojemos la red que está en el canal 6. Desde la consola ejecutamos como root:

airmon-ng start wlan1 6

Iniciamos la captura de paquetes. Aunque propiamente la captura se hará posterior a la asociación entre nuestra tarjeta inalámbrica y la red inalámbrica y la inyección de paquetes.Lo siguiente empieza con la captura de paquetes y los escribe en un archivo que posteriormente usaremos para hallar la clave WEP:

airodump-ng -w a -c6 wlan1

La opción -w es para indicar que todos los datos que recopilaremos se escribirán en un archivo, “a” es el nombre del archivo (de hecho se crean varios). En nuestro caso los datos recopilados se guardarán en el archivo a-01.cap, que es creado automáticamente.

La opción -c6 es para indicarle a airodump que use el canal 6, que es el canal que previamente hemos escogido porque ahí es donde se encuentra la red inalámbrica que tenemos como objetivo

Finalmente wlan1 es nuestra tarjeta inalámbrica..

 

Paso 3

Necesitamos además de los datos anteriormente anotados la MAC Address de nuestra tarjeta inalámbrica. Para crear a asociación entre nuestra tarjeta y el punto de acceso de la red inalámbrica desde la consola ejecutamos aireplay-ng con el siguiente formato:

aireplay-ng -1 30 -e ESSID -a BSSID -h MAC-wlanX wlanX 

Donde

  • BSSID es la MAC Address de la red inalámbrica
  • ESSID es el nombre de la red
  • MAC-wlanX es la MAC Address de nuestra tarjeta inalámbrica
  • wlanX es el identificador de nuestra tarjeta inalámbrica en Linux

Al ejecutar aireplay-ng en el ejemplo de este tutorial tendríamos algo así:

aireplay-ng -1 30 -e INFINITUMXXXX -a 00:1F:B3:70:AB:AB -h 00:18:E1:EA:90:1A wlan1 

(Las MAC Address son inventadas y no corresponden a las MAC reales)

 

Paso 4

Ahora realizamos la inyección de paquetes. Para ello usaremos aireplay bajo el siguiente formato:

aireplay-ng -3 -x600 -b ESSID -h MAC-wlanX wlanX

Donde

  • BSSID es la MAC Address de la red inalámbrica
  • ESSID es el nombre de la red
  • MAC-wlanX es la MAC Address de nuestra tarjeta inalámbrica
  • wlanX es el identificador de nuestra tarjeta inalámbrica en Linux

En nuestro ejemplo quedaría así:

aireplay-ng -3 -x600 -b 00:1F:B3:70:AB:AB -h 00:18:E1:EA:90:1A wlan1

Ahora sólo queda esperar a capturar los paquetes necesarios. En algunos casos dicen que con 100 mil paquetes podemos obtener la clave WEP. Personalmente he capturado unos 20 mil paquetes y han sido suficientes para obtener dicho dato (usando aircrack-ptw).

Para ejemplo de este tutorial capturé poco más de 100 mil paquetes (ese dato se ve en la columna #Data en la pantalla donde hacemos la captura de datos).

 El tiempo de captura puede variar debido a la potencia de la señal y la distancia que hay entre nuestra tarjeta inalámbrica y el punto de acceso de la red inalámbrica. Particularmente cuando hice la captura de datos para ejemplo de este tutorial me tardé más de media hora debido a que la señal de la red inalámbrica era muy débil, pero en otros casos el tiempo de captura de datos ha sido de unos 2 a 3 minutos en promedio.

 

Paso 5

Ahora sólo obtenemos la clave WEP con aircrack:

aircrack-ng a-01.cap

En este caso le indicamos a aircrack cual archivo debe escoger para buscar la clave (a-01.cap)

También podemos usar aircrack-ptw

aircrack-ptw a-01.cap

 

Como ves es muy simple obtener la clave WEP de una red inalámbrica. Sólo basta tener instalada la suite aircrack y disponer de una tarjeta inalámbrica que soporte inyección de paquetes. En el mercado hay diversas tarjetas que tienen esa característica.

 Personalmente he probado obtener claves WEP de redes inalámbricas con routers Linksys, 2Wire y Thompson (éstos dos últimos son los que proporciona Telmex para el servicio de Internet Infinitum mediante ADSL).

 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

 

Links relacionados:

Aircrack-ng
http://aircrack-ng.org

Aircrack-ptw
http://www.cdc.informatik.tu-darmstadt.de/aircrack-ptw

OpenSUSE
http://www.opensuse.org

Ubuntu
http://www.ubuntu.com

Wifislax
http://www.wifislax.com

Wifiway
http://www.wifiway.org