客服热线
186-8811-5347、186-7086-0265
官方邮箱
contactus@mingting.cn
添加微信
立即线上沟通
客服微信
详情请咨询客服
客服热线
186-8811-5347、186-7086-0265
官方邮箱
contactus@mingting.cn
2020.8.21 来源:安全豹作者:安全豹
一、概述
近期收到用户反馈,电脑在访问一些论坛网页和游戏网页时,浏览器被劫持跳转至私服网站sfbao.XXXX.com(XXXX为变化的)。该现象涉及市场上几十种浏览器,被劫持网站列表更是高达1000+,包含论坛网站、游戏网站、视频网站等。且被劫持网站列表还会实时更新。
毒霸工程师跟进后发现,该现象来源于一批私服登陆器,这类私服登录器会释放出恶意驱动文件tdtkcuaqc.sys(名称随机化),该恶意驱动会在C:\Windows\Temp目录下,释放winaudio.exe和winaudio.dll(winaudio64.dll)文件,最后利用winaudio.exe和winaudio.dll去操作浏览器劫持相关的网页访问。
劫持的原理是针对浏览器进程进行winaudio.dll远程线程注入,winaudio.dll会对浏览器访问的网址进行过滤,若当前访问的网址存在于被劫持的网站列表中,就会把连接网页服务端的ip修改为127.0.0.1,去和winaudio.exe连接,winaudio.exe则作为一个中转服务器去访问网页sfbao.XXXX.com(XXXX为变化的),然后把通讯数据传输给浏览器,从而实现劫持。下图为大致执行流程。
样本执行流程图
研究发现winaudio.exe模块会通过三层云控,获得真正的文本网页证书server.crt,server.der,server.key和加密的劫持网页列表信息的5B7C84755D8041139A7AEBA6F4E5912F.dat文件。
以上数据加密方式都采用DES加密,密钥为字符串”j_k*avb”。解密发现下载链接都采用http://i2.tiimg.com和http://imgsrc.baidu.com的公共图床存储。分析发现图片不定时更新,但信息大致一样。下面为解密后的数据。
下面为其中的jpg图片。
通过对图片进行二进制查看,可以看出图片数据分为两部分。上部分为图片信息,对应着上面的小狗图片。下部分为携带的文本信息,对应着server.crt,server.der,server.key和5B7C84755D8041139A7AEBA6F4E5912F.dat文件。
病毒控制模块通过访问这些图片链接,去读取图片携带的文本。根据传入的字符串ja001、ja002、ja003、server.crt、server.der和server.key去下载对应的文本保存到程序目录下,下图为相应对应关系图。
病毒控制模块通过上面的图片链接,下载网页证书server.crt,server.der,server.key和加密的劫持网页列表信息的5B7C84755D8041139A7AEBA6F4E5912F.dat文件,保存到该程序的目录下。
通过分析发现5B7C84755D8041139A7AEBA6F4E5912F.dat文件分为两部分,前面12字节用于数据存储,后面的字节为需要解密数据。加密算法为DES,密钥为字符串“j_k*a-vb”。
5B7C84755D8041139A7AEBA6F4E5912F.dat经过解密,转换被劫持的网站列表保存到同目录下的vmware24A.dat文件中。下图为转换流程。
下面为从网页获取信息的主要函数,通过传入参数2字符串的不同返回证书相关文件和被劫持的网站列表文件信息。由于从网络获取,故被劫持网站列表会实时变化。传入的字符串server.crt,server.der,server.key对应各自文件,ja001,ja002,ja003对应着5B7C84755D8041139A7AEBA6F4E5912F.dat文件。
病毒控制模块在获取文本信息后,会为注入浏览器做相应的准备工作,解密浏览器名和需要规避的进程名字符串。会遍历当前电脑进程,检查是否存在ZhuDongFangYu、360Safe、360Tray进程,如果这些进程正在运行就不会进行DLL注入,不进行网页劫持。
解密字符串发现该劫持危害性较大,涉及了市场上大多数浏览器,下图为会被注入的浏览器列表:
病毒控制模块获得需要注入的浏览器列表后,会通过遍历进程获取进程信息,当找到需要注入的目标浏览器进程后,就会进行dll注入,注入模块路径为C:\Windows\Temp\winaudio.dll,代码如下图所示
最后病毒控制模块会创建两个线程去监听和与被劫持浏览器通讯。一个线程用于接收注入dll发送过来的信息,分析发现注入dll那边会进行URL判断,当访问网页在被劫持网站列表中时,会与winaudio.exe构建本地TCP通讯,将访问的网址URL发送给winaudio.exe。该线程会把数据传输到下面线程,做好劫持连接准备。
当第一个线程接收到劫持浏览器进程发送的URL后,第二个线程会把winaudio.exe作为一个中转器,连接浏览器和网站服务端,中转传递浏览器和网站服务端的通讯。病毒利用注入dll去hook函数GetAddrInfoW相关函数,对访问的URL进行筛查,当访问网页的URL在被劫持列表中时,会把访问网页服务端ip获取保存,然后通过hook的函数connect与前面获得的ip进行筛查。当为需要劫持的ip时,被劫持网页访问连接会被偷换为与winaudio.exe的本地TCP通讯,此处采用了MITM(中间人攻击),winaudio.exe(作为中间人)一方面利用伪造的server.crt,server.der,server.key证书信息与浏览器客户端进行通讯数据传输,另一方面与劫持到的目标网站sfbao.XXXX.com进行通讯数据传输,winaudio.exe作为中间人将通讯进行了劫持重定向。下面为访问同一网站的对比图。
正常访问网页及证书信息
劫持后的网页和证书信息,该证书来源于前面下载的server.crt等文件
https劫持原理
此外该模块还会收集一些电脑信息,如用户名、网卡、电脑配置等用户基础数据,发送到sfbao.XXXX.com(XXXX为变化的)网页。
病毒控制模块(winaudio.exe)通过遍历进程将病毒注入模块(winaudio.dll)注入到指定浏览器进程中,病毒注入模块会在浏览器进程中创建线程去执行恶意行为。
病毒注入模块按照行为划分可以分为两大部分。第一部分清理浏览器Internet URL缓存,解密获得被劫持网页列表,和winaudio.exe构建本地TCP通讯,发送被劫持网页的URL地址到winaudio.exe。代码如下图所示。
第二部分为hook函数GetAddrInfoW、getaddrinfo、GetAddrInfoExW、GetAddrInfoExA、gethostbyname和connect。hook函数采用inline hook方式,前面几个函数主要会针对访问的URL网址进行筛选判别,当在被劫持列表中时,会把该网址的服务端所有ip进行记录保存,作为后面connect连接时劫持判断的依据,前面几个hook函数的功能相似,代码如下所示。
最后的connect函数主要进行网页劫持ip替换,会进行判断是否为127.0.0.1本地连接或ip在前面hook函数中是否被记录。为127.0.0.1本地连接时正常连接。当ip在前面被记录时,就会进行ip替换为127.0.0.1本地连接到winaudio.exe,通过winaudio.exe去连接sfbao.XXXX.com(XXXX为变化的)网站服务端。当ip在前面没有被记录时,正常连接访问网站服务端,代码如下所示。
通过分析hook函数的功能发现,当浏览器访问的网页网址在被劫持网页列表中时,浏览器并不会真正连接访问的网页网址,而是被劫持为与winaudio.exe构建的本地TCP通讯连接,winaudio.exe作为一个中转服务器,去访问sfbao.XXXX.com(XXXX为变化的)网页,把访问接收的数据再通过本地TCP通讯,加工传输给浏览器,从而实现浏览器劫持。
分析发现被劫持网站网页,涉及面广,包括论坛网站、视频网站、游戏网站、色情网站等,且被劫持网页数量较大,目前截获涉及的网站数量已达1000+,被劫持网页列表还是实时更新的,危害性较大,严重损坏用户利益,下面为部分被劫持网页。
三、总结
病毒文件来源于私服登陆器,用于劫持网页到特定网站。被劫持网站列表实时更新,劫持比较隐蔽,持续性强,涉及了市面几十种浏览器,涉及的被劫持网页列表更是高达1000+,危害性较大,故我们需要谨慎使用非正版软件,建议使用安全软件实时监控。针对该病毒的解决方案:
使用金山毒霸查杀:
手动查杀:
步骤一:删除该驱动文件(驱动名称随机化的,驱动签名为Xinyi Electronic Technology (Shanghai) Co., Ltd)
步骤二:删除C:\Windows\Temp\winaudio.exe和winaudio.dll程序,并关闭重启浏览器。