网络小黑揭秘系列之-------私服牧马人

阅读量231427

|

发布时间 : 2015-11-30 14:41:47

引子

人在做,天在看。

对360天眼实验室来说,一次次的扒皮往往都是从一个最简单的线索开始,比如一个IP、域名或程序样本。这回的也不例外,引起我们注意的是一个程序样本,名为“仙侠迷失之横扫千军.exe”。嗯,看起来是个游戏程序,执行起来也是:

https://p4.ssl.qhimg.com/t01ce37758c6c487cdb.png

不过有点不对劲,开玩游戏的同时竟然触发了我们基于网络的木马检测告警,使用了Gh0st/大灰狼的通信协议结构。其实,绑了木马的应用程序并不鲜见,前一阵子沸沸扬扬的Xcode后门事件就是这个套路,让我们看看这回的私货怎么样。

样本分析

搞清楚样本的行为并不困难,攻击者用捆绑器在应用中植入了大灰狼远控木马,样本执行以后一系列的动作基本如下图所示:

https://p1.ssl.qhimg.com/t0151c33d9d497253ef.png

每一个涉及到的样本的细节剖析如下,供同行们参考。

样本A

MD5:d28e9b3f910c32398915431790b976e4

大小:36384Kb

https://p5.ssl.qhimg.com/t0115e0863424ad5fd2.png

这是一个被做过捆绑的传奇私服程序作为Dropper,运行后,它会释放一个真正的传奇私服客户端到Temp目录下:

https://p2.ssl.qhimg.com/t0171d94db757d970ea.png

当然,还会买一送一地再释放一个DhlServer.exe到Temp目录下,以下我们将其称为样本B:

https://p1.ssl.qhimg.com/t0153a9e59c7b5632ae.png

释放的传奇私服客户端和DhlServer.exe(样本B)会同时运行起来:

https://p3.ssl.qhimg.com/t012519e44ce98c98b9.png

完成这些以后,样本A退出:

https://p2.ssl.qhimg.com/t01d8f682094a61e5ac.png

样本B

DhlServer.exe

MD5:ff9ff955b6cd684d3f0234217182957d

大小:28Kb

在样本B的执行入口处,程序会解密一个字符串,其实是后续代码的下载地址:

https://p4.ssl.qhimg.com/t0199c18a6dcbf672f8.png

以下是加密字符串的解密算法:首先base64解码,然后单字节加0x7A,最单字节异或0x59

https://p4.ssl.qhimg.com/t010654f22c212b4bfe.png

Base64解码前:

https://p1.ssl.qhimg.com/t015a3396cb8f7a2d9d.png

WinHex里的密文数据:

https://p3.ssl.qhimg.com/t01fb38c60273f65f91.png

按如上的解密算法处理后:

https://p5.ssl.qhimg.com/t016daf19af99f55502.png

显然这是一个URL:http://120.26.**.**/NetSyst88.dll,我们把这个dll下载回来:

https://p2.ssl.qhimg.com/t01c41eb594b2ddcdca.png

文件内容做了加密:

https://p1.ssl.qhimg.com/t01f26bc5d78e5cf0a8.png

样本B会构造一个名字为DirPath的变量:C:ProgramFilesAppPatchNetSyst88.dll,如图:

https://p1.ssl.qhimg.com/t01e6a8398c467f686a.png

然后通过CreateFileA判断C:ProgramFilesAppPatchNetSyst88.dll文件是否存在:

https://p3.ssl.qhimg.com/t017af1b0991ecde122.png

如果 CreateFile的返回值不是-1,说明存在此文件,接着样本B会对文件做一个简单的校验,先在文件里查找”SSSSSS”字符串,如果找到,往后找12个字节判断是否为”VID:2014-SV8”,如果是则校验通过,如图:

https://p5.ssl.qhimg.com/t0116d011a9b486f69c.png

查看我们得到的NetSyst88.dll,文件末尾结构如图,符合内部的校验方法:

https://p3.ssl.qhimg.com/t011b7c7d2150d717a1.png

如果不存在该文件,或者校验失败,样本B就会从http://120.26.**.**/NetSyst88.dll地址把文件下载到本地:

https://p0.ssl.qhimg.com/t011595307caa83ec64.png

下载成功后,通过GetFileSize获取文件的大小,VirtualAlloc出相应的内存空间:

