黑客能监控别人微信吗(利用黑客技术远程读取他人微信)

管理员 2024-09-21 14:50:52 159

黑客能监控别人微信吗(查对方都在和谁聊天记录)

这类微信聊天软件使用私有协议的概率很大。而私有协议在协议分析软件中的呈现一般是TCP封装了一长串字节流,但是协议软件并不能给出这些字节流是什么的答案!看协议分析软件能不能看到微信网页版本、手机APP版的聊天内容?不知道大家看到“美女好”哇,这是协议分析软件分析出来的聊天内容。

黑客能不能监控你的微信聊天

黑客能不能监控你的微信聊天

真实聊天内容

结果二者一摸一样!

1、实验结论

协议分析软件可以解密聊天内容!

2、实验分析

Web版微信通常使用浏览器与微信服务器进行通信,有各种浏览器,包括Chrome、Firefox、IE等如果要和不同厂商的浏览器进行通信,就必须使用标准的协议,这些都可以在协议分析软件中解决。考虑到微信的网页版,可能会用到SSL/要加密TLS聊天的内容,就要用Fidel做中间人,用Fidel伪造的证书欺骗浏览器,让浏览器误以为Fidel就是微信服务器。Fiddle然后与微信服务器建立SSL/TLS加密频道,传输聊天内容。

黑客能不能监控你的微信聊天

用浏览器拨弄建立SSL/TLS加密通道

Fiddle与微信服务器建立SSL/TLS加密通道

Fiddle作为setter,通过两个通道传递消息,先解密再加密

提琴需要伪造微信服务器证书

电脑需要安装、信任提琴自签名根证书

3、手机版微信

黑客能不能监控你的微信聊天

协议分析结果

手机版微信没有使用TLS HTTP=HTTPS的加密传输方式,而是使用HTTP的传输方式,如上图所示。每条消息大概都是这样的:

黑客能不能监控你的微信聊天

除了HTTP报文头(HTTPHeader)是纯文本,HTTP报纸风格(HTTPBody)它看起来像一堆杂乱的字节流。没有找到聊天的任何内容。最好笑的是,在发送聊天内容的时候,Fiddle没有回应!说明发送聊天内容的消息既不是HTTP也不是HTTPS,很可能是TCP、或UDP协议原始(Raw)封装。为了确认传输消息是TCP还是UDP,我们特地去了微信R ampd微信官方账号确认,确认是TCP传输。分为两种连接方式:

长连接:TCP私有协议MMTLS服务层

短连接:TCP HTTP MMTLS业务层

短连接是为了兼容老版本的软件,而长连接完全是私有实现,所以Fidel没有被捕获毕竟,Fidel只能捕获HTTP或HTTPS,其他协议根本不感兴趣!所以用Wireshark来抓取微信长连接的TCP消息是真的被抓取了,再私密也飞不起来!但是这些TCP报文没有任何意义可展示,TCP头后面的字段都很乱,这是意料之中的!

3、MMTLS是一种怎样的存在?

MMTLS是TLS1.版本3的改进版,或者简化版。微信决定用MMTLS之前的TLS1.版本3长期停留在草案状态,没有形成最终标准。于是微信决定采用TLS1.草案3中的标准大幅砍掉了客户端认证的环节,只剩下服务器认证。

手机微信APP中预置了微信服务器的两个秘密武器:

ECDSA公钥

静态ECDH公钥

4、ECDSA公钥是干嘛的?

ECDSA用于验证服务器的真实身份任何来自服务器的MMTLS协商消息,只要用ECDSA的私钥签名,都可以用ECDSA的公钥解密。换句话说,如果签名部分能被ECDSA公钥解密,就证明是真实的微信服务器发送的!3356在微信的私有实现中,不需要CA,微信客户端用预置的ECDSA公钥完成对服务器的认证!

5、静态ECDH公钥是干什么用的?

如果微信客户端想要最小化延迟(0RTT)消息,您可以直接生成自己的ECDH私钥、公钥、Nonce,加上服务器预设的Nonce。Pre可以单边计算-主钥匙,主钥匙,会话钥匙,老年伯。

微信服务器收到消息时,也会收到客户端的ECDH公钥、客户端随机数,服务器使用自己的ECDH私钥、这四个参数保留在客户端的Nonce中,可以计算出可以解密消息的密钥,然后解密消息。MMTLS不会给消息增加额外的延迟,称为 0RTT通信。

微信客户端强制服务器的ECDSA公钥认证服务器的身份,所以Fiddle根本无法欺骗微信APP。如果强行更换Fiddle,微信客户端将放弃连接服务器,后果是微信永远无法登录服务器!微信之所以能实现私有协议,是因为服务器、客户端都是微信的代码,无论多私密,理解起来都没有障碍!

相关文章