我已经读了很多关于嗅探whatsapp流量的内容,我已经知道ssl已经过了。但是,一旦我不知道whatsapp用于加密的私钥是什么,我需要知道是否有任何方法来解密这个ssl通信。
那么,我如何才能发现正在使用哪个证书,或者是否存在另一种方式来解密这些消息?
我不想读任何人的谈话,我的意图是通过网络来传递协议信息。要理解,请进行反向工程,并为个人工作目的详细说明一个简单的JAVA。
我使用wireshark读取ssl通信量。

发布于 2013-09-17 21:15:08
您可以使用代理软件尝试中间人攻击,该软件可以生成假SSL证书,但它并不总是有效的。其中一些应用程序使用证书钉扎来防止这类攻击。
HTTP代理:
http://fiddler2.com/get-fiddler
这个软件产生一个明显的假证书,你可以接受如果应用程序将允许。
证书钉扎:
https://security.stackexchange.com/questions/29988/what-is-certificate-pinning
发布于 2015-10-23 18:31:58
除非您控制服务器( RSA auth套件的私钥、服务器应用程序或程序内存)或客户端(应用程序或内存)(或者两者都协商弱密码,但这是一个不同的主题),否则您无法解密消息。
最简单的方法,但最具侵入性和易于发现的服务器和客户端:ssl/tls人在中间与假证书。因为这改变了客户端应用程序所看到的服务器证书,客户端应用程序可能只是拒绝连接(证书钉扎,硬引脚)。如果没有,对您有好处,您可以控制服务器,您可以访问协商好的密钥。
为什么?客户端和服务器都协商一个共享的主秘密,它们从其中派生出一组客户机和服务器会话密钥(使用rfc中指定的tls,例如rfc2246 - tls1.0)。
也就是说,如果您不想或不能处理服务器,并且您可以访问客户端进程,您可以找到一种方法从内存中提取主秘密,并重新计算rfc中指定的客户机/服务器会话密钥。提取可以通过调试应用程序、搜索内存工件或修补它来完成,然后对协议消息进行解密。请注意,主秘密不时地重新生成,因此您还必须跟踪导致主秘密协商或确切时间的客户端hellos (客户端随机),以便允许wireshark匹配密钥以重新协商。密钥仅对此客户端会话有效,您可以对密码器进行解密,而不限于,因为主密钥是双方在tls密钥协商结束后商定的最终秘密。
一旦掌握了主秘密并将其映射到客户端,您就可以将其输入nss密钥日志格式中的wireshark。
下面是一个如何在内存中找到master_key的示例:吡咯烷酮是一个PoC,它演示了如何从进程内存映像中找到master_key。
发布于 2016-03-17 13:48:26
使用会话键日志记录,您可以到达会话的键。之后,wireshark可以用它解析数据包。
详细步骤如下:https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/
https://stackoverflow.com/questions/18842005
复制相似问题