¿Cómo descifrar IKVe2 en Wireshark usando la información de registro de StrongSwan?

Pregunta:

Wireshark tiene la capacidad de descifrar IKEv2, si hace Preferencias, seleccione ISAKMP, ofrece una tabla de descifrado IKEv2 que quiere los SPI del iniciador y del respondedor, las claves de cifrado y autenticación (SK_ei, SK_er, SK_ai, SK_ar) y los algoritmos de cifrado y autenticación . Usando el registro de depuración de charon de Strongswan en todos estos están disponibles.

Tengo un IKEv2 SA en funcionamiento y puedo transferir tráfico ESP.

Sin embargo, cada vez que intento descifrar con Wireshark time, se obtienen resultados descifrados incoherentes, como longitudes de campo de 65000 en un paquete que tiene 166 bytes, e informa paquetes con formato incorrecto.

Tampoco puedo descifrar los paquetes ESP. Las búsquedas de Google dicen que esto es posible simplemente usando la información del 'estado de ip xfrm', pero Wireshark no descifra nada o vuelve a producir resultados no válidos.

Claramente me falta algo, ¿alguien ha hecho esto?

Estoy usando Wireshark 1.8.3, StrongSwan 5.0.1 en Ubuntu 12.04.

Gracias, RichK

Respuesta:

Tuve exactamente el mismo problema pero finalmente logré resolverlo. Mi suposición básica ha sido que Wireshark puede decodificar mensajes IKEv2 (ver: http://www.wireshark.org/lists/wireshark-bugs/200904/msg00114.html ). No estoy seguro de si se admiten todos los métodos de cifrado e integridad.

Mi configuración fue el cliente Windows 7 y el servidor Strongswan. Si configura Strongswan con el nivel de registro más fuerte, todas las claves necesarias están contenidas en el archivo syslog. Busque la palabra clave "Sk_ei", "Sk_er", Sk_ai "y" Sk_ar "(hay varias instancias en el archivo, tomé la última ocurrencia en el archivo de registro). Usted sabe que debe capturar el tráfico con Wireshark, obtenga el Strongswan log-file de ese momento e ingrese los valores correctos en la tabla de decrpytion de Wireshark IKEv2. Es extremadamente importante que ingrese los valores en la longitud y el formato correctos, por ejemplo, elimine los espacios o dos puntos (:) si copia los valores de syslog o rastro de wirehark.

Aquí hay una guía para los valores que se utilizarán en la tabla de descifrado:

Iniciadores SPI = cookie de iniciador (se encuentra en el mensaje de Wireshark, no codificada) Respondedores SPI = cookie de respuesta (se encuentra en el mensaje de Wireshark, no está codificada)

algoritmo de cifrado: se puede encontrar en la respuesta de Wireshark IKE SA Init si no está seguro de haber usado AES-CBC-256, es decir, SK-ei y SK_er deben tener 64 dígitos hexadecimales

algoritmo de integridad: se puede encontrar en la respuesta de Wireshark IKE SA Init si no está seguro de haber usado HMAC-SHA1-96, es decir, SK-ai y SK_ar deben tener 40 dígitos hexadecimales

Los valores de Sk_ei, SK_er, SK_ar y SK_ai deben copiarse y pegarse sin espacios en blanco del archivo de registro de Strongswan en la tabla de descifrado. En mi ejemplo, la clave de 64 dígitos (SK_ei, SK_er) se distribuyó en 2 líneas en el archivo de registro.

Si todo se hace correctamente, Wireshark debería mostrar mensajes decodificados.

¡Espero que esto ayude!

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım