Wireshark 未解密来自 exe 文件的 tls 流量

Wireshark 未解密来自 exe 文件的 tls 流量

我正在尝试解密来自 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 中配置一次即可启用解密,但要遵守上述限制。

答案2

SSLKEYLOGFILE 环境变量仅受少数应用程序(主要是浏览器)的尊重。大多数其他软件将继续照常执行 SSL,而不记录任何密钥。在尝试分析恶意软件的网络流量时,此问题尤其明显。

尝试通过 TLS 代理运行来自 .exe 的流量。您可以使用极地代理(我们的工具)或SSLsplit生成包含解密形式的流量的 PCAP 文件。另一个选项是运行流量mitmproxy并让其导出 SSL 密钥材料。

使用 TLS 代理的缺点是您需要说服受监控的应用程序信任您的代理的根 CA 证书。

相关内容