火绒发现了一起利用腾讯QQ升级漏洞植入后门病毒的攻击事件,攻击者可利用该漏洞下发任意恶意代码。
漏洞影响:
该漏洞曾在2015年就被公开披露过,之后腾讯对该漏洞进行修复并增加了校验逻辑。但截止到19年8月10日,QQ此处升级逻辑仍存在逻辑漏洞。(包括TIM、QQ、QQ轻聊版、QQ国际版)
上一个漏洞披露的利用过程:
QQ在登录成功后10分钟左右,会主动向服务器POST投递某个模块要求更新,URL如下:
http://updatecenter.qq.com/queryselfupdate
![dd202dfc1c0468945ecf619cde028f09.png](https://i-blog.csdnimg.cn/blog_migrate/c4e339592054e05bb8d8dd23e5286133.jpeg)
(抓包及插入TCP会话后截图)
回应包为一个包含特殊文件头的xml文档,该文档描述了要更新的url地址(zip压缩包),hash值,以及size。这个回应包的前两个字节表示了文件头的大小,去除文件头后,就是标准的xml文档。
攻击者如果劫持了这个TCP会话,并伪造xml文档,插入TCP会话,可以造成任意exe文件被下载并执行的后果。
QQ没有对此文件进行任何校验,仅仅通过xml的描述来校验是否合法,未对exe文件本身进行数字签名校验等措施。
![2b4876529c2fe8ce0b2b7fc07c88afe6.png](https://i-blog.csdnimg.cn/blog_migrate/91858acebed492030d79a922e01923e5.jpeg)
(伪造的xml文档)
在这个xml文档中,url字段表示zip包的下载地址(必须为zip包,包中需要有名为txupd.exe的文件)
![60ea2fb0153c9d760f656eb290fef645.png](https://i-blog.csdnimg.cn/blog_migrate/bcad7dedc611423ae0f354e3ae258cfe.jpeg)
MD5字段为hash值,size字段为大小(字节)
符合上述条件,下载后自动解包,自动运行,想怎么玩就怎么玩…
火绒发布的病毒分析:
1、QQ升级程序在发送升级请求后,会下载执行名为“txudp.exe”的病毒程序。
“txudp.exe”程序会向http://updatecenter.qq.com/queryselfupdate(IP”61.129.7.17“,百度检索该IP是上海市深圳市腾讯计算机系统有限公司电信节点)服务器POST数据请求更新。
![f5489b49459ecb391f5479f89ba81739.png](https://i-blog.csdnimg.cn/blog_migrate/14b16684661ef1d190537e619123a28a.jpeg)
2、POST的数据没有问题,但是在网络数据中可以看到一个伪造的回应数据包,该回应包数据包含一个二进制头,在二进制头之后依次是:更新的ZIP包下载地址,ZIP包的MD5校验值,ZIP包大小。数据如下:
![5e7b9d99367e0242d46c555317e0f52d.png](https://i-blog.csdnimg.cn/blog_migrate/f2e1bae01c773e114bd22b66c0130a54.jpeg)
3、图中URL http://www.baidu.com/abcload/qq.zip (IP:180.101.49.11)下载的是病毒压缩包“qq.zip”,该压缩包会被下载到用户计算机临时目录,之后解压运行名为“txudp.exe”的病毒程序。
需要说明的是,该URL“http://www.baidu.com/abcload/qq.zip ”事实上是无效地址,但在被劫持的现场中,对该地址的HTTP GET请求会收到相应的响应包,并且会下载到包含病毒的qq.zip压缩包。
QQ升级模块分析:
升级程序主要逻辑是:首先将本地QQ软件信息发送到QQ升级服务器,之后根据服务器返回的XML数据下载更新txupd.exe。
在早期版本QQ升级程序中,由于下发升级XML数据校验代码中存在漏洞,在2015年版本中已经进行了相应修补,但修复后的升级程序中依然存在逻辑漏洞。
QQ升级程序中仅有一处升级内容校验,校验完成后,会下载指定网址中的压缩包,之后验证压缩包MD5,解压执行压缩包中的txupd.exe。
相关代码,如下图所示:
![ccf0d9654ded5ca8457ebef7e4a18454.png](https://i-blog.csdnimg.cn/blog_migrate/0c53b0ff91062074e756c2c7b757b0de.jpeg)
恶意病毒分析:
解压包qq.zip中存放有病毒程序“txupd.exe”,图标是MFC默认图标,和腾讯升级程序图标有明显不同,经火绒工程师分析,该病毒为后门病毒,会收集用户计算机名称、账户名称、处理器信息、系统版本、MAC地址等信息上传到C&C服务器作为主机标识,且具备抓取屏幕截图、执行远程命令等功能。
警醒:前后事件对比,利用方式几近相同;此次事件再度发生,并且在排除本地劫持的可能后(路由器、LSP、驱动劫持等等),意味着漏洞存在并至少存在四年。
(为防范攻击或中间人劫持,当前笔者最新版QQ的升级程序更新日期为19.8.28,更新日志中虽然未发现相关的描述补丁,但各位可以尽快更新到最新版本)