黄金城娱乐热门游戏遭病毒团伙利用中招者电脑

发布时间:2019-06-18 16:28

  原标题:热门游戏遭病毒团伙利用,中招者电脑被远程操控 最近,宅宅听说一个朋友和游戏里认识了两个月队友

  最近,宅宅听说一个朋友和游戏里认识了两个月队友奔现脱单了,还有这种操作?闲(xiang)来(zhao)无(dui)事(xiang)的宅宅准备找几个网游玩玩。

  打开某个2017热门网游排行榜,宅宅发现排名靠前的热门游戏都相当大手笔,代言人请了张家辉、古天乐、陈小春一票男神。

  抱着试一试的心态宅宅选了一个看起来并不难的游戏,顺手点了下载,等待安装的过程中还特意选了一个人美奶大的角色,准备进行一番厮杀。

  近日,有病毒团伙利用被制作者伪装成安装数据统计组件的后门病毒“Backdoor/Jsctrl”,通过植入《传奇世界》、《传奇霸业》、《蓝月传奇》、《九天封神》等热门游戏的微端安装包内,用户在PChome、下载吧等网站下载某些软件时,会被捆绑安装这些游戏微端,而病毒也借机进入用户电脑。

  病毒入侵电脑后,病毒制作者可以通过修改服务器上的后门代码,远程操控受害者电脑,进行多种破坏行为,包括下载其他病毒程序、后台暗刷流量等。

  据雷锋网宅客频道(微信公众号:letshome)了解,这一病毒致使每天约 30-50 万台电脑感染病毒,且病毒“Backdoor/Jsctrl”极为顽固、隐蔽,不仅无法通过卸载游戏清除,还具备“反追踪”设置,可以监测远程协助软件(如安全厂商常用的TeamViewer等)中的运行窗口,一旦发现正在被远程协助,则会彻底删除病毒相关所有文件,以免被安全研究人员追踪。

  火绒安全实验室在追踪过程中,发现该后门病毒在上述游戏微端按转包运行后即被植入,且即便游戏被卸载仍然会常驻系统,该病毒会在远程 C&C 服务器存放的 JavaScript 代码控制下,利用病毒中封装的 JavaScript 对象可以执行任意 WindowsAPI 或其他后门逻辑(如:下载、运行命令行等)。并且,该 C&C 服务器下发的后门脚本仍处于持续更新状态。

  上文所述的几款游戏微端安装包中都包含有相同恶意代码,下文以 cqsj_Y_905908_feitian.exe(《传奇世界》游戏微端安装包)为例展开详细分析。此类安装包的文件名通常为“xxxx_Y_nnnnnn_*.exe”(‘x’代表任意字母,‘n’代表任意数字,‘*’代表部分内容不固定)。安装包整体逻辑如下图所示:

  该病毒安装包中都包含有一个病毒动态库(病毒动态库名通常为“游戏全拼首字母.dll”,如:“tdzs.dll”对应“天地诸神”)。文件属性如下图所示:

  将NSIS安装包进行解包后,可以在NSIS脚本中看到tdzs.dll调用逻辑。如下图所示:

  运行安装包之后,可以看到其进程调用关系及tdzs.dll调用参数。如下图所示:

  通过安装发现,虽然安装包文件信息为“天地诸神微端”,但是安装后的游戏界面却是《37传奇世界》登录界面,安装逻辑较为混乱。

  tdzs.dll动态库在文件信息中说明自己是“安装数据统计”程序,且在软件卸载时,该病毒动态库也会被一起删除,从而诱使用户误以为该动态库只进行“安装数据统计”操作。文件信息如下图所示:

  虽然tdzs.dll会被卸载程序删除,但是该动态库是直接被安装包进行调用的,所以通常在用户对游戏微端进行卸载时,病毒逻辑已经执行完毕。tdzs.dll动态库执行参数,如下图所示:

  在tdzs.dll被rundll32调用后,首先会在全局构造过程中创建名为external的JavaScript对象,在该对象中封装了很多较为底层的方法(相较于在浏览器中执行的JavaScript脚本),用于执行其从远端服务器获取到的后门代码。

  在报告中所提及的三个病毒样本(tdzs.dll、随机名服务和up_zlib1.dll)中,关键的字符串数据都是经过XOR加密的,每一个字符串解密都对应一个独立的解密函数。解密代码举例,如下图所示:

  构造external对象的相关逻辑以在对象中添加callapi方法为例,如下图所示:

  除了callapi函数外,external对象中还实现有诸多方法,本文所提及的三个病毒样本运行远程后门脚本逻辑全部都依托于external对象。部分关键方法列表,如下图所示:

  在构造external对象之后,会统计当前进程关系信息和一些本地计算机信息(如:IP地址、MAC地址、CPUID等),之后再将数据转为字符所对应的二进制字符串,经过加密后将最终数据发送到C&C服务器(的53端口。相关代码如下所示:

  在将加密后的数据上传C&C服务器之后,C&C服务器会返回一段被加密的压缩数据。在将数据还原后,程序会得到一个后门JavaScript脚本,通过运行脚本执行后门逻辑(其他病毒组件也同样存在相同逻辑,下文不再赘述)。

  程序执行的后门脚本可以通过云端控制,现阶段病毒已经进入蛰伏期,tdzs.dll所执行的远程脚本已经不再释放后续病毒,只有个别环境才能运行出远程脚本调用逻辑,进行软件推广。另外,通过终端威胁情报系统检索与该病毒相关的行为信息时,可以发现除了《传奇世界》游戏微端带有tdzs.dll病毒动态库外,还有其他游戏微端安装程序(下图为《九天封神》相关数据)也会释放运行该病毒,且调用参数与前文所述完全相同。火绒捆绑拦截功能日志,如下图所示:

  该病毒服务的文件名是通过固定字典随机组合两个英文单词而成,文件名例如:AcceleratorLeaders.exe、AcronymOcclude.exe等等。病毒服务启动后会创建一个相同的子进程,父进程为守护进程,当子进程被结束时会重启启动子进程。代码逻辑,如下图所示:

  在子进程创建之后,父进程会执行与tdzs.dll中相似的信息收集流程(收集进程关系信息和本地计算机信息),之后由父进程将加密后的数据上传至C&C服务器(3900/config/gameupdate.asp)。上传后,服务器会返回JavaScript脚本进行下一步病毒释放和执行(执行JavaScript脚本相关逻辑与上文相同)。但如上文推断,现阶段该病毒已经进入“蛰伏期”,该链接已经无法访问。在服务还可以继续释放病毒文件的时,病毒服务会释放up_zlib1.dll并使用rundll32进行执行,由于服务文件说明为“游戏微端更新”,使得其释放其他病毒文件时不会引起用户注意。

  病毒服务所使用的签名并不固定,如火绒截获的另一个相同的病毒服务文件信息,如下图所示:

  子进程也会将上述进程信息和计算机数据发送至C&C服务器的另一个服务页面(3900/config/crm.asp),上传数据后返回JavaScript脚本并进行执行。

  del_dllservice函数逻辑会先检测是否存在指定服务名的注册表启动项(如果未指定则删除自身服务项),如果存在则通过调用“scdelete”和“scstop”结束并删除病毒服务。如下图所示:

  up_zlib1.dll动态库被rundll32调用后会创建隐藏的web控件,在后台暗刷流量,并且在访问导航页面的同时,病毒还利用JavaScript脚本模仿用户操作,欺骗导航站的作弊检测逻辑。在显示web控件窗口后,执行效果如下图所示:

  在进行上述访问时,host_id属性是随机的,每个host_id所对应的script链接属性各不相同。在拿到host_id后,动态库会使用rundll32再次调用up_zlib1.dll动态库,网址参数中传入了host_id和来自delay成员中的任意数值。如下图所示:

  url_list属性中存放的是web控件在刷取流量时要跳转的网址,如果网址为“about:blank”,则跳转网址会由script属性网址返回的JavaScript脚本进行设置。病毒会创建出一个隐藏的窗体,之后在该窗体上绘制web控件。在创建窗体之前,程序先会检测当前模块文件所在目录下是否存在扩展名为“.debug”的同名文件,如果存在则会显示web控件所在窗体,病毒作者可能在测试时使用。

  在窗口响应WM_CREATE消息时会设置一个Timer,间隔为8秒。在窗口回调函数接收到WM_Timer消息后,如果网页加载状态readyState值为complete或者interactive,则在网页中插入从远端服务器地址()中获取到的JavaScript脚本。相关代码,如下图所示:

  如果页面加载完成,则在页面中插入script标签执行JavaScript脚本。如下图所示:

  程序会在获取到C&C服务器地址()末尾拼接“t=1”参数,如果没有该参数则无法获取到完整的JavaScript代码。“t=1”参数所影响的关键代码,如下图所示:

  据雷锋网了解,火绒安全实验室在对多数主流下载站进行排查之后,发现 “下载吧”和“电脑之家”下载站现今所提供的高速下载器会推广该病毒安装包。如下图所示:

  虽然病毒安装包释放的动态库名称不尽相同,但是调用参数与前文所述tdzs.dll完全相同,且代码逻辑也完全相同。这些病毒安装包的下载地址都来自于域名“,且这些病毒安装包与前文提到的病毒安装包(cqsj_Y_905908_feitian.exe)签名同为“北京迅XXX有限公司”签名。如下图所示:

  安装包所释放病毒动态库签名信息也同为“北京迅XXX有限公司”,如下图所示:

  该组病毒文件中,up_zlib1.dll的签名信息还涉及另一家公司“北京神州XXXXXX有限公司”。签名信息,如下图所示:

  通过搜索该公司的知识产权信息,可以找到另一款同样带有该模块的软件。如下图所示:

  在下载柠檬输入法软件安装后,也发现了具有相同数据和代码逻辑的“zlib1.dll”。如下图所示:

  对”up_zlib1.dll”和柠檬输入法中的“zlib1.dll”动态库脱壳后,可见同源性代码及数据,如下图所示: