2012-02-11 14 views
6

Me gustaría tener una pregunta rápida. ¿Hay algún complemento para Firefox o herramienta para obtener la clave de sesión generada desde el secreto principal durante el protocolo de enlace SSL mediante el cual se codifica la comunicación simétrica de todo el cliente/servidor? Lo necesito debido a la decodificación de la comunicación (POST/GET/etc.) a través de la biblioteca Wireshark o PCAP. Como puedo ver, Firebug muestra una comunicación descifrada, así que espero que existan algunas formas apropiadas de cómo llegar a esta clave de sesión :)¿Cómo acceder a la clave de cifrado utilizada de la conexión SSL actual en Firefox?

Gracias a todos por su ayuda.

+1

No necesito descifrar la comunicación de Wireshark de forma independiente sin tener acceso al lado del cliente, lo que se puede hacer con la función incorporada en Wireshark y requiere una clave RSA privada del servidor. Solo estoy preguntando si hay alguna forma (en Firefox) de obtener la clave de sesión final o el secreto premaster antes de que sea cifrada por la clave pública del servidor y enviada al servidor. Y luego el uso alternativo de esta clave de sesión para descifrar la comunicación capturada por mí, por ejemplo, en Wireshark. – ITman

+0

Firebug & Co. no necesitan descifrar el tráfico: obtienen la solicitud antes de cifrarla y la respuesta después de descifrarla en el navegador. Por todo lo que sé, la clave de sesión está demasiado nivelada y no está expuesta a extensiones. –

+1

Eche un vistazo a https://developer.mozilla.org/en-US/docs/NSS_Key_Log_Format - no estoy seguro de si eso ya existía cuando se hizo la pregunta, por lo tanto, solo como un comentario :) – mihi

Respuesta

9

Tengo buenas noticias para usted. En realidad, puede obtener los datos de la clave maestra que necesita tanto de Firefox como de Chrome. Y puede usar el archivo de salida en Wireshark para descifrar el tráfico SSL/TLS sin la necesidad de la clave privada del servidor SSL/TLS. Echa un vistazo a "Método 2" aquí: http://www.root9.net/2012/11/ssl-decryption-with-wireshark-private.html

Como consejo, si no desea reiniciar el equipo acaba de abrir un símbolo del sistema y ejecute:

conjunto SSLKEYLOGFILE = c: \ sslKeyLogFile.txt

"C: \ archivos de programa (x86) \ Mozilla Firefox \ firefox.exe"

desde Firefox está siendo lanzado desde la misma sesión que ha agregado la variable de entorno en el, se pondrá en marcha con ese conjunto de variables. De lo contrario, será necesario reiniciar Windows después de configurarlo en los cuadros de diálogo de configuración del sistema.

También quiero señalar que la respuesta de Chris no era necesariamente incorrecta, esta es una característica bastante nueva. No lo hizo en lanzamiento hasta Wireshark 1.6.

+3

Esto también es útil para las suites de cifrado DHE (donde tener la clave privada del servidor no sería suficiente). – Bruno

+0

Firefox 48+ inhabilita esto de forma predeterminada, pero aún puede usarlo en su "edición de desarrollador". – Governa

1

Si desea utilizar Wireshark, el premaster secreto no le servirá (lo llamará 'clave de cifrado' en su pregunta).

Wireshark solo puede descifrar el tráfico si especifica la clave privada RSA del servidor, que no cambia en todas las conexiones a diferencia del secreto premaster. Sin embargo, no puede obtener eso a través de su navegador o cualquier otra cosa por razones obvias.

Si desea descifrar el tráfico SSL, sugiero utilizar un proxy intermedio en su lugar, como Fiddler. No captura de forma pasiva el tráfico, sino que envía un proxy al tráfico, lo que le permite descifrar los datos enviados y recibidos.

+0

Sugerencia agradable con proxy, lo haré pruébalo más tarde. En este momento todavía estoy buscando ninguna solución de proxy. Para borrar por 'clave de cifrado' quise decir 'clave de sesión'. Más en el primer comentario a la pregunta anterior. – ITman

Cuestiones relacionadas