腾讯QQ升级程序存在漏洞 被利用植入后门病毒
-
作者:火绒安全
-
发布时间:2019-08-18
-
阅读量:1428
【快讯】近日,火绒安全团队根据用户反馈,发现一起利用腾讯QQ升级漏洞植入后门病毒的攻击事件,攻击者可利用该漏洞下发任意恶意代码。截止到目前,最新版QQ(包括TIM、QQ、QQ轻聊版、QQ国际版等等)都存在该漏洞。
经分析,该事件中被利用的升级漏洞曾在2015年就被公开披露过(https://www.secpulse.com/archives/29912.html),之后腾讯对该漏洞进行修复并增加了校验逻辑。但从目前来看,QQ此处升级逻辑仍存在逻辑漏洞。
另外,在排除本地劫持的可能后(LSP、驱动劫持等等),火绒工程师推测可能是运营商劫持或路由器劫持。通过和用户沟通,得知用户曾刷过第三方路由器固件,所以不排除路由器被劫持的可能性,具体劫持的技术分析仍有待后续跟进,火绒安全团队会持续对此次攻击事件进行跟踪分析。
由于QQ软件用户群过大,遂漏洞具体细节不便透露。火绒敦促腾讯QQ团队加紧修复,避免问题扩大,如果需要漏洞相关细节,请随时与火绒联系,火绒可向腾讯QQ团队提供详细细节及分析内容。
附:【分析报告】
一、病毒分析
火绒近日截获,有黑客正在利用QQ升级程序漏洞进行病毒传播。受害终端网络在被恶意劫持的情况下,黑客可以下发任意恶意代码到本地执行,受到该漏洞影响的QQ软件版本包括:TIM、QQ、QQ轻聊版、QQ国际版等。本次漏洞攻击事件中所使用QQ升级逻辑漏洞早在2015就被公开披露过,QQ升级程序也就当时报出的漏洞进行了修补,但升级代码中依然存在逻辑漏洞。
火绒在被劫持现场中发现,QQ升级程序在发送升级请求后,会下载执行名为“txudp.exe”的病毒程序。QQ升级网址被劫持后,下载执行病毒程序。如下图所示:
后门程序和腾讯升级程序进程关系
我们在实验室环境复现了劫持现场,漏洞利用情况如下图所示:
漏洞利用现场
被黑客劫持后,升级相关的网络请求数据,如下图所示:
网络数据
“txudp.exe”程序会向http://updatecenter.qq.com/queryselfupdate(IP”61.129.7.17“,百度检索该IP是上海市深圳市腾讯计算机系统有限公司电信节点)服务器POST数据请求更新,POST的XML数据如下:
请求数据内容
POST的数据没有问题,但是在网络数据中可以看到一个伪造的回应数据包,该回应包数据包含一个二进制头,在二进制头之后依次是:更新的ZIP包下载地址,ZIP包的MD5校验值,ZIP包大小。数据如下:
被劫持后返回的数据
图中URL www.baidu.com/abcload/qq.zip (IP:180.101.49.11)下载的是病毒压缩包“qq.zip”,该压缩包会被下载到用户计算机临时目录,之后解压运行名为“txudp.exe”的病毒程序。
需要说明的是,该URL“www.baidu.com/abcload/qq.zip ”事实上是无效地址,但在被劫持的现场中,对该地址的HTTP GET请求会收到相应的响应包,并且会下载到包含病毒的qq.zip压缩包。
另外,在排除本地劫持的可能后(LSP、驱动劫持等等),火绒工程师推测可能是运营商劫持或路由器劫持。通过和用户沟通,得知用户曾刷过第三方路由器固件,所以不排除路由器被劫持的可能性,具体劫持的技术分析仍有待后续跟进,火绒安全团队会持续对此次攻击事件进行跟踪分析。
QQ升级模块分析
升级程序主要逻辑是:首先将本地QQ软件信息发送到QQ升级服务器,之后根据服务器返回的XML数据下载更新txupd.exe。在早期版本QQ升级程序中,由于下发升级XML数据校验代码中存在漏洞,在2015年版本中已经进行了相应修补,但修复后的升级程序中依然存在逻辑漏洞。QQ升级程序中仅有一处升级内容校验,校验完成后,会下载指定网址中的压缩包,之后验证压缩包MD5,解压执行压缩包中的txupd.exe。相关代码,如下图所示:
文件有效性校验
被修复的漏洞校验代码,如下图所示:
被修复的漏洞代码
被下发的病毒模块
解压包qq.zip中存放有病毒程序“txupd.exe”,图标是MFC默认图标,和腾讯升级程序图标有明显不同,经火绒工程师分析,该病毒为后门病毒,会收集用户计算机名称、账户名称、处理器信息、系统版本、MAC地址等信息上传到C&C服务器作为主机标识,且具备抓取屏幕截图、执行远程命令等功能。
使用火绒剑监控下载到的病毒程序“txupd.exe”会向多个C&C服务器(111.122.86.7、111.120.23.23等)回传获得的用户数据,如下图所示:
后门病毒行为
该后门主要功能代码如下:
1.收集用户计算机基础信息,相关代码如下图所示:
数据收集
2.截取用户计算机屏幕功能,相关代码如下图所示:
截取屏幕
3.执行远程命令的功能,相关代码如下图所示:
执行远程命令