近日,Trend Micro 网络安全解决方案团队发现了一个新的漏洞利用工具包,我们命名为 Underminer,它可以利用其他漏洞利用工具包使用的功能来阻止研究人员跟踪其活动或逆向工程有效载荷。Underminer 提供了一个感染系统引导扇区的 bootkit 以及一个名为 Hidden Mellifera 的加密货币挖掘恶意软件。Underminer 通过加密传输控制协议(TCP)隧道传输恶意软件,并使用类似于 ROM 文件系统格式(romfs)的自定义格式打包恶意文件。这导致漏洞利用工具包及其有效负载难以分析。
Underminer 的活动于 7 月 17 日开始,主要向亚洲国家分发其有效载荷。隐藏的 Mellifera 于 5 月出现,据报道称,影响了多达 50 万台机器。隐藏的 Mellifera 的作者也与 2017 年 8 月报道的浏览器劫持木马 Hidden Soul 有关。这种相关性表明 Underminer 是由相同的网络犯罪分子所开发的,因为 Underminer 也推动了 Hidden Mellifera。然而 Underminer 是通过广告服务器提供的,该服务器的域名是使用 Hidden Mellifera 开发人员使用的电子邮件地址注册的。
Underminer 的能力图 1. 从 7 月 17 日到 7 月 23 日 Underminer 活动的国家分布
Underminer 配备了其他漏洞利用工具包也采用的功能:浏览器分析和过滤、防止客户端重访、URL 随机化和有效负载的非对称加密。Underminer 的登录页面可以通过用户代理分析和检测用户的 Adobe Flash Player 版本和浏览器类型。如果客户端的配置文件与他们感兴趣的目标不匹配,则他们不会传送恶意内容并将其重定向到普通网站。Underminer 还为浏览器 cookie 设置了一个令牌 ; 如果受害者已经访问了漏洞攻击包的登录页面,则不会推送有效负载,而是会传递 HTTP 404 错误消息。这可以防止 Underminer 攻击同一个受害者,并可以有效的阻止研究人员通过重新访问他们的恶意链接来重现攻击。
图 2. Underminer 的流量模式利用 CVE-2016-0189(上),CVE-2015-5119 和 CVE-2018-4878(下)
Underminer 如何隐藏其漏洞
Underminer 使用 RSA 加密来保护其漏洞利用代码并防止其流量被重放。在利用漏洞之前,Underminer 会生成一个随机密钥并将其发送到其命令和控制(C&C)服务器。然后,此密钥用于加密其 JavaScript 代码和漏洞利用,在 HTTP 响应标头 "X-Algorithm" 中指定对称加密算法,并将其发送回受害者。他们在我们的测试中使用的对称算法是 RC4 或 Rabbit。
收到响应后,用生成的密钥解密代码并执行它。Underminer 还在密钥传输期间使用 RSA 加密来进一步保护它(随机密钥使用嵌入在其代码中的公钥加密)。不过只有 Underminer 的运营商知道它只能通过私钥解密。即使漏洞利用工具包的网络流量可见,或文件样本就在手边,也无法对漏洞利用有效负载进行解密。这种技术类似于其他漏洞利用工具包使用的技术,特别是Angler,Nuclear和Astrum,但那些是使用的 Diffie-Hellman 算法。
图 3. 使用 RSA 公钥加密随机密钥的 JavaScript 代码片段
Underminer 的漏洞
Underminer 利用其他漏洞利用工具包和威胁参与者也使用的几个安全漏洞:
·CVE-2015-5119,2015 年 7 月修补的 Adobe Flash Player 中的免费使用后漏洞。
·CVE-2016-0189,2016 年 5 月修补的 Internet Explorer(IE)内存损坏漏洞。
·CVE-2018-4878,Adobe Flash Player 中的一个免费使用后漏洞,于 2018 年 2 月修补。
利用这些漏洞时,会执行恶意软件加载程序。每个都有类似的感染链,但执行方式不同。在利用 CVE-2016-0189 时,通过 regsvr32.exe 执行包含 JScript 代码的 scriptlet(.sct 文件)。JScript 代码将删除将使用 rundll32.exe 执行的动态链接库(DLL),该库将从漏洞利用工具包加载并执行第二阶段下载程序。
利用 Flash 漏洞时,Underminer 将直接执行 shellcode 以下载没有 MZ 标头的可执行文件。这类似于从 scriptlet 中删除的第一个加载器或 DLL。加载程序将检索相同的第二阶段下载程序,然后将其注入新打开的 rundll32.exe 进程。Flash 漏洞的感染链实际上是无文件的,直到系统中安装了恶意软件。我们的技术简介中进一步解释了第二阶段下载器如何通过加密的 TCP 隧道传送 bookit 和 cryptocurrency-mining 恶意软件。
图 4. Underminer 漏洞的感染流程
解决方案
与之前的其他漏洞一样,我们希望 Underminer 能够磨练他们的技术,进一步混淆他们提供恶意内容的方式,并利用更多的漏洞,同时阻止安全研究人员调查他们的活动。鉴于其运营的性质,我们也期望它们使其有效载荷多样化。
现在开发工具包可能会坐失良机,但破坏者表明,他们仍然是相关的威胁。他们强调了现实生活中的重要性,对于许多企业来说," 修复 " 将是一个长期的挑战 。对于组织而言,漏洞利用工具包可能需要与时间赛跑。漏洞可以在任何给定时间公开,并且它们的暴露窗口可以打开未打补丁的系统,以及存储在其中的个人或业务关键数据,以进行未经授权的访问或修改。以下是一些比较合适的做法:
· 保持系统及其应用程序的更新,并考虑虚拟补丁,尤其是遗留系统和网络。
· 积极监控网络:防火墙和应用入侵检测和防御系统提供了针对恶意流量的安全层。
· 实施最小特权原则:限制或禁用可用作入口点的不必要或过时的应用程序和组件。
· 通过应用安全机制(如应用程序控制和行为监控)来实施深度防御,以防止未经授权或恶意的应用程序或进程执行。