https://p4.ssl.qhimg.com/t01474f63f331c03866.png

读取文件内容到分配的空间中,开始解密读取到的数据:

https://p5.ssl.qhimg.com/t017b34c19fea98e695.png

解密密钥为“Kother599”,程序会循环生成0x400字节大小的字典:

https://p5.ssl.qhimg.com/t01631f5ee7457869c8.png

生成字典的数据格式为:

https://p0.ssl.qhimg.com/t01a253069391ad9680.png

与之前生成的密钥字典循环运算得到另外一个字典:

https://p0.ssl.qhimg.com/t01f3b26293e581bc8f.png

进入解密数据的循环,和生成的字典运算解密:

https://p5.ssl.qhimg.com/t01e273b2e891f28c0b.png

解密后得到的是一个PE文件,如图:

https://p0.ssl.qhimg.com/t0133d12a66136a75b3.png

Dump出来,我们暂时称它为样本C,确认是一个加了UPX壳的dll,有2个导出函数,其中一个名为DllFuUpgradrs,如图:

https://p2.ssl.qhimg.com/t0121399cad4af460b7.png

样本B会把解密后的数据(样本C)在内存中加载起来:

https://p2.ssl.qhimg.com/t01e5be4220d90d6d23.png

获取导出函数DllFuUpgradrs的地址调用,传递了2个参数:第一个为加密过的数据块,第二个为字符串“Cao360yni”(听起来很不和谐):

https://p0.ssl.qhimg.com/t0168ff27db03496548.png

样本C

从样本B中Dump出来的dll文件,这个明文版本实际运行时并不落地。

MD5:b7da58410b6db28daf753815f2cc997c

大小:244Kb

从提取的字符串来看是一个远控的核心模块:

https://p3.ssl.qhimg.com/t010ff4559c37ac33d5.png

程序不但包含了远控的主要核心代码,而且还包含了传统远控Droper的安装木马服务端的功能,如此的设计主要有两个考虑:

1、尽量减小样本B的体积(只有28K),方便传播和做针对性的免杀

2、把尽可能多的代码放到样本C中,因为样本C在磁盘上落地的为加密版本,运行时被加载到内存解密执行,杀毒软件不能查杀加密后的样本C,以达到远控核心模块免杀的目的

样本C的DllFuUpgradrs导出函数的第一个参数是加密的字符串,解密后应该是上线配置信息的数据结构:

https://p5.ssl.qhimg.com/t01be0de5c2ab588f96.png

入口出调用的解密算法和样本B的字符串的解密算法一样:

https://p5.ssl.qhimg.com/t016ca5ed4be3198137.png

https://p4.ssl.qhimg.com/t0157f6d3e2ed1d9653.png

解密后得到明文的上线配置信息:

https://p5.ssl.qhimg.com/t01efcaa1658878fcff.png

上线地址为zlailxc.oicp.net,这是一个动态域名,而动态域名一般会被杀毒工具重点关注,所以很多恶意代码利用ip138网站通过Web查询的方式进行解析,这样杀毒工具的网络拦截就会失效,因为ip138是一个受信任的站点。样本C会提交如下的请求:

http://www.ip138.com/ips138.asp?ip=zlailxc.oicp.net &action=2

https://p1.ssl.qhimg.com/t01db1c08aa3ebd1e8e.png

在返回的数据中去查找“>>”和“</”之间的数据获取木马的上线IP地址:

https://p0.ssl.qhimg.com/t01f97d88333f63b03d.png

以下是对上线结构的描述:

结构内容

结构含意

2016

上线端口

T150812

时间

Wsfroi czdfqpba

随机服务名

监测和监视新硬件设备并自动更新设备驱动。     

服务描述

%SystemRoot%

文件释放路径

Terms.EXE.exe

释放的文件名

默认分组                                     

上线分组

http://www.ip138.com/ips138.asp?ip=%s&action=2

ip138上线方式

>> 

ip138上线方式的开始标志

</                                           

ip138上线方式的结束标志

http://dns.aizhan.com/?q=%s                  

aizhan上线方式

,                                          

aizhan上线方式的开始标志

http://user.qzone.qq.com/%s    

QQ空间上线,标志是固定的

