电脑中病毒被远程控制

核心提示【PConline资讯】最近,宅宅听说一个朋友和游戏里认识了两个月队友奔现脱单了,还有这种操作?闲来无事的宅宅准备找几个网游玩玩。打开某个2017热门网游排行榜,宅宅发现排名靠前的热门游戏都相当大手笔,代言人请了张家辉、古天乐、陈小春一票男

【PConline资讯】最近翟听说一个朋友和一个在游戏里认识两个月的队友跑了榜。有这样的操作吗?来到闲置的房子,准备找些网络游戏玩玩。

打开2017年热门网游榜单,翟宅发现排名靠前的热门游戏都挺大的,代言人请了张家辉、古天乐、陈小春三位男神投票。

抱着试一试的心态,翟翟选了一个看起来不难的游戏,顺手下载了下来,在等待安装的过程中,特意选了一个又漂亮又大的角色,准备战斗。

没想到,下载的竟然是病毒...

恶性病毒?流行游戏正被病毒团伙利用。

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

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

据了解,这种病毒每天感染约30-50万台电脑,病毒“后门/Jsctrl”极其顽固和隐蔽。不仅可以通过卸载游戏来清除,还有“反跟踪”设置,可以在远程协助软件中监控运行窗口。一旦发现被远程协助,所有与病毒相关的文件都会被彻底删除,以免被安全研究人员追踪。

这是如何实现的?

样本分析

火绒安全实验室在跟踪过程中发现,上述游戏微终端被转包后植入了后门病毒,即使卸载了游戏,仍会驻留在系统中。在远程CC服务器中存储的Javascript代码的控制下,该病毒可以通过使用病毒中封装的Javascript对象来执行任何Windows API或其他后门逻辑。此外,CC服务器发布的后门脚本仍处于不断更新的状态。

上述游戏微端安装包都含有相同的恶意代码。这里以cqsj _ Y _ 905908 _飞天. exe为例进行详细分析。这种安装包的文件名通常是“xxxx_Y_nnnnnn_*”。exe”。安装包的整体逻辑如下图所示:

病毒执行流程图

游戏微安装包

病毒安装包包含一个病毒动态库。文件属性如下图所示:

安装包文件属性

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

在NSIS脚本中调用tdzs.dll代码

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

运行安装包

安装后,游戏登录界面如下:

游戏界面

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

tdzs.dll

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

安装包发布的病毒动态库文件的属性

微卸载程序删除与tdzs.dll相关的NSIS脚本,如下图所示:

卸载相关的NSIS脚本。

虽然tdzs.dll会被卸载程序删除,但是动态库是安装包直接调用的,所以通常用户卸载游戏widget的时候,病毒逻辑就已经被执行了。Tdzs.dll动态库执行参数,如下图所示:

tdzs.dll的运行参数

tdzs.dll被rundll32调用后,首先会在全局构造过程中创建一个名为external的Javascript对象,其中封装了很多底层方法,用来执行从远程服务器获取的后门代码。

报道中提到的三个病毒样本中,密钥串数据都是经过异或加密的,每个串解密对应一个独立的解密函数。解密代码示例,如下图所示:

解密字符串

与构造外部对象相关的逻辑以给对象添加callapi方法为例,如下图所示:

向外部对象添加方法

Callapi函数实现

除了callapi函数之外,外部对象中还实现了许多方法。本文提到的三个病毒样本运行远程后门脚本的逻辑都依赖于外部对象。列出一些关键方法,如下图所示:

封装在外部的方法列表

外部对象构造完成后,会统计当前的进程关系信息和一些本地计算机信息,然后将数据转换成字符对应的二进制字符串,最后将数据加密发送到CC服务器的53端口。相关代码如下:

获取流程关系信息

获取本地计算机信息

最终上传到服务器的数据如下图所示:

上传的数据

将加密数据上传到CC服务器后,CC服务器将返回一段加密的压缩数据。数据恢复后,程序会得到一个后门Javascript脚本,通过运行脚本执行后门逻辑。

下载数据解密逻辑如下图所示:

下载解密Javascript脚本

调用scriptControl后。AddObject来引用外部对象,执行后门Javascript代码。脚本执行逻辑,如下图所示:

执行后门Javascript代码。

程序执行的后门脚本可以通过云端控制。目前病毒已经进入休眠期,tdzs.dll执行的远程脚本不再释放后续病毒。只有个别环境可以运行用于软件升级的远程脚本调用逻辑。此外,终端威胁情报系统在搜索与该病毒相关的行为信息时,可以发现除了《传奇世界》游戏微终端中的tdzs.dll病毒动态库外,其他游戏微终端安装程序都会释放并运行该病毒,调用参数与上述完全相同。日志的天鹅绒绑定拦截功能,如下图所示:

绑定日志

随机服务

