简介
FireEye的研究人员近期发现,有人利用Microsoft Office中相对较新的漏洞来传播Zyklon HTTP恶意软件。Zyklon自2016年初起被监测到,该恶意软件拥有很多复杂的功能。
Zyklon是一个公开的全功能后门,可以用来进行键盘记录、密码收集、下载并执行附加插件、执行DDoS攻击,并且还能够自我更新和自我清除。在特定的配置下,该恶意软件还可以通过Tor网络与其C2服务器进行通信。该恶意软件可以通过浏览器或电子邮件的方式下载插件,其中一些插件可能包含挖掘加密货币以及恢复密码等功能。此外,Zyklon还具有一个非常有效的机制,能够传播自身并感染更多主机。
感染途径
我们已经发现,Zyklon恶意软件的最近一次集中传播主要是通过垃圾邮件的途径。在电子邮件中,通常会附带一个包含恶意DOC文档的ZIP压缩文件,如下图所示。
本次恶意软件传播针对的主要目标是电信行业、保险行业以及金融服务行业。
攻击流
1、附带ZIP附件的垃圾邮件被发送至受害者的邮箱,压缩文件中包含恶意的DOC文档。
2、其中的文档至少利用了三个已知的Microsoft Office漏洞,我们将在“感染过程”一节中详细讨论这些漏洞。当其在易受攻击的环境中执行后,基于PowerShell的有效载荷将会接管。
3、PowerShell脚本负责从C2服务器下载最终的有效载荷并执行。
更为具体的攻击流和执行链请参见下图。
感染过程
CVE-2017-8759
我们在2017年9月发现了该漏洞,这是我们在此阶段发现的第一个已经被利用的漏洞。
DOC文件中包含嵌入的OLE对象,在执行后,将会触发下载功能,会从指定的URL下载另一个DOC文件(如下图所示)。
CVE-2017-11882
同样,我们发现该恶意软件也利用了Microsoft Office最近发现的另一个漏洞。在打开恶意的DOC附件时,会从嵌入的OLE对象内存储的一个URL,触发下载操作(如下图所示)。
下图为下载有效载荷所发出的HTTP GET请求:
所下载的doc.doc文件基于XML,其中包含一个PowerShell命令(如下图所示),在该文档执行后,会下载一个二进制文件)Pause.ps1。
动态数据交换(DDE)
动态数据交换(Dynamic Data Exchange)在这里被用作进行远程代码执行的进程间通信机制。借助PowerShell脚本(如下图所示),可以下载接下来的有效载荷(Pause.ps1)。
我们发现,它的下载过程中使用了没有点的IP地址,例如:hxxp://258476380。
下图展示了Pause.ps1下载过程的网络通信:
Zyklon最终有效载荷
在上述这些过程中,Zyklon使用了相同的域名用来下载下一级有效载荷(Pause.ps1)。如上图所示,这是另一个Base64编码后的PowerShell脚本。
Pause.ps1脚本负责解析代码注入所需的API,此外它还包含将要注入的ShellCode。API中,包含VirtualAlloc()、memset()和CreateThread()。下图是将Base64代码解码后的内容。
这段注入的代码,负责从服务器下载最终的有效载荷(如下图所示)。而最终的有效载荷,是使用.Net框架编译的PE可执行文件。
下图为下载最终有效载荷words.exe的网络通信过程:
一旦执行之后,该文件会进行以下活动
1、复制其自身,放置于%AppData%svchost.exesvchost.exe,并生成一个XML文件,其中包含计划任务功能(Task Scheduler)的配置信息(如下图所示)。
2、通过Process Hollowing进程创建技术,解压缩内存中的代码。其中MSIL文件的.Net资源部分包含压缩后的核心有效载荷。
3、解压缩后的代码即为Zyklon恶意软件。
Zyklon恶意软件首先使用以下恶意域名,来检索受感染机器的外部IP地址:
api.ipify[.]org
ip.anysrc[.]net
myexternalip[.]com
whatsmyip[.]com
Zyklon可执行文件在其名为tor的.Net资源部分,包含另一个加密文件。该文件在解密后会被注入到InstallUtiil.exe的一个实例之中,作为一个隐藏的Tor通信工具。
C2命令
Zyklon的C2通信通过Tor网络进行代理。恶意软件向C2服务器发送POST请求。C2服务器由gate.php进行连接。参数getkey=y将传递给这一请求。在收到请求后,C2服务器会响应一个Base64编码的RSA公钥,如下图所示。
在与C2服务器建立连接后,恶意软件可以使用下表中的命令与控制服务器进行通信:
下图分别展示了“从C2服务器请求配置信息”、“请求系统信息”和“DDoS攻击指令”的原始请求以及服务器响应。
下图为setting命令,即从C2服务器请求配置信息:
下图为sign命令,即请求系统信息:
下图为ddos命令,即DDoS攻击指令:
插件管理
Zyklon会从C2服务器下载一系列插件。插件的URL以下列格式存储在文件中:
/plugin/index.php?plugin=<Plugin_Name>
在Zyklon恶意软件的内存中,找到了如下插件:
/plugin/index.php?plugin=cuda
/plugin/index.php?plugin=minerd
/plugin/index.php?plugin=sgminer
/plugin/index.php?plugin=socks
/plugin/index.php?plugin=tor
/plugin/index.php?plugin=games
/plugin/index.php?plugin=software
/plugin/index.php?plugin=ftp
/plugin/index.php?plugin=email
/plugin/index.php?plugin=browser
这些插件在下载后,将被注入到:WindowsMicrosoft.NETFrameworkv4.0.30319RegAsm.exe。
附加功能
Zyklon恶意软件通过插件还提供了以下附加功能:
1、浏览器密码获取
Zyklon HTTP可以从流行的网页浏览器中获取到已存储的密码,其中包括:
Google Chrome
Mozilla Firefox
Internet Explorer
Opera Browser
Chrome Canary/SXS
CoolNovo Browser
Apple Safari
Flock Browser
SeaMonkey Browser
SRWare Iron Browser
Comodo Dragon Browser
2、FTP密码获取
Zyklon目前支持从以下FTP应用程序中获取FTP密码:
FileZilla
SmartFTP
FlashFXP
FTPCommander
Dreamweaver
WS_FTP
3、游戏软件密钥获取
Zyklon可以从以下游戏中,获取PC游戏软件密钥:
Battlefield
Call of Duty
FIFA
NFS
Age of Empires
Quake
The Sims
Half-Life
IGI
Star Wars
4、电子邮件密码获取
Zyklon还可以从下列应用程序中,收集电子邮件密码:
Microsoft Outlook Express
Microsoft Outlook 2002/XP/2003/2007/2010/2013
Mozilla Thunderbird
Windows Live Mail 2012
IncrediMail, Foxmail v6.x – v7.x
Windows Live Messenger
MSN Messenger
Google Talk
GMail Notifier
PaltalkScene IM
Pidgin (Formerly Gaim) Messenger
Miranda Messenger
Windows Credential Manager
5、软件序列号密钥获取
该恶意软件能够自动检测并解密200多种流行软件(包括Office、SQL Server、Adobe和Nero)的序列号/许可证密钥。
6、Socks5代理
Zyklon能够在受感染的主机上建立一个反向的Socks5代理服务器。
7、劫持剪贴板中的比特币地址
Zyklon有能力劫持系统中的剪贴板,并用C2服务器提供的地址来替换用户复制的比特币地址。
Zyklon的价格
研究人员通过在地下市场进行调查分析,最终确定了不同版本Zyklon的价格,具体如下:
正常版本 $75(美元)
Tor版本 $125(美元)
升级/更新 $15(美元/次)
以上均通过比特币的方式进行付款。
结论
该恶意软件利用了Microsoft Office中的流行漏洞,因为Office是一个非常流行的办公软件,以至于感染成功的几率会大幅增加。同时,这也提醒了我们确保所有软件的及时更新是至关重要的。尽管目前该恶意软件有特定的攻击目标人群,但所有行业都应该保持警惕,因为攻击者随时可能会超出当前的目标范围进行攻击。
本文所涉及样本的MD5如下:
accounts.doc(76011037410d031aa41e5d381909f9ce)
Courier.doc(4bae7fb819761a7ac8326baf8d8eb6ab)
doc.doc(eb5fa454ab42c8aec443ba8b8c97339b)
Pause.ps1(886a4da306e019aa0ad3a03524b02a1c)
words.exe(04077ecbdc412d6d87fc21e4b3a4d088)
相关恶意IP/域名如下:
154[.]16.93.182
85[.]214.136.179
178[.]254.21.218
159[.]203.42.107
217[.]12.223.216
138[.]201.143.186
216[.]244.85.211
51[.]15.78.0
213[.]251.226.17
93[.]95.100.202
warnono[.]punkdns[.]top