需要云计算吗? 即刻开始体验

勒索软件团伙 CL0P 利用了 MOVEit SQLi 零日漏洞 (CVE-2023-34362)

作者:Ori David、Sam Tinklenberg、Maxim Zavodchik 和 Ophir Harpaz

执行摘要

  • 2023 年 5 月 31 日,Progress Software 向其客户发出告警,提醒他们 MOVEit Transfer 和 MOVEit Cloud 软件中存在先前未知的漏洞。攻击者主动利用了 CVE 编号为 CVE-2023-34362 的 SQL 注入 (SQLi) 漏洞。

  • Mandiant 的一份 报告 显示,他们早在 2023 年 5 月 27 日便发现有人企图利用此漏洞。Akamai 研究人员在同一天也检测到攻击者企图利用此漏洞攻击 Akamai 的其中一个金融客户,但攻击被 Akamai 自适应安全引擎拦截。

  • 该攻击活动的幕后黑手是名为 CL0P 的勒索软件团伙。该团伙可能 躲藏在俄罗斯或东欧,他们因受经济利益驱使而利用数据外泄对受害者进行勒索,恶劣行径人尽皆知。

  • 攻击者利用此 SQLi 漏洞部署了自定义 ASP.NET Web shell (LEMURLOOT),意图持续存在于受害者的网络中,以实施进一步攻击。

  • 在撰写本文时,完整的漏洞详细信息尚未公开。但是,Akamai 安全情报组进行的分析以及与 Progress 安全团队的协作证实,自适应安全引擎保护了我们的客户免受漏洞利用企图的威胁。

时间表

 MOVEIt 漏洞利用活动的事件时间表 图 1:MOVEit 漏洞利用活动的事件时间表

2023 年 5 月 31 日,Progress Software 发布了一则安全公告,提醒其客户 MOVEit Transfer 和 MOVEit Cloud 中存在一个零日漏洞,攻击者正在主动利用该漏洞入侵面向互联网的服务器(图 1)。

在确定有大规模攻击活动利用此漏洞泄露易受攻击服务器上存储的敏感文件后,该公司发出了此告警。根据 Mandiant 的报告,他们早在 2023 年 5 月 27 日便发现有人企图利用此漏洞。Huntress 对此漏洞进行了技术分析,结果表明此漏洞实际上可能会在服务器上实现完整的远程代码执行。

2023 年 6 月 2 日,Microsoft 正式认定 本次攻击是 Lace Tempest 团伙所为,此说法最终于 6 月 5 日得到证实,CL0P 当天在其博客上就本次攻击活动发表了相关声明(图 2)。

CL0P 勒索软件团伙所发送邮件的屏幕截图 图 2:CL0P 勒索软件团伙承认他们参与了 MOVEit 活动

攻击范围

在大家已知晓该攻击并对其展开调查时,Shodan 确认大约有 2,500 台面向互联网的服务器在运行 MOVEit(图 3)。

展示正在运行 MOVEIt 的易受攻击版本的服务器的 Shodan 地图图像 图 3:Shodan 的一项调查表明,超过 2,500 台面向互联网的服务器正在运行 MOVEit 的易受攻击版本

Progress Software 表示,所有运行 MOVEit 的服务器都容易受到攻击,并且在发生大规模攻击的时候没有补丁可用。因此,可以肯定地认为,受害者人数众多。多家企业已确认遭到入侵,并且随后可能会有更多的受害者浮出水面。

攻击链

相关机构已发布了大量有关此漏洞的信息。但是,完整的漏洞详细信息尚未公开。根据公开信息、Akamai 安全情报组完成的分析以及我们日志中的数据,我们清楚地知道了 moveitisapi.dll 如何被用于执行 SQLi。

此外,我们的团队与 Progress 安全团队举行了一次信息分享会议,双方在会议中分享了各自的分析结果以及与入侵指标 (IOC) 相关的其他信息。通过此次会议,我们能够确认,Akamai 自适应安全引擎帮助双方的客户抵御了此次攻击并且将继续提供相应保护。

在给予我们足够的时间完成漏洞修补之后,我们可能会发布有关分析结果和漏洞利用攻击链的更多详细信息。

隐藏操作

CL0P 团伙进行了多次尝试,意图避开检测并使分析复杂化。

首先,所上传的 Web shell 名为“human2.aspx”,它非常类似于实现 Web 界面的合法 MOVEit 文件“human.aspx”。

其次,访问该 Web shell 会要求通过“X-siLock-Comment”标头发送一个密码。如果此标头缺失或者密码不正确,该 Web shell 会返回“404 未找到”响应。通常,寻找 Web shell 的最简单方法是发送一个简单的 GET 请求。如果该页面不存在,则系统会返回 404。让该 Web shell 返回 404 只能阻止最简单的探查方法。通过一些额外步骤,您可以将该 Web shell 的 404 响应与服务器的正常 404 响应进行比较,从而发现两者之间的区别。

最后,用于控制该 Web shell 并发动攻击的标头使用的名称非常类似于 MOVEit 的原始标头名称。例如,“X-siLock-Comment”被用于传输 Web shell 密码。攻击者通过名称相似的以下标头泄露了 MOVEit 数据库中的其他信息:“X-siLock-Step2”和“X-siLock-Step3”。

对漏洞利用的检测

可以通过几种方法来识别漏洞利用企图。

已知的入侵指标 (IOC)

Progress Software安全界发布了很多基于主机和网络的入侵指标,包括 IP 地址、文件哈希值和 YARA 规则。

网络管理员可以检查网络流量和 IIS 日志,并对网络中的资产进行扫描以查找已知 IOC,从而识别被利用的机器。

