¿Cómo funciona exactamente el agrietamiento de un apretón de manos de 4 vías?

16

Según tengo entendido, así es como funciona WPA2 para redes domésticas:

  • PSK (clave precompartida) se usa para generar PMK (clave maestra en pares), que se usa junto con ANonce (AP Nonce) para crear PTK (clave en transitorios en pares).
  • PTK se divide en KCK (Clave de confirmación de clave, 128 bits), KEK (Clave de cifrado de clave, 128 bits) y TEK (Clave de cifrado temporal, 128 bits).
  • KCK se usa para construir MAC en los paquetes EAPOL 2,3 y 4.
  • KEK se utiliza para cifrar algunos datos enviados al cliente (por ejemplo, GTK).
  • TEK se usa para cifrar el tráfico entre el cliente y el AP, más tarde durante la sesión.

Ahora el protocolo de enlace WPA de 4 vías:

  1. AP envía ANonse (AP Nonce) al cliente, que es básicamente un Entero aleatorio de 256 bits.
  2. El cliente usa ANonce y PMK para generar PTK (clave transitoria de par a par) y envía CNonce (cliente nonce) y MAC.
  3. AP envía MAC y GTK (clave temporal de grupo) al cliente.
  4. El cliente envía ACK con MAC.

Ahora, ¿cómo funciona el craqueo de un apretón de manos (por ejemplo, un ataque de diccionario) si no se usa todo el PTK (KCK y KEK se usan durante el apretón de manos, pero TEK no)? Entiendo que las palabras del diccionario se usan como PSK para generar PMK y Anonce (que también se captura en el protocolo de enlace) para generar PTK, pero ¿cómo puedo saber cuándo PTK es correcto cuando nunca se usa 1/3 de la clave?

    
pregunta user3362334 23.08.2014 - 17:57
fuente

1 respuesta

11

La respuesta corta es que el "craqueo" de la contraseña de protocolo de enlace de 4 vías funciona al verificar el MIC en el 4to cuadro. Es decir, solo comprueba que la parte KCK del PTK sea correcta. El protocolo de enlace de 4 vías no contiene datos que permitan verificar otras partes del PTK, pero en realidad no es necesario, por dos razones:

  1. La verificación de MIC es cómo el AP verifica la validez de PTK (y, en consecuencia, la contraseña);
  2. Las posibilidades de que una contraseña produzca PTK que tenga un KCK válido, pero otras partes no válidas son realmente bajas: KCK es de 128 bits, por lo que la probabilidad de que una contraseña incorrecta produzca un KCK correcto es 2 -128 .

En general, el "cracking" de contraseñas de 4 vías funciona así:

  1. El protocolo de enlace de 4 vías se analiza para obtener las direcciones SP y STA, los puntos de acceso AP y STA, y la carga útil EAPOL y MIC desde la 4ª trama;
  2. La contraseña del candidato se utiliza para calcular PMK;
  3. PTK se calcula a partir de direcciones PMK, AP y STA, y no comunes;
  4. KCK de PTK computado se usa para calcular la CMI de la carga útil de EAPOL obtenida en el paso 1;
  5. La MIC calculada se compara con la MIC obtenida en el paso 1. Si coinciden, la contraseña del candidato se notificará como correcta.

Si desea ver la implementación real del ataque, un lugar para comenzar es coWPAtty fuentes: son relativamente pequeñas, independientes y fáciles de leer.

    
respondido por el Andrey 24.08.2014 - 08:21
fuente

Lea otras preguntas en las etiquetas