导语:FireEye的研究人员最近观察到攻击者利用Microsoft Office中相对较新的漏洞传播Zyklon HTTP恶意软件。
一、介绍
FireEye的研究人员最近观察到攻击者利用Microsoft Office中相对较新的漏洞传播Zyklon HTTP恶意软件。自2016年初以来,Zyklon一直在活跃,其功能复杂多样。
Zyklon是一个公开的全功能后门,能够进行键盘记录、口令收集、下载和执行额外插件、执行分布式拒绝服务(DDoS)攻击以及自更新和自清除。如果配置许可的话,恶意软件可通过洋葱路由器(Tor)网络与其命令和控制(C2)服务器通信。恶意软件可以从浏览器和电子邮件软件下载若干插件,其中一些插件包含加密货币挖掘和口令恢复等功能。Zyklon还提供了一个非常有效的机制来监控传播和影响。
二、感染途径
我们已经观察到最近一波的Zyklon恶意软件主要通过垃圾邮件传播。电子邮件通常会附带一个包含恶意DOC文件的ZIP文件(图1显示了一个示例诱饵)。电信、保险、金融服务行业是此次攻击的主要目标。
图1:诱饵文档样本
三、攻击流程
1,发送携带ZIP附件的垃圾邮件到受害者邮箱,ZIP附件中包含恶意的DOC文件。
2,文档文件利用了至少三个已知的Microsoft Office漏洞,我们将在感染技术一节中讨论这些漏洞。在有漏洞的环境中执行后,基于PowerShell的payload将会接管。
3、PowerShell脚本负责从C2服务器下载最终的payload并执行。
直观的攻击流和执行链参见图2。
图2: Zyklon 攻击流程
四、感染技术
CVE-2017-8759
FireEye在2017年9月发现了这个漏洞,这是我们发现的一个在野外被利用的漏洞。DOC文件中包含一个嵌入的OLE对象,执行后触发另外一个从存储的URL中下载的DOC文件,(如图3所示)。
图3: OLE对象中嵌入的URL
CVE-2017-11882
同样,我们也观察到攻击者利用Microsoft Office中另一个新近发现的漏洞(CVE-2017-11882)。在打开恶意的DOC附件后,会从嵌入的OLE对象内一个存储的URL触发另外的下载(见图4)。
图4: OLE对象中嵌入的URL
图5: HTTP GET请求下载下一阶段的payload
下载的文件doc.doc是一个XML,包含一条PowerShell命令(如图6所示)用来下载二进制Pause.ps1文件。
图6:下载Pause.ps1 payload的PowerShell命令
动态数据交换 (DDE)
动态数据交换(DDE)是进程间的通信机制,用于执行远程代码。借助PowerShell脚本(如图7所示),下载下一阶段的payload(Pause.ps1)。
图7:用于下载Pause.ps1 payload的DDE技术
我们观察到的一个独特方法是使用无点的IP地址(例如:hxxp:// 258476380)。
图8显示了下载Pause.ps1的网络通信。
图8:下载Pause.ps1 payload的网络通信
五、Zyklon投递
所有这些技术中,相同的域名被用于下载下一阶段的payload(Pause.ps1)——另一个Base64编码的PowerShell脚本(如图8所示)。
Pause.ps1脚本负责解析代码注入所需的API以及包含注入的shellcode,其中的API包括VirtualAlloc()、memset()和CreateThread()。图9显示了Base64解码后的代码。
图9: Base64 解码后的 Pause.ps1
注入代码负责从服务器下载最终的payload(参见图10)。最后一个阶段的payload是用.Net编译的PE可执行文件。
图10:下载最终payload(words.exe)的网络流量
运行之后,执行以下行为:
1、拷贝副本至%AppData% svchost.exe svchost.exe,并释放一个XML文件,其中包含Task Scheduler的配置信息(如图11所示)。
2、通过进程挖空解压缩内存中的代码。MSIL文件的.Net资源部分包含打包的核心payload。
3、解压后的代码是Zyklon。
图11:用于计划任务的XML配置文件
Zyklon恶意软件首先使用如下域名检索受感染机器的外网IP:
api.ipify.org ip.anysrc.net myexternalip.com whatsmyip.com
Zyklon可执行文件在其名为tor的.Net资源部分中包含另一个加密文件,该文件被解密并注入到InstallUtiil.exe的一个实例中,命名为Tor anonymizer函数。
六、指挥与控制通信(C&C)
Zyklon的C2通信通过Tor网络进行代理。恶意软件向C2服务器发送POST请求,参数为getkey = y,C2服务器由存储在文件内存中的gate.php追加。为响应此请求,C2服务器回应一个Base64编码的RSA公钥(如图12所示)。
图12: Zyklon RSA公钥
与C2服务器建立连接后,恶意软件可以使用表1所示的命令与其控制服务器进行通信。
表1: Zyklon命令集
下图显示了“settings”(图13)、“sign”(图14)和“ddos”(图15)命令的初始请求和随后的服务器响应。
图13: Zyklon 发出“settings” 命令及随后服务器的响应
图14: Zyklon发出“sign” 命令及随后服务器的响应
图15: Zyklon 发出 “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恶意软件通过插件提供以下额外功能:
浏览器口令恢复
Zyklon HTTP可以从以下流行的web浏览器中恢复密码:
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
FTP 口令恢复
Zyklon目前支持从以下FTP应用程序中恢复FTP密码:
FileZilla
SmartFTP
FlashFXP
FTPCommander
Dreamweaver
WS_FTP
游戏软件密钥恢复
Zyklon可以恢复以下PC游戏软件密钥:
Battlefield
Call of Duty
FIFA
NFS
Age of Empires
Quake
The Sims
Half-Life
IGI
Star Wars
Email口令恢复
Zyklon也可从以下应用程序收集email口令:
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
License密钥恢复
恶意软件会自动检测和解密200多种流行的软件(包括Office、SQL Server、Adobe和Nero)的license/序列号密钥。
Socks5 代理
Zyklon能够在受感染的主机上建立一个反向的Socks5代理服务器。
劫持剪贴板比特币地址
Zyklon有能力劫持剪贴板,并用攻击者的控制服务器提供的地址替换用户复制的比特币地址。
九、Zyklon 价格
研究人员发现了不同版本Zyklon HTTP在一个大众黑市的广告价:
普通版本:$ 75(美元)
Tor版本:125美元(美元)
重建/更新:15美元(美元)
付款方式:比特币(BTC)
十、结论
攻击者结合使用了最近在流行软件(微软Office)中发现的漏洞,这样就会增加感染成功的概率。该类型的威胁表明——为什么确保所有软件都完全更新非常重要。此外,所有行业都应该保持警惕,因为威胁行为者极有可能会扩大目标范围。
在本文写作之时,FireEyeMulti Vector Execution (MVX) engine已能够识别并阻止此类威胁,表2按产品列出了当前能检测和阻止的功能。
表2:FireEye产品目前的检测能力
十一、IoC指标
诱饵样本
表3: Zyklon诱饵样本
Network指标
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.175
93.95.100.202
warnono.punkdns.top