获取上线IP后,木马服务端会去连接这个IP与远控的控制端进行通信,下图为远控的接收数据并执行指定指令的函数,包含所有主流远控的功能:

https://p2.ssl.qhimg.com/t01530719d407253075.png

远控服务端植入到受害者电脑上后,受害者的电脑就成了傀儡,执行各种攻击者指定的恶意操作,比如键盘记录窃取密码、屏幕截取、摄像头查看(接下来你就能看到)等等。


反制探查

从样本分析我们得到了上线域名,接下来我们挖挖域名对应的服务器。

通过查询360天眼威胁情报中心的基础数据,取得了动态域名曾经绑定过的IP地址信息,其中最近绑定的IP地址是120.26.**.**:

https://p4.ssl.qhimg.com/t010d7eea063a3df87a.png

该IP就是木马的上线的IP地址,对服务器探查了一番,发现存在一个可利用的漏洞并成功渗透进服务器,发现上面运行着大灰狼远控控制端,如图:

https://p4.ssl.qhimg.com/t018089bd7a0129120b.png

服务器上运行的木马控制端监听了2个端口:2016和2017。

查看监听2017端口上线的机器,发现都是架设私服的服务器系统,如图:

https://p1.ssl.qhimg.com/t013fa69a8ef802d332.png

而监听2016端口呢,上线的机器一般都是家庭用户或者网吧用户(估计是私服玩家),打开几个摄像头,果然发现好几个都是在网吧玩私服,如图:

https://p0.ssl.qhimg.com/t012b9438656d3eee6c.png

所以,攻击者应该配置了2个木马:一个配置2016端口,捆绑到私服的客户端上,私服玩家下载的私服客户端中招上线2016端口;另一个配置2017端口,捆绑到用于搭建私服的软件包里,专门服务于搭建私服服务器的人,使用这个植入木马的私服软件包完成搭建的同时服务器也就连接2017端口到攻击者的服务器报到。不出所料,我们在服务器D盘的一个叫“好”文件夹里发现了搭建私服的工具:

https://p2.ssl.qhimg.com/t019ab6c0612aa509a5.png

对搭建私服的工具进行分析,发现这个文件也同样被捆绑了DhlServer.exe,

https://p0.ssl.qhimg.com/t01a23fd6265a43621f.png

提取出来这个DhlServer.exe,确认这个样本连接的是2017端口:

https://p2.ssl.qhimg.com/t0190168404011f2fe9.png

攻击者除了捆绑木马到私服客户端使私服玩家中毒外,还通过自己开设私服的私服客户端以更新的方式下发木马:

https://p3.ssl.qhimg.com/t01e6338a531bc23355.png

攻击者通过对私服玩家和私服开设者的双重控制,想干什么就取决于攻击者的心情和需求了,我们没有进一步挖掘下去。多少用户受影响?基于360天眼威胁情报中心的数据,我们确认受木马感染的机器数量在10000台以上。谁是可能的幕后黑手呢?接着往下看。


顺藤摸瓜

发现上线域名是个很好的突破口,历史记录是分析者的好朋友,下面就是证明。

通过搜索引擎搜索动态域名:zlailxc.oicp.net,定位了一个猪八戒网的注册账号:zlailxc

https://p2.ssl.qhimg.com/t019daf0eb789e894e5.png

注册人是一个湖北荆门的人,推测账号的结构可能为:zl [名字拼音首字母] ai [爱] lxc [名字拼音首字母]

常用邮箱: 895*****@qq.com

手机号  : 156*****520

https://p5.ssl.qhimg.com/t01281e0148bd2ae03a.png

根据账号名随手试了几个字典里常见的字串,成功,一个很深情的全数字密码:5**1*1* ,与上线域名遥相呼应。

登陆上去发现绑定的邮箱地址为:895***90@qq.com,嫌疑人的QQ号看来是895***90,具体地址标为:湖北荆门钟祥,如图:

https://p2.ssl.qhimg.com/t0172495faba7a955d8.png

搜索了一下QQ号,QQ资料如图,所有的信息没有对外公开,说明嫌疑人还是比较注意个人安全的:

https://p5.ssl.qhimg.com/t01ff655241579b2426.png

查询QQ群关系数据库,发现嫌疑人的名字叫刘星*,和刚才的账号中的lxc吻合,而且嫌疑人也加入了私服技术(菜鸟群),也与上文的样本A的来源吻合:

