我正在尝试解密来自 exe 文件的 https 流量,该文件正在向某个站点发送请求。但是,数据未被解密。它在 Wireshark 中的样子 -https://prnt.sc/sfv7xb
完整 SSL 日志 -https://mega.nz/file/mMdl1SaR#4LzJrN2Z9TYP4zqT_XGLpWZb9D8e-tyBFST7PYJnUls 另外,我注意到,来自浏览器的请求已成功解密,但当它们从 exe 文件运行时,它们仍未解密。
答案1
Wireshark 需要加密密钥。
看https://wiki.wireshark.org/TLS
TLS 解密
当提供适当的机密时,Wireshark 支持 TLS 解密。两种可用方法是:
使用每个会话秘密的密钥日志文件(#Using_the_.28Pre.29-Master-Secret)。
使用 RSA 私钥(#RSA_Keys)解密。
密钥日志文件是一种通用机制,即使使用 Diffie-Hellman (DH) 密钥交换,也始终可以解密。RSA 私钥仅在有限的情况下有效。
密钥日志文件是 Firefox、Chrome 和 curl 等应用程序在设置 SSLKEYLOGFILE 环境变量时生成的文本文件。确切地说,它们的底层库(NSS、OpenSSL 或 boressl)将所需的每个会话机密写入文件。随后可以在 Wireshark 中配置此文件(#Using_the_.28Pre.29-Master-Secret)。
RSA私钥文件仅在以下情况下使用:
服务器选择的密码套件未使用 (EC)DHE。
协议版本为 SSLv3、(D)TLS 1.0-1.2。它不适用于 TLS 1.3。私钥与服务器证书匹配。它不适用于客户端证书,也不适用于证书颁发机构 (CA) 证书。
会话尚未恢复。握手必须包含 ClientKeyExchange 握手消息。
通常建议使用密钥日志文件,因为它适用于所有情况,但需要能够从客户端或服务器应用程序持续导出机密。 RSA 私钥的唯一优势是,只需在 Wireshark 中配置一次即可启用解密,但要遵守上述限制。