黑客能不能监控你的微信聊天(黑客可远程浏览全部聊天记录)
黑客能不能监控你的微信聊天(黑客可远程浏览全部聊天记录)
微信这类聊天软件大概率使用私有协议。而私有协议在协议分析软件上的呈现,一般都是TCP封装一长串字节流,而这些字节流究竟是什么内容,协议软件无法给出答案!看看协议分析软件能否看到微信网页版、手机APP版的聊天内容?不知道大家看到"美女好"哇,这个就是协议分析软件分析出来的聊天内容。
真实聊天内容
结果二者一摸一样!
1、实验结论
协议分析软件可以将聊天内容解密出来!
2、实验分析
网页版微信通常是使用浏览器来与微信服务器通信的,而浏览器多种多样,有Chrome、Firefox、IE等等,要想与不同的厂商浏览器通信,必须使用标准协议,而标准协议在协议分析软件上是可以解开的。考虑到网页版的微信,可能会使用SSL/TLS加密聊天内容,需要用Fiddle作为中间人,用Fiddle伪造的证书来欺骗浏览器,让浏览器误以为Fiddle就是微信服务器。Fiddle再与微信服务器建立SSL/TLS加密通道,传输聊天内容。
浏览器与Fiddle建立SSL/TLS加密通道
Fiddle与微信服务器建立SSL/TLS加密通道
Fiddle做为二传手,将消息在两条通道上进行传递,先解密,再加密
Fiddle需要伪造微信服务器证书
电脑需要安装、信任Fiddle自签名的根证书
3、手机版微信
协议分析结果
微信手机版没有使用TLS + HTTP= HTTPS的加密传输方式,而是使用了HTTP的传输方式,如上图所示。每一个报文大概是这个样子的:
除了HTTP 报文头(HTTP Header)是明文的,HTTP报文体(HTTP Body)看起来是一堆杂乱无章的字节流。没有找到聊天的任何内容。最最滑稽的是,当发送聊天内容时,Fiddle没有任何反应!意味着发送聊天内容的报文既不是HTTP,也不是HTTPS,那很可能是TCP、或UDP协议原始(Raw)封装。为了确认到底是TCP还是UDP传输报文,特意去了微信研发公众号去确认,得到的确认是采用TCP传输。分为两种连接方式:
长连接:TCP + 私有协议 + MMTLS + 业务层
短连接:TCP + HTTP + MMTLS + 业务层
短连接是为了兼容老版本的软件,而长连接完全是私有实现,所以造成Fiddle没有捕获到,毕竟Fiddle只能捕获到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公钥解密,那就证明是真正微信服务器发送的!在微信的私有实现里,不需要CA,微信客户端凭借预置的ECDSA公钥完成服务器的认证!
5、静态ECDH公钥又是干嘛的?
如果微信客户端想最小延迟(0 RTT)发消息,可以直接生成自己的ECDH私钥、公钥、Nonce,再加上服务器预置的Nonce。就可以单方面计算出Pre-Master Key ,Master Key , Session Key,进而将消息加密发出。
微信服务器收到消息的同时,一同收到的还有客户端的ECDH公钥、客户端Nonce,服务器用自己的ECDH私钥、预留在客户端的Nonce,这四个参数,计算出可以解密消息的Key,并将消息解密出。MMTLS没有给消息增加额外的延迟,称这种通信为0 RTT通信。
微信客户端强制使用服务器的ECDSA公钥来认证服务器的身份,所以Fiddle压根没法欺骗微信APP。如果Fiddle强制替换,微信客户端会放弃连接服务器,造成的后果就是微信永远登录不了服务器!微信APP之所以可以实现私有协议,是因为服务器、客户端都是微信的代码,再怎么私有,理解起来也没有任何障碍!
6、最终结论
微信网页版,使用公司网络,公司可以看到聊天内容,无论使用的是公司电脑还是个人电脑。
微信网页版,使用4G网络,流量没走公司,公司自然也无法看到聊天内容。
微信手机版,使用私有协议通信,手机APP嵌入了服务器的公钥,APP只认与这个公钥一一对应的私钥签名。使用其它私钥签名的一概不认,所以无法欺骗微信APP。使用微信手机版聊天是安全的,无论是使用公司网络还是4G网络,公司都无法看到聊天内容。
湿疹怎么样(鹅掌风是什么样的)除了淘宝,还有什么让你有剁手的冲动?你是否与小编一样,在遭受着满手水疱,奇痒无比,想挠痒不敢挠的痛苦。造成的痛苦罪魁祸首,首当其冲想到是手癣,那到底是不是手癣呢?让我们一起来看看!
西点怎么样(西点和裱花哪个好学)中考来临,对于学生来说都是非常紧张的时刻,三年的寒窗苦读可以说只为了这一刻。然而并不是每一个初中生都能考上自己理想的高中。对于学习生涯的向往引得我们深思如果不上高中,我们还有什么出
职称怎么评(四川职称与职业资格对照表)关于成都市21年申报初中高级职称条件如下(简化版,详细看文件通知)申报条件1申报助理工程师在建筑专业工程技术岗位上工作,并满足以下条件之一者(1)非全日制本科毕业,从事专业技术工作
不想学怎么办(我不想学了怎么办初中)关于00后,大家都知道这是标新立异个性张扬的一代人,他们的生活从来不按部就班,学习更不是这样。学至初中,传统枯燥的文化课对于他们来说毫无兴趣,但处在初中这样一个尴尬的年龄,升高中无
平面图怎么看(标准层平面图怎么看)二电气施工图的表示(1)常用图线绘制电气图所用的各种线条统称为图线。常用图线见表18。表18图线形式及应用(2)线路敷设方式文字符号见表19。表19线路敷设方式文字符号(3)线路敷
手机号码身份证查询通话记录(身份证查手机通话清单)手机号码身份证查询通话记录(身份证查手机通话清单)01电信号码查询调取方法1电信营业厅手机APP查询调取流程查询办理历史账单语音语音详单按月或者按日期查询。提示未验证身份的号码,需
手机通话记录查询一年(怎样查到一年前的通话记录)手机通话记录查询一年(怎样查到一年前的通话记录)如何查询6个月以前的通话记录是网上常见的问题,因为不管是移动,联通,还是电信,都只可以查询最近6个月内的通话记录,那六个月以前的通话
联通通话详单怎么查询电话(联通怎样查询通话详单)联通通话详单怎么查询电话(联通怎样查询通话详单)为了更好得给大家示范小沃通话记录大曝光想查询通话详单接着往下看查询步骤打开联通手机营业厅点击通话详单输入正确的验证码即可打开该页面通
怎么查当月通话记录(通话清单怎么查出来)怎么查当月通话记录(通话清单怎么查出来)科技的发展为人们的生活带来便利,最明显的就是手机,手机的功能是越来越齐全,各个方面也在不断的做出提升改变。但手机的通话功能是手机中最为基础的
怎么查详细通话记录(手机通话明细怎么查)怎么查详细通话记录(手机通话明细怎么查)第一部下载手机营业厅!就是这个APP下载好以后我们可以直接登录!点击我的,然后点击登录按钮!输入手机号码获取验证码登录,或者选择本号码一键登
v移动通话详单怎么查询电话(移动手机号码查询通话详单)第一步搜索中国移动,进入移动官网百度输入中国移动通信或相关关键词,点击带有官网字样,进入移动官网。第二步切换归属地并登陆点击归属