【技术分享】来自中国?敢问Flusihoc僵尸网络出处

http://p6.qhimg.com/t0170685c0123707f22.png

译者:blueSky

预估稿费:200RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

前言

自2015年以来,ASERT安全研究团队持续对一个名为FlusihocDDoS僵尸网络进行了跟踪和分析。迄今为止,虽然各种安全厂商在其防病毒和入侵检测产品中添加了许多恶意软件的特征,却很少从安全厂商那里看到有关Flusihoc这款僵尸网络的报道。Flusihoc恶意软件一直有不断的变种出现,针对该恶意软件,我们的恶意软件库中收集到的样本数量超过了500多种。Flusihoc僵尸网络是一种多功能的C++恶意软件,可以通过命令和控制服务器进行各种DDoS攻击。由于最近观察到该恶意软件的攻击活动有所上升,因此我们决定再对该恶意软件家族进行研究和分析,本文将在下面的内容中对该恶意软件家族、恶意软件的功能以及多年来观察到的攻击活动进行阐述。


可能起源于中国

通过对C&C服务器地理位置和恶意软件某些静态属性的研究和分析,我们猜测创造Flusihoc恶意软件的可能是一个中国人,例如如下是我们通过分析Flusihoc样本而找到的调试字符串:

C:UserschengzhenDesktopsvchostReleasesvchost.pdb

上述调试字符串中的“chengzhen”一词是一段汉语的拼音字符串。此外,其他恶意软件样本中也包含调试字符串,并且调试字符串中包含有汉字。从样本的PE资源来看,我们发现大部分样本具有Chinese_Simplified语言资源。不过需要注意的是,这些调试字符串可能是攻击者故意用来误导研究人员的。


C2 通信

Flusihoc恶意软件使用HTTP协议以明文形式与C&C服务器进行通信,下图是该恶意软件与C&C服务器进行的通信的示例:

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

通过分析我们发现C&C服务器使用基于数字的命令结构,僵尸网络中的节点将接收到一个数字,并将与该数字值相关联的命令结果发送给C&C服务器,节点与C&C服务器之间的通信字符串由“|”隔开并以字符串“end”终止。ASERT安全团队标识到了以下编号的命令:

1-要求僵尸网络节点发送受感染机器的系统信息;此命令将提示僵尸网络节点返回受感染机器诸如操作系统名称,CPU详细信息,RAM大小和网络速度等信息。

22-告诉僵尸网络节点检查攻击有效载荷,如果以前没有收到有效载荷,则向C&C服务器发送“null”字符串。如果节点响应“null”,则C&C服务器将向节点发送一个文本块,节点首先对该文本块进行解析操作,并将解析后的结果用作它的攻击有效载荷,如果节点已经有一个攻击有效载荷,它会向C&C服务器发送一个“end”字符串。

333-获取攻击状态,并提示僵尸网络节点根据是否在对目标发起网络攻击而向C2服务器发送“busy”或“Idle”消息。

4444-命令僵尸网络节点停止当前的网络攻击活动。

此外,C2服务器使用如下的命令格式发送一个命令给僵尸网络节点以用来发起攻击:

<attack command #>|<target>|<port>|<# of threads>|<uri>|<attack type>n…end


DDoS攻击类型

Flusihoc有9种DDoS攻击能力,具体如下所示:

SYN_Flood(1)

UDP_Flood(2)

ICMP_Flood(3)

TCP_Flood(4)

HTTP_Flood(5)

DNS_Flood(6)

CON_Flood(7)

CC_Flood(8)

CC_Flood2(9)

这些攻击类型由C2以字符串格式发送给bot,之后bot解析字符串并发起网络攻击,用于进行上述各种攻击的机制会因攻击类型和变体(主要使用Windows SDK中的Winsock2)而存在差异。


恶意软件的改进和变化

持久化机制

