如何在 macOS 中使用 Chrome 或 Firefox 和 Wireshark 解密SSL

如何在 macOS 中使用 Chrome 或 Firefox 和 Wireshark 解密SSL

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


Objective


从 Chrome 或 Firefox 中的加密网络浏览或其他网络应用程序流量中捕获SSL会话密钥,并使用它来解密 Wireshark 中的数据包捕获。

Environment


  • macOS 10.15 或更高版本
  • Chrome 85 或更高版本,或者 Firefox 81 或更高版本
  • Wireshark 3.2.7 或更高版本
  • 使用 RSA、DHE 或 ECDHE 密钥交换算法的SSL/TLS会话。


Procedure


1. 彻底关闭 Chrome 或 Firefox。使用“强制退出”选项确保所有实例都已关闭(右键单击应用程序 Dock 中的 Web 浏览器图标,按住 Option 键,然后选择“强制退出”)。

2. 打开终端窗口并使用以下命令设置 SSLKEYLOGFILE 环境变量。

导出 SSLKEYLOGFILE="/Users/$USER/sslkey.log"

设置 SSLKEYLOGFILE 环境变量

不要关闭终端窗口。

3.启动Wireshark,开始packet capture(数据包捕获-pcap)。

4. 使用在步骤 2 中设置环境变量的终端窗口启动 Chrome 或 Firefox。(环境变量仅为特定的终端会话设置)。

对于 Chrome:
打开 /Applications/Google\ app

对于 Firefox:
打开app

从终端窗口打开网络浏览器。

5. 使用终端验证 sslkey.log 文件是否已创建。

文件 /Users/$USER/sslkey.log

如果文件正确创建,预期输出将是:
/Users/user1/sslkey.log:ASCII 文本

验证 sslkey.log 文件是否已创建。


6. 浏览正在测试的网站或 Web应用程序并运行所有需要捕获的操作。

在我们的示例中,我们从 EICAR 安全站点下载恶意软件测试文件。
浏览正在测试的网站

7. 检查 Wireshark 以确认活动已被正确收集,然后停止捕获。

已收集加密捕获信息。

8. 在 Wireshark 中,进入 [ 偏好设置 > 协议 > TLS ]。在 (Pre)-Master-Secret 日志文件名下,选择在步骤 5 中创建的 sslkey.log 文件,然后单击OK。

TLS 选项

9.解密后的packet capture(数据包捕获-pcap)显示在Wireshark中。

呈现解密的捕获。

10.(可选)按照HTTP流可视化解密的内容。

HTTP 流

注1 :当MAC OS 或 Chrome 更新时,步骤可能会发生变化。
注2:本文仅供参考。Palo Palo Alto Networks不支持任何第三方操作系统。


Additional Information


使用tshark解密并导出数据包

目前无法以 PCAP 格式导出 Wireshark 解密的数据包捕获,但是可以使用 tshark(Wireshark 的命令行对应程序)完成此任务。它允许您提取和保存解密的数据。

  1. 确保您拥有可用的 (Pre)-Master-Secret 密钥

  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=zh_CN&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language