我正在尝试在 Wireshark 中解密 SSL 流量,部分成功,因为我能够查看解密的标头。问题是我看不到任何数据包内容,只看到它们的标头。这种现象有什么解释吗?
更详细一点:我们使用 openssl 通过以下命令生成密钥和证书:
openssl req -config *.cnf -new -x509 -extensions v3_ca -keyout *.key -out *.crt -days 1825
然后为了将私钥解密为 PKCS#8 格式(wireshark 据称支持该格式),我们发出了以下命令:
openssl pkcs8 -nocrypt -in *.key -informat DER -out *.key -outformat PEM
在 Wireshark 中,我们在 SSL 解密部分发出了以下参数:
10.10.10.10,443,http,*.key
- 其中 10.10.10.10 是我们使用 sslsniff 尝试 MITM 的客户端。我们还尝试了 localhost 和服务器 IP,但没有成功。有什么建议吗?
答案1
SSL 连接可能正在使用迪菲一赫尔曼建立会话密钥。DH 允许双方在不安全的通道上建立共享密钥,而无需事先进行通信。这意味着即使您拥有私钥,也无法通过检查流量来确定会话密钥。要解码 DH 会话,您必须主动对连接进行 MITM,或者让其中一方记录会话密钥。
答案2
答案3
您是否误将加密数据当成了压缩数据?Web 服务器通常使用某种形式的数据压缩 (gzip 或 deflate),这会使有效负载看起来就像是加密的。