Cómo descifrar SSL con Chrome o Firefox y Wireshark en macOS

Cómo descifrar SSL con Chrome o Firefox y Wireshark en macOS

50596
Created On 04/27/21 00:18 AM - Last Modified 01/03/25 15:21 PM


Objective


Capture claves de sesión SSL desde una navegación web cifrada u otro tráfico de aplicación web en Chrome o Firefox y utilícelas para descifrar capturas de paquetes en Wireshark.

Environment


  • macOS 10.15 o posterior
  • Chrome 85 o más reciente, o Firefox 81 o más reciente
  • Wireshark 3.2.7 o más reciente
  • Sesiones SSL/TLS utilizando algoritmos de intercambio de claves RSA, DHE o ECDHE.


Procedure


1. Cierre Chrome o Firefox por completo. Asegúrese de que todas las instancias estén cerradas mediante la opción Forzar salida (haga clic con el botón derecho en el ícono del navegador web en el Dock de aplicaciones, mantenga presionada la tecla Opción y seleccione Forzar salida).

2. Abra una ventana de Terminal y configure la variable de entorno SSLKEYLOGFILE utilizando el siguiente comando.

exportar SSLKEYLOGFILE="/Usuarios/$USER/sslkey.log"

Establezca la variable de entorno SSLKEYLOGFILE

No cierre la ventana del terminal.

3. Inicie Wireshark e inicie la packet capture (captura de paquetes - pcap).

4. Inicie Chrome o Firefox usando la ventana de terminal que se utilizó para configurar la variable de entorno en el paso 2. (La variable de entorno se configura solo para esa sesión de terminal específica).

Para Chrome:
Abra aplicación

Para Firefox:
Abra aplicación

Abra el navegador web desde la ventana de Terminal.

5. Utilice la terminal para verificar que se haya creado el archivo sslkey.log.

archivo /Usuarios/$USER/sslkey.log

El resultado esperado si el archivo se crea correctamente será:
/Usuarios/usuario1/sslkey.log: texto ASCII

Verifique que se haya creado el archivo sslkey.log.


6. Navegue hasta el sitio web o la aplicación web que se está probando y ejecute todas las acciones que deben capturarse.

En nuestro ejemplo, descargamos el archivo de prueba de malware del sitio seguro EICAR.
Vaya al sitio web que se está probando

7. Verifique en Wireshark para confirmar que la actividad se recopiló correctamente y detenga la capturar.

Captura cifrada recopilada.

8. En Wireshark, vaya a [ Preferencias > Protocolos > TLS ]. En Nombre de archivo de registro (Pre)-Master-Secret, seleccione el archivo sslkey.log creado en el Paso 5 y haga clic en OK.

Opciones de TLS

9. La packet capture (captura de paquetes - pcap) descifrados se muestra en Wireshark.

Se presenta la captura descifrada.

10. (Opcional) Siga el flujo HTTP para visualizar el contenido descifrado.

Transmisión HTTP

Nota 1 : Los pasos pueden cambiar cuando se actualice MAC OS o Chrome.
Nota 2: Este artículo se ha redactado únicamente con fines informativos. Palo Alto Networks no ofrece soporte para ningún sistema operativo de terceros.


Additional Information


Utilice tshark para descifrar y exportar paquetes

Actualmente no hay forma de exportar las capturas de paquetes descifrados de Wireshark en formato PCAP, sin embargo, esta tarea se puede lograr usando tshark, que es la contraparte de la línea de comandos de Wireshark. Le permite extraer y guardar los datos descifrados.

  1. Asegúrate de tener disponibles las claves (pre)maestras-secretas .

  2. Run tshark with the TLS key log and appropriate decryption settings:

    tshark -r original.pcap -o tls.keylog_file:/path/to/your/tls_keys.log -o tls.desegment_ssl_records:TRUE -o tls.desegment_ssl_application_data:TRUE -w decrypted.pcap

    • -r original.pcap: Your original PCAP file with encrypted TLS packets.
    • -o tls.keylog_file: Path to your TLS key log file.
    • -o tls.desegment_ssl_records: Ensures proper segmentation of SSL/TLS records.
    • -o tls.desegment_ssl_application_data: Ensures the SSL/TLS application data is properly reassembled.

    The -w decrypted.pcap flag will write the decrypted packets to a new output file.



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000oM2ECAU&lang=es&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language