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"
| 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
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
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.
7. Verifique en Wireshark para confirmar que la actividad se recopiló correctamente y detenga la capturar.
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.
9. La packet capture (captura de paquetes - pcap) descifrados se muestra en Wireshark.
10. (Opcional) Siga el flujo HTTP para visualizar el contenido descifrado.
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.
-
Asegúrate de tener disponibles las claves (pre)maestras-secretas .
-
Run
tsharkwith 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.pcapflag will write the decrypted packets to a new output file.