自适应安全引擎客户可以检查其 WAF 日志,查找漏洞利用迹象。如果他们的 MOVEit 主机成为了攻击目标,他们应该会看到以“/moveitisapi/moveitisapi.dll”为目标的 SQLi 攻击组触发器。

威胁搜寻

即便在运行易受攻击软件的服务器上未检测到已知 IOC,也应该对这些服务器进行调查和扫描,以确定是否存在异常行为。例如,在检查攻击者所使用的攻击载荷后,我们发现它生成了一个放置在服务器根目录中的 aspx Web shell,路径如下: <驱动器号>: \MOVEitTransfer\wwwroot\。部署在原始攻击活动中的 Web shell 名为 human2.aspx,但此指标容易发生变化。

我们建议在易受攻击的服务器上采用基于异常的威胁搜寻方法,而不是仅依赖于静态 IOC。在此特定案例中,其中一个方法是检查 MOVEit 服务器的根目录,寻找最近创建的所有 aspx 文件。从本质上说,aspx 文件相对不容易发生变化,并且通常人们不会修改或创建这些文件,因此新添加的此类文件可能存在问题,应当对其进行检查。最初的 Progress 公告 和最新的 CISA #StopRansomware 公告中公布了其他可疑的文件路径。

Akamai Guardicore Segmentation 客户可以使用图 4 中所示的 Insight 查询找出此类文件。

用于查找最近创建的 aspx 文件的代码片段 图 4:用于查找最近创建的所有 aspx 文件的 Insight 查询

请注意,驱动器号 (C:\) 和安装路径可能有所不同,此查询仅涉及默认安装路径。

Akamai Hunt 是 Akamai 的托管威胁搜寻服务,它对客户环境执行了全面扫描,以检测易受攻击的资产、漏洞利用企图以及与此攻击活动关联的 IOC。在找到 MOVEit 组件的情况下,Hunt 研究人员会通知相关团队并立即帮助抵御该威胁(图 5)。

发送给用户告知其检测到漏洞利用企图的 Hunt 告警的屏幕截图 图 5:关于在客户环境中检测到 MOVEit 漏洞利用企图的 Hunt 告警

抵御措施

很遗憾,软件漏洞无法避免,但各企业可以采取很多措施来防范此类入侵。

对面向互联网的服务器了如指掌

防御者必须先确定他们正在运行的面向互联网的敏感应用程序是什么,然后才能够抵御攻击。在 MOVEit 案例中,Progress 将漏洞问题告知了所有易受攻击的客户。但是,了解您面向外部的攻击面并确认向互联网公开的所有敏感应用程序仍然至关重要。在您确认这些应用程序后,可以通过下列抵御措施来降低应用程序遭到入侵的风险。

限制互联网访问

减小攻击面是当务之急。如果出现无正当理由对某个应用程序进行未授权互联网访问的情况,则应当利用基于用户的访问控制措施保护此应用程序,这可以通过 Zero Trust 网络访问 (ZTNA) 或传统 VPN 产品来实现。

如果某些用例需要未经授权的互联网访问,我们建议您运行一台单独的外部应用程序服务器,限制它所存储的数据或可以通过它访问的数据,并尽可能将其与内部网络分隔开来。这样,即使应用程序服务器遭到入侵,爆炸半径也是有限的。

使用 WAF 阻止攻击者利用漏洞

具有 Web 界面的应用程序应放置在 WAF 之后,因为 WAF 可以拦截异常和可疑行为,并且可能会拦截对先前未知的零日漏洞的利用。

根据我们当前对漏洞利用攻击链的认知和了解, Akamai 自适应安全引擎可以利用 SQLi 攻击组抵御此攻击。具体来说,我们有一些已确认实例,在这些实例中自适应安全引擎阻止了攻击者利用 SQLi 漏洞。被拦截的请求来源于已知 IOC 中列出的 IP。

通过分段,阻止横向移动

通常,面向互联网的服务器会成为攻击者进入网络的入口点。在知道这一点之后,应当对这些服务器进行相应处理并将它们放入单独的分段中,从而限制攻击者在网络内进行横向移动的能力。

例如,可以创建一条规则,阻止管理端口上来自面向互联网的服务器的所有出站连接(图 6)。

显示用于阻止横向移动尝试的规则示例的 Akamai Guardicore Segmentation 表 图 6:Akamai Guardicore Segmentation 中用于阻止横向移动尝试的规则示例

这样,即便攻击者打算入侵该服务器,也无法在这些端口上进行横向移动。应当创建覆盖敏感应用程序和其他管理端口的附加规则,尽可能地减小这些服务器上的攻击面。请谨记,此类规则也可能会中断正常的网络操作,因此在创建这些规则并向日常运营所必需的现有流量中添加排除项时,您应当谨慎行事。

下次再说?

MOVEit 是目前针对托管文件传输 (MFT) 服务的又一个零日漏洞利用案例。现如今,CL0P 勒索软件团伙早已因为此类活动而声名狼藉。他们除了先前利用 GoAnywhereSolarWinds Serv-UAccellion 应用程序中的漏洞来窃取数据并敲诈受害者之外,还利用过其他面向互联网的应用程序中的其他漏洞。

实际上,如果您的网络中安装了任何优秀的 MFT 解决方案,那么毫无疑问的是,在您读到这个句子的时候,一个技术高超且动机十足的黑客也正在世界上的某个地方研究这些应用程序并尝试找到它们的安全漏洞。CL0P 团伙发动新的漏洞利用活动似乎只是时间问题,而且其他团伙很可能会闻风而动。