https://p0.ssl.qhimg.com/t0106eafd1192b6b106.png

这样,账号的含义更明确了:zl [估计是他女朋友的名字] ai [爱] lxc [刘星*]。

通过搜索引擎搜索QQ号发现了一条记录,是在钟祥论坛发的帖子,如图:

https://p1.ssl.qhimg.com/t0173062ac127365931.png

帖子的标题为:“求搭建传奇私服的技术”,如图:

https://p5.ssl.qhimg.com/t0164ccf550b1edfa27.png

嫌疑人回过帖子,他的论坛的昵称为liuhong*,可能是根据刘星*的名字编的一个名字,发现嫌疑人在2012年已经掌握传奇私服的架设技术了:

https://p0.ssl.qhimg.com/t018c6eadd9ea1c513a.png

确认钟祥是湖北荆州下辖的一个县级市:

https://p1.ssl.qhimg.com/t01e00401aaf8a68f5e.png

还是之前爆破的那个密码,成功登录进嫌疑人在钟祥论坛的账号,但是所有操作都显示以下页面,可能是账号被论坛封了,如图:

https://p0.ssl.qhimg.com/t015abe33ef1aac65d6.png

通过搜索QQ号,还发现嫌疑人之前还注册过一个域名:www.yaoqi**.com:

https://p5.ssl.qhimg.com/t01a63abc58d2785462.png

此域名之前就是一个私服站:

https://p2.ssl.qhimg.com/t019b6296b1f50b2cec.png

查找这个域名的信息,发现QQ号,电话号码为:138*****337:

https://p3.ssl.qhimg.com/t0177a95ecf708de3b2.png

查询电话号码归属地,发现电话号码是湖北荆门的,应该是嫌疑人的电话号码:

https://p1.ssl.qhimg.com/t01de2ef245abc5e29b.png

如何利用手机号得到更多的信息呢?支付宝其实是个不错的渠道,查找手机号,发现手机号绑定了多个支付宝账户,第一个支付宝账户的名字和嫌疑人的名字符合,第四个支付宝的名字虽然打星了,但是可以猜测很可能是女伴的名字,叫*琳,更进一步明确动态域名账号的含意:zl [*琳] ai [爱] lxc [刘星*]:

https://p2.ssl.qhimg.com/t01540b29840d033f99.png

打开第一账号,找到嫌疑人的照片,挺帅一个小伙子,干点正经事多好:

https://p1.ssl.qhimg.com/t01839e5c487a46ad25.png

再次查询www.yaoqi**.com域名的whois信息,发现域名的所有者为liu xing**** liu:

https://p1.ssl.qhimg.com/t0136912ba8a8b40ac6.png

对联系人进行反查,还发现了另外一个域名 www.boy**.net:

https://p1.ssl.qhimg.com/t01a33e28c575edf75d.png

Google搜索了一下yaoqi**.com,发现这个私服站可能被挂过博彩的黑页,如图:

https://p0.ssl.qhimg.com/t0132cc9095c9b315f2.png

一些总结

我们现在看到的整个事件线:

1、攻击者在私服搭建者用到的工具中捆绑远控木马,将工具共享推广出去,等待其他的私服架设者下载使用,这种污染工具源的攻击方式与Xcode后门事件相同。

2、攻击者守株待兔等待使用后门架站工具的私服上线,进行控制。

3、攻击者在自己的私服登陆器更新的同时向私服玩家推送木马。

4、攻击者修改被控私服的客户端登陆器,捆绑上木马,等待他们的私服玩家中招。

如下图所示:

https://p0.ssl.qhimg.com/t011066aed1eeff1c29.png

网络是一个魔鬼出没的世界,私服挺象一片沼泽,灰色地带可能隐藏着更多的魔鬼,有时候你真的不知道是你在玩游戏还是游戏在玩你。


广告时间

好消息是360天眼实验室还在招人,恶意代码分析方向,要求扎实的二进制逆向分析功底,有各种恶意代码的处理经验更好。在360的海量样本及各类数据支持下,你能见识到其他地方根本没机会触及的东西,欢迎一起来玩。

本文由360天眼安全实验室原创发布

转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/83011

安全KER - 有思想的安全新媒体

分享到:微信
+10赞
收藏
360天眼安全实验室
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66