概述
如果说,攻击者成功利用未修复的安全漏洞实现攻击的事件,大家已经习以为常。那么,如果有攻击者使用了8个漏洞来获取企业资产数据及客户信息,那么事情就变得不一样了。
近期,我们发现了一个新型恶意软件系列,它使用多种Web服务器攻击和暴力攻击方式,针对Web服务器、网络驱动器和可移动驱动器发起攻击。我们根据该恶意软件所创建的注册表名称和主要组件文件名称,将其命名为BlackSquid。根据多个方面,我们综合评估该恶意软件的危险性非常高。恶意软件采用反虚拟化、反调试和反沙箱的方法来确定是否继续安装过程。此外,该恶意软件还具有类似于蠕虫病毒的横向传播行为。恶意软件使用了一些臭名昭著的漏洞,包括EternalBlue、DoublePulsar、CVE-2014-6287、CVE-2017-12615、CVE-2017-8464以及三个针对多版本ThinkPHP的漏洞利用。
此外,网络犯罪分子可能正在测试在恶意软件程序中使用不同技术的可行性,以便进一步开发。我们对所获得的样本进行分析,发现该样本下载并安装XMRig Monero挖矿工具,将其作为最终Payload。然而,在未来,BlackSquid可能会与其他Payload共同使用。
根据我们的遥测发现,在5月的最后一周,针对泰国和美国发起的BlackSquid攻击次数最多。
逃避、执行和漏洞利用
BlackSquid可以从三个初始入口点感染系统,分别是:(1)通过受感染的已知服务器访问受感染的网页;(2)通过漏洞作为感染Web服务器的主要原始入口点;(3)通过可移动驱动器或网络驱动器。如果满足以下至少一个条件,该恶意软件会立即取消感染例程,从而避免恶意软件被检测到或被阻止。
检查受害者的用户名是否属于常见沙箱的用户名:中国菜刀
· Avira
· COMPUTERNAME
· CWSX
· Kappa
· NMSDBOX
· VBOX
· WILBERT-SC
· XPAMASTC
· XXXX-OS
· cuckoo
· cwsx-
· nmsdbox
· qemu
· sandbox
· virtual
· wilbert-sc
· xpamast-sc
· xxxx-ox
检查磁盘驱动器型号是否属于如下型号:
· Avira
· Kappa
· VBOX
· Qemu
· Sandbox
· test
· virtual
· vitual
· vmware
· vware
检查设备驱动程序、进程和动态链接库是否属于下面的文件之一:
· Anubis.exe
· api_log.dll
· Cuckoo.exe
· dir_watch.dll
· ImmunityDebugger.exe
· OllyDBG.EXE
· OllyICE.exe
· Sandboxie.exe
· sandboxiedcomlaunch.exe
· sandboxierpcss.exe
· sbieDLL.dll
· SbieDrv.sys
· SbieSvc.exe
· SXIn.dll
· vboxdrv.sys
· VBoxGuestAdditions.sys
· vboxnetadp.sys
· VBoxRes.dll
· Vboxusb.sys
· Vboxusbmon.sys
· windbg.exe
· x64_dbg.exe
恶意软件还会检查断点寄存器中的硬件断点,特别是标志。在硬编码中,如果该标志为0,则恶意软件将会跳过例程;如果该标志为1,则恶意软件将继续进行感染。在撰写本文时,该代码被设置为0,也就意味着恶意软件例程的这一方面仍然属于正在开发阶段。
硬编码中硬件断点标记为0:天空彩
一旦系统不满足上述三个条件中的任何一个,恶意软件例程就会继续感染。在近期发生的安全事件中,有许多加密货币挖掘的恶意软件例程都利用了EternalBlue-DoublePulsar漏洞(MS17-010 SMB远程代码执行漏洞)并通过网络传播,而BlackSquid也是如此。
EternalBlue-DoublePulsar漏洞利用的命令行:
445端口和139端口上的服务器消息块(SMB)漏洞利用攻击:
该恶意软件使用严重漏洞CVE-2017-8464自我执行,从而在网络和可移动驱动器中删除自身的副本。这一远程代码执行(RCE)缺陷可用于获取与本地系统用户相同的用户权限。
通过CVE-2017-8464执行的恶意软件:
除了网络传播之外,BlackSquid还通过Web应用程序漏洞感染Web服务器。恶意软件使用GetTickCount API作为其种子,随机选择要定位的IP地址,检查该地址是否有效。在确认了地址的实时状态之后,开始通过漏洞利用和暴力破解的方式攻击目标。
随机生成并检查要定位的实时IP地址:
被滥用的漏洞包括三个ThinkPHP漏洞,这三个漏洞影响该框架的多个版本,恶意软件使用mshta.exe下载并执行Payload的主要组件。但是,我们注意到,其中的一个漏洞被错误编码,在本应是数字“1”的地方错误写成了字母“l”,从而使得该段代码无效。
BlackSquid使用的ThinkPHP漏洞利用程序:
网络犯罪分子可能在编写其中一个ThinkPHP漏洞利用时出现了失误,使得该命令无效:
通过发送HTTP请求,恶意软件还利用CVE-2014-6287漏洞,以IP地址为目标,在搜索操作中通过%00序列来运行mshta.exe。一旦该漏洞被成功利用,攻击者就可以远程执行任意程序。
利用CVE-2014-6287漏洞的特殊构造请求:
BlackSquid还利用了CVE-2017-12615,这是一个Apache Tomcat漏洞,其中包含一个发出HTTP请求的代码段。该漏洞利用服务器通过特制的HTTP PUT请求上传JavaServer Pages(JSP)文件来执行任意代码。
HTTP请求方法和URI的部分内容:
HTTP消息体的部分内容:
BlackSquid还可以在目标Web服务器上传JavaServer页面,并使用该页面执行mshta.exe,然后下载并执行恶意软件的主要组件。
通过JavaServer页面执行Payload的主要组件:
BlackSquid还可以通过在目标上添加恶意iframe来感染以下已知Web服务器路径中的HTML文件。
Iframe插入的Web服务器栈和脚本参考:
· C:\inetpub\\
· C:\xampp\
· C:\wamp\
· C:\phpStudy\PHPTutorial\WWW\
HTML文件感染中使用的iframe标记:
在其攻击的同时,BlackSquid还下载并执行两个XMRig加密货币挖掘组件。这两个组件都是64位的门罗币(XMR)挖矿工具,其中一个在其资源中,另一个被下载到系统中。资源中的挖矿工具是使用的主要工具,但它也会同时确定目标系统是否具有视频卡。系统使用WQL(一种WMI查询语言,其中WMI代表Windows Management Instrumentation)检查是否存在Nvidia和AMD的视频卡,如果存在,则恶意软件会将第二个组件下载到系统中,从而使用图形处理单元(GPU)的资源实现挖矿的目的。
XMRig挖矿工具:
总结
考虑到这一恶意软件的逃避技术,以及恶意软件可以实现的攻击,我们综合判断BlackSquid是一种非常复杂的恶意软件,可能会对其感染的系统造成重大损害。如果成功,该恶意软件可能帮助攻击者实现权限提升、进行未经授权的访问、窃取特定信息、造成硬件或软件的失效,或者对组织(甚至从组织转移到另外一个组织)发起攻击。
但考虑到恶意软件中存在出错的代码以及故意跳过的例程,我们也同时认为,对于网络犯罪分子来说,可能处于对这个恶意软件的开发和测试阶段。网络犯罪分子可能正在致力于研究如何通过使用两个组件进行加密货币挖掘,无论该系统预置的GPU资源如何,都能在攻击中获得最大化的收益。此外,网络犯罪分子很可能仍在试图定位具体的攻击目标,从而确保不会投入太多资源。他们所选择的大多数技术和漏洞,都是在暗中公开分享的。并且,使用随机IP地址扫描,而没有选择更快但成本更高的选项(例如:订阅Shodan并使用Shodan扫描),可能在减少目标限制以及阻止并规避来自Shodan的流量方面具有优势。
该恶意软件利用的所有漏洞,都已经发布补丁,并且补丁已经发布了数年之久。因此,如果组织已经及时更新了正确的补丁程序,那么不太可能会受到这一恶意软件的影响。我们建议,组织和个人应该使用合法厂商发布的补丁对系统进行更新。对于一些使用停止支持版本的软件用户,应该使用可靠来源的虚拟补丁进行更新。此外,企业还应该启动多层防护系统,此类系统可以主动阻止从网关到终端的威胁和恶意URL。
安全解决方案
可以通过以下MainlineDV过滤器来防范此类威胁:
2383:CVE-2017-0144 – 远程执行代码 – SMB(请求)
2390:EQUATED – SMB(响应)
2498:CVE-2017-12615 – 通过代码上传实现APACHE TOMCAT远程代码执行 Remote Code Execution via JSP Upload – HTTP(请求)
2722:CVE-2017-0146 – 远程代码执行 – SMB(请求)
2786:ThinkPHP 5x远程代码执行 – HTTP(请求)
2922:CVE-2014-6287 Rejetto HttpFileServer远程代码执行漏洞利用 – HTTP(请求)
2923:BLASQUI Webshell – HTTP(请求)
3227:CVE-2014-6287 Rejetto HttpFileServer远程代码执行漏洞利用 – HTTP(请求)
3228:BLASQUI Webshell – HTTP(请求)
3229:ThinkPHP 5x远程代码执行 – HTTP(请求)
最后,感谢Jay Bradley Nebre、Jemimah Mae Molina和Earle Maui Earnshaw提供的见解和分析。
IoC
SHA256:
Worm.Win32.BLASQUI.A 14f8dc79113b6a2d3f378d2046dbc4a9a7c605ce24cfa5ef9f4e8f5406cfd84d
TROJ_EQUATED.J 3596e8fa5e19e860a2029fa4ab7a4f95fadf073feb88e4f82b19a093e1e2737c
Trojan.Win64.DLOADR.AUSUPP 4bc1a84ddbbb360e3026e8ec1d0e1eff02a100cf01888e7e2a2ac6a105c71450
Trojan.Win32.DLOADR.AUSUPY aa259b168ec448349e91a9d560569bdb6fabd811d78888c6080065a549f60cb0
Coinminer.Win32.MALXMR.TIAOODCI 4abb241a957061d150d757955aa0e7159253b17a1248eaac13490a811cdabf90
Coinminer.Win64.TOOLXMR.AS 515caf6b7ff41322099f4c3e3d4846a65768b7f4b3166274afc47cb301eeda98
8dbd331784e620bb0ca33b8515ca9df9a7a049057b39a2da5242323943d730b4
Trojan.Win32.CVE20178464.A 8974da4d200f3ca11aa0bc800f23d7a2be9a3e4e6311221888740c812d489116
URL:
hxxp://m9f[.]oss-cn-beijing[.]aliyuncs[.]com/A[.]exe
hxxp[:]//m9f[.]oss-cn-beijing[.]aliyuncs[.]com/Black[.]hta