译者:nstlBlueSky
预估稿费:160RMB
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
在之前的文章中,我们详细分析了SambaCry这款Linux木马软件,该恶意程序的实现原理是利用了Samba协议的远程代码执行漏洞(CVE-2017-7494)。 在一个星期之后,卡巴斯基实验室的恶意软件分析师又检测到一个新的Windows恶意软件程序,通过分析研究发现,新发现的这款恶意软件竟和SambaCry是由同一个组织创建的,因为这两个程序使用的常用C&C服务器都是cl.ezreal.space:20480。
卡巴斯基实验室的分析师们将这款新检测到的恶意程序命名为Backdoor.Win32.CowerSnail,该恶意软件的MD5值如下所示:
5460AC43725997798BAB3EB6474D391F
CowerSnail 木马程序的设计是基于跨平台开发框架 Qt 编写的,这样做的好处是允许攻击者将 Unix 平台开发的恶意代码快速迁移至 Windows 平台环境中。另外,该框架还提供了不同操作系统之间的跨平台功能与源代码转移,从而使平台传输代码变得更加容易。然而,在便捷传输的同时也增加了生成文件大小,导致用户代码仅占 3MB 文件的很小比例。
下面,我们将给出关于CowerSnail 这款木马程序的详细分析。
第一阶段
首先,CowerSnail木马软件会首先去提高自身进程的优先级和当前线程的优先级,如下图所示:
然后,它使用StartServiceCtrlDispatcher 这个API函数作为控制管理服务来启动主要的C&C通信线程。
那么,如果C&C通信线程作为服务被成功启动,则木马软件将通过该服务与C&C服务器进行进一步的通信; 否则,CowerSnail木马软件则不会开始运行。 CowerSnail这款软件在实现上也可以接受各种输入的参数变量,例如C&C主机。 当这些参数不存在时,CowerSnail会从配置文件中提取所需的这些参数数据。
通过控制管理服务程序来启动调用主要的C&C通信方法在实现上将如下图所示(该方法通常被称为“例程”)。
C&C通信服务器
通过我们对流量的研究和分析,实验表明僵尸网络中的节点都是通过IRC协议与C&C服务器进行通信的。 这可以从“通道”命令特征以及随后所进行的ping交换数据中看出,这些通常发生在由IoT设备组成的IRC僵尸网络中。
从下图中我们可以看到,在每个数据包中(除了“通道”命令之外)的前两个字节数据都是“PK”这个特征,紧跟在“PK”这个特征后面的双字节表示数据包中剩余数据的长度信息。
数据包中每个字段的名称都是用Unicode进行编码的,并且每个字段的前面一般都是字段的长度信息。从图中我们可以看到,状态栏字段后面的RequestReturn/Request这个双字节的字段显示的是变量RequestReturn所需的变量个数。在图中的这个例子中,我们可以看到RequestReturn字段所需的有三个变量,分别是'success','I'和'result'这三个变量,这些字段中的每一个字段又可以包含更多的嵌套变量。从下面的屏幕截图中我们可以看到数据包中包含了对SysInfo这个命令请求的响应数据,从图中我们可以看到,CowerSnail木马软件从受感染的电脑终端中获取到14(0xE)个有关SysInfo系统信息的子字段数据信息,依次为字段的名称、类型以及字段的值。
根据我们获取的流量以及分析得出,CowerSnail木马软件的请求包和响应包的结构略有不同,木马程序服务器的请求包的组成依次为Request-> arg-> type – >“Ping / SysInfo / Install”,以及嵌套到arg字段中的额外参数。
以下是几个变量类型的示例:
0x00000005 – 整数变量
0x0000000A – 字符串变量
在C&C服务器上注册被感染的终端主机之后(当然,这些注册信息包括发送有关被感染系统的SysInfo信息),CowerSnail木马程序会首先与C&C服务器交换互相执行ping命令,之后木马软件静默等待C&C服务器的指令。
命令
与SambaCry不同的是,默认情况下,CowerSnail木马程序不会去主动下载cryptocurrency Mining软件,而是提供一套标准的后门功能,这些功能主要有:
1. 接收更新(LocalUpdate)
2. 执行任何命令(BatchCommand)
3. 安装CowerSnail作为服务,这个操作是使用服务控制管理器命令行界面来执行安装操作
4. 从服务列表中卸载CowerSnail木马程序(卸载)
5. 收集系统信息(SysInfo):
a. 时间戳
b. 安装的操作系统类型(例如Windows)
c. 操作系统名称
d. 主机名
e. 有关网络接口的信息
f. ABI
g. 核心处理器架构
h. 有关物理内存的信息
结论
SambaCry木马软件是专门为基于类Unix的系统而设计的,而CowerSnail则是使用Qt编写的,这样做的好处是允许攻击者将 Unix 平台开发的恶意代码快速迁移至 Windows 平台环境中无。另外,该框架还提供了不同操作系统之间的跨平台功能与源代码转移,从而使平台传输代码变得更加容易。由于这两个程序使用的常用C&C服务器都是cl.ezreal.space:20480,由此我们可以推断这两个木马软件都是出自同一个黑客组织之手。网络黑客在创建这两个单独的特洛伊木马后,每个木马都设计用于特定的平台,每个木马软件都具有自己的特殊性,我们猜测这个黑客组织将来非常有可能会创建更多的恶意软件。