在Flusihoc的早期变种中(在VirusTotal上可以找到恶意软件样本),该恶意软件会在“SoftwareMicrosoftWindowsCurrentVersionRun”中使用持久性注册表项。然而可能出于逃避安全工具检测的目的,在后面的样本中,我们并没有发现这种持久性机制,但是这也使得在系统重新启动后,bot程序重新启动变得更加困难。在较新发现的样本示例中,我们看到Flusihoc开发者重新使用了这种持久性机制,大概是用于解决上述bot难以重启的问题。

添加加密机制

在后来的变种中,Flusihoc将明文的C2地址转换到使用RC4加密的C2地址。在2017年3月编译的样本中,我们可以看到样本中使用的明文C2地址,具体如下图所示:

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

然而,我们在VirusTotal的较新样本中看到了一个使用RC4加密C2地址的样本,其编译日期为2017年4月。在此样本中,C2看起像是2017年3月编译版本的变种,只是不再支持明文的C2地址,具体如下图所示:

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

通过上图我们发现,bot程序通过调用RC4加密函数以及密钥来解密从C2服务器接收到的内容。在这个样本示例中,RC4密钥是“crealloc”,具体如下图所示:

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

由于RC4的加解密函数是相同的,因此在已知密钥的情况下,我们可以轻松解密出上图C2服务器的地址:Main[.]dresou[.]net

Flusihoc的新功能

在2017年4月的那个样本中,我们发现了Flusihoc恶意软件的新功能:bot程序会使用URLDownloadToFileA,WinExec和ShellExecuteA这些Windows API函数下载并执行文件,如果文件以“exe”结尾,它将从提供的URL下载文件并执行,具体如下图所示:

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

如果文件名不以“exe”结尾,它将使用“Open”操作来运行恶意程序,具体如下图所示:

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

此功能允许僵尸网络控制器更新Flusihoc恶意软件或远程下载其他恶意文件。


网络攻击活动

检测到的C2s

使用我们的僵尸网络渗透系统,自2015年7月以来,ASERT团队已经跟踪了与Flusihoc相关的154个不同的C2,并检测到24,137次攻击命令。截至2017年9月,48个C2地址仍然在活动着,下面是生成最多攻击命令的C2:

wm[.]sshtdk[.]com

1211[.]sshtdk[.]com

121[.]sshtdk[.]com

pp[.]sshtdk[.]com

qq[.]sshtdk[.]com

大多数C2位于中国,而且大多数攻击命令都是针对中国目标网址发起的网络攻击。经过对目标网址进行粗略的分析,我们并没有发现目标之间有任何明显的相关性。

DDoS攻击活动

基于Arbor ATLAS设备从400个运行Arbor SP/TMS平台的全球分布式服务提供商那里收集到的匿名DDoS攻击数据,我们能够对僵尸网络的攻击活动做进一步的统计分析。

自2017年7月以来,我们可以将观察到的Flusihoc攻击命令与报告给ATLAS的909个DDoS事件相关联。2017年7月6日观察到的攻击峰值大小是在45.08 Gbps,大多数DDoS攻击都使用TCP SYN的80端口,1-1023和443端口,这些事件的平均攻击大小为603.24 Mbps,通常每天会发起大约14次不同的网络攻击,具体如下图所示:

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


结论

Flusihoc可能是一个来自中国的DDoS僵尸网络,因为它主要攻击中国的目标网址。分析表明,这个恶意软件家族至少在2015年以来就一直存在,并且与154个C2相关联。 尽管不是最大的DDoS僵尸网络,但是Flusihoc仍然能够对许多站点,服务器,服务和应用程序发起DDoS网络攻击。


IOCs

样本:

41f1c2b942fb8c78d9d3b9e339480970ead06241

2ff3eab0892325b936beee70d8625c4e8d50d7c0

6a1863abded29f1151db7f1eebe33298adbcb793

C2s:

Main[.]dresou[.]net

wm[.]sshtdk[.]com

1211[.]sshtdk[.]com

121[.]sshtdk[.]com

pp[.]sshtdk[.]com

qq[.]sshtdk[.]com

(完)