近期发现Microsoft Office新漏洞被用来投递Zyklon恶意软件

 

简介

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

(完)