病毒服务的文件名是通过固定字典随机组合的两个英文单词,如AcceleratorLeaders.exe、AcronymOcclude.exe等。病毒启动后,会创建一个一模一样的子进程,父进程就是守护进程,当子进程完成后,会重新启动促进剂进程。逻辑,如下图所示:

等待进程退出。

重新创建流程

创建子进程后,父进程将执行与tdzs.dll类似的信息收集过程,然后父进程将加密数据上传到CC服务器。上传后,服务器将返回Javascript脚本,用于下一次病毒发布和执行。但如上推断,现阶段病毒已进入“休眠期”,链接不可访问。当服务可以继续释放病毒文件时,病毒服务会释放up_zlib1.dll,并使用rundll32执行。因为服务文件描述为“游戏微更新”,所以在发布其他病毒文件时不会引起用户的注意。

病毒的文件信息,如下图所示:

病毒服务文件信息

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

文件信息

病毒使用rundll32调用up_zlib1.dll,如下图所示:

服务调用up_zlib1.dll日志

子流程还会将上述流程信息和计算机数据发送到CC服务器的另一个服务页面,上传数据,然后返回Javascript脚本执行。

Javascript逻辑,如下图所示:

从crm.asp页面获得的Javascript脚本

如上图所示,如果检测到远程协助窗口的类名和包过滤分析工具的进程,就会调用外部对象中的SvcExecscript方法,执行远程CC服务器中存储的Javascript脚本,执行自毁逻辑。自毁主逻辑代码,如下图所示:

自毁代码

如图,Javascript脚本会依次执行close_proc_has_module、del_self、del_dllservice三个函数来执行自毁逻辑。close_proc_has_module函数用于遍历遍历过程,结束过程模块中所有包含“up_zlib1.dll”的过程。具体逻辑,如下图所示:

结束加载指定模块名称的所有进程。

Del_self函数主要用于删除当前的过程图像文件,如下图所示:

del_self函数的代码逻辑

del_dllservice函数的逻辑会先检测是否有指定服务名的注册表启动键,如果有,则通过调用“sc delete”和“sc stop”结束并删除病毒服务。如下图所示:

del_dllservice函数的代码逻辑

up_zlib1.dll

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

实施效果

up_zlib1.dll动态库由服务调用。调用参数,如下图所示:

Up_zlib1.dll调用参数

调用URL中存储了一个Javascript脚本,如下图所示:

Javascript片段

上述访问过程中,host_id的属性是随机的,每个host_id对应的脚本链接的属性是不一样的。得到host_id后,动态库会使用rundll32再次调用up_zlib1.dll动态库,host_id和delay成员的任何值都在URL参数中传递。如下图所示:

运行参数

此次在服务器中获取的内容如下图所示:

第二个请求的内容

url_list属性存储刷流量时web控件将跳转到的url。如果URL为“about:blank”,跳转的URL将由脚本属性的URL返回的Javascript脚本设置。该病毒会创建一个隐藏的表单,然后在表单上绘制一个web控件。在创建表单之前,程序将首先检查是否存在具有相同扩展名的文件”。debug”放在当前模块文件所在的目录中。如果有,将显示web控件所在的表单,病毒作者在测试时可能会使用该表单。

创建与表单相关的代码,如下图所示:

创建表单

类初始化

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

窗口回调函数

检查readyState相关的逻辑,如下图所示:

检测就绪状态

如果页面已加载,将script标记插入页面以执行Javascript脚本。如下图所示:

创建脚本标签

添加脚本内容

程序会在获得的CC服务器地址的末尾拼接“t=1”参数,没有这个参数就无法获得完整的Javascript代码。受“t=1”参数影响的键码如下图所示:

脚本关键逻辑

__get_url函数用于从url列表中随机获取URL,如下图所示:

__get_url函数逻辑

模拟用户操作部分主要可以搜索关键词,点击网页连接,如下图所示:

模拟用户操作

可追溯性分析

说了这么多,这个神秘的病毒团伙有没有露出什么端倪?

据了解,火绒安全实验室在检查了大部分主流下载站后发现,下载吧和电脑之家下载站提供的高速下载器都会推广该病毒安装包。如下图所示:

晋升名单

虽然病毒安装包发布的动态库名称不同,但是调用参数和上面提到的tdzs.dll完全一样,代码逻辑也完全一样。这些病毒安装包的下载地址均来自域名“hxxp://cdn.xunshark.cn”,这些病毒安装包与前面提到的病毒安装包一起署名为“北京迅XXX有限公司”。如下图所示:

安装包的签名信息

安装包发布的病毒动态库签名信息也是“北京迅XXX有限公司”,如下图所示:

动态病毒库文件签名信息

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

Up_zlib1.dll签名信息

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

软件版权信息

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

软件下载

在柠檬输入法中解包“up_zlib1.dll”和“zlib1.dll”的动态库后,可以看到同源代码和数据,如下图所示:

代码同源性

数据同源性

 
友情链接
鄂ICP备19019357号-22