2024 年:旧的 CVE,新的攻击目标——利用 ThinkPHP 漏洞发起的攻击日趋活跃
编辑和评论补充:Tricia Howard
执行摘要
Akamai 研究人员已发现针对 ThinkPHP 应用程序的新攻击活动,这些应用程序比较容易受到 CVE-2018-20062 和 CVE-2019-9082 攻击。该攻击活动由一个讲中文的网络威胁团伙发起。
有迹象表明,该攻击活动始于 2023 年 10 月,主要针对为数不多的几个客户/企业。直到最近,该攻击活动的攻击范围才开始扩大开来。
攻击源自与“Zenlayer”云服务提供商 (ASN 21859) 托管的服务器关联的各种 IP 地址,主要位于中国香港特别行政区。
该漏洞利用攻击试图从另一台遭受入侵的 ThinkPHP 服务器中检索其他经过混淆处理的代码,以获得初始立足点。
在成功入侵系统之后,攻击者将会安装一个名为 Dama 的中文 Web shell,以维持对该服务器的持久访问。
后续的操作可能涉及在受害者的数据中心内进一步扩散,或者利用该服务器来攻击基础架构。
前言
我们在安全领域看到了一种令人不安的趋势:攻击者正在利用一些已知的漏洞(其中一些漏洞已存在数年之久)并屡屡得手。一个典型例子就是 ThinkPHP 远程代码执行 (RCE) 漏洞 CVE-2018-20062 和 CVE-2019-9082。通过 CVE 名称就能知道,这些漏洞至少从 2018 年起就已曝光,但攻击者仍在利用这些漏洞发起攻击。
我们首次发现这种攻击行为的迹象是在 2023 年 10 月 17 日。我们注意到了少量针对这些漏洞的探测活动,但与人们通常预期的方式不同。与自动化工具和扫描程序中常见的"概念验证"命令不同, 攻击载荷指示受害者服务器通过受攻击者控制的一台远程服务器安装一个经过混淆处理的 shell。
该次攻击活动只持续了几天,然后这些数量有限的探测活动就停止了,但这似乎只是个开始。截至 2024 年 4 月,我们又发现了一起类似的攻击活动,而这一次的规模大大超过了上一次。
在本博文中,我们将概要介绍这些 CVE、观察到的攻击企图,以及为受此次攻击活动影响的企业提供了抵御建议。
关于这些 CVE
什么是 ThinkPHP?
ThinkPHP 是中国的一个开源 Web 应用程序框架,主要用于开发基于 PHP 的 Web 应用程序。该框架提供了一组库、组件和工具,由于它遵循的是模型-视图-控制器 (MVC) 体系结构模式,因而简化了构建 Web 应用程序的过程。
CVE-2018-20062 和 CVE-2019-9082 是在常用的中文 ThinkPHP 框架旧版本中发现的漏洞。这两个漏洞不仅会影响基于此框架的内容管理系统,例如 NoneCMS 和开源 BMS,它们还使攻击者能够在受害者的服务器上远程执行代码。这两个漏洞都是一系列攻击变体的组成部分,这些变体以不同的 ThinkPHP 组件为目标,自 2018 年发现最早的攻击媒介以来,数年间不断显露着踪迹。
观察到漏洞利用企图
通过 Akamai App & API Protector检测和记录的攻击行为试图利用这些 CVE,从中国境内遭受入侵的服务器下载一个名为“public.txt”的文件。这一新的恶意文件随后将以“roeter.php”名称保存在受害者的系统上,但我们认为这应该是“router”一词的错误拼写(图 1)。
下载的这个文本文件包含一个经过混淆处理的 Web shell 版本,这是用于执行远程服务器控制的一个服务器端后门脚本。该 Web shell 代码使用混淆技术(具体来说是基本的 ROT13 转换),生成一条冗长的十六进制字符串(图 2)。 有趣的是,攻击者选择了一个非常简单的密码“admin”来访问该 Web shell。
攻击源自与“Zenlayer”云服务提供商 (ASN 21859) 托管的服务器关联的各种 IP 地址,主要位于中国香港特别行政区。在对托管后门代码的服务器进行简要检查之后,我们发现它也感染了相同的 Web shell(图 3)。
这表示该服务器可能成为了攻击者基础架构中的另一个节点。这种方法可以帮助降低运营成本,更重要的是可以混淆归因,使执法部门更难做出关闭服务器的决定,因为他们不能简单地要求 ISP 关闭合法企业的生产服务器了事。
Dama Web shell
该 Web shell 展现出了先进的功能,例如允许执行文件编辑、删除等操作的文件系统导航,以及用于达到混淆目的的时间戳修改。尽管西欧和东欧的攻击者使用英文版 Web shell(例如, WSO-NG Web shell)的情况也很常见,但这个 shell 却因其用户界面源于中国而尤为显眼(图 4)。
除了上述先进的机制外,Dama 还方便了将文件上传到服务器并收集关键的技术系统数据,包括精确的操作系统版本和 PHP 信息,这有助于找到确切的权限升级漏洞(图 5)。
事情还不止于此。后续的漏洞利用功能包括网络端口扫描,以及访问现有的数据库和服务器数据。此外,Web shell 还提供了不同的权限升级方法,例如 绕过被禁用的敏感 PHP 功能,以避开 PHP 沙盒并在服务器上执行 shell 命令。
它还能利用 Windows 任务调度器来重新配置 WMI,并添加高权限用户。尽管具有用于直接代码执行的 PHP 解释程序,但明显缺乏对用于执行直接操作系统 shell 命令的命令行接口 (CLI) 的支持,鉴于其广泛的功能,这令人感到惊讶。
利用 App & API Protector 进行抵御
我们强烈建议将 ThinkPHP 升级到最新版本,目前为 8.0 版。
鉴于很难找出易受这些 CVE 漏洞攻击的所有资产,自行修补也不太可行,我们强烈推荐部署 App & API Protector 及其自适应安全引擎,以降低 ThinkPHP CVE 所带来的风险。
如果您已在使用 自适应安全引擎,则可以将 Web 平台攻击组操作配置为“拒绝”以增强安全保护,从而轻松消除此类风险。或者,客户也可以选择将规则 3000189(“ThinkPHP RCE (CVE-2018-20062)”)单独设置为“拒绝”。
总结
这个 Web shell 是一日漏洞的另一个示例,尽管这些漏洞早已曝光,但攻击者仍在将其作为目标并屡屡得手。这突显了企业在识别易受攻击的资产以及维护有效的补丁管理流程方面,一直面临着长期挑战。
使用中文的攻击者最近发起了攻击,这凸显了他们一直在使用成熟的 Web shell,其目的在于以先进的手段对受害者进行控制。有趣的是,并非所有成为目标的客户都在使用 ThinkPHP,这表明攻击者可能在不分青红皂白地针对各类系统发起攻击。
这是另一个有趣的两面性,并且最近在变得愈加普遍。也就是说,攻击在某些方面具有高度复杂性(例如,技术方面的混淆控制),而在其他方面几乎可以说是非常随意(例如,不支持 CLI)。随着越来越多的技术进步不断涌现,我们很可能会看到这种差距在继续扩大,因为尽管技术非常先进,但并不一定意味着背后的攻击者也很高明。这并不是说 Dama Web shell 的创造者水平不高,而是对行业变化的一种整个评价。
由于我们的客户受到保护,没有受到这些攻击企图的影响,因此我们无法完全确定攻击者的最终意图。但依据我们的经验,他们的目标可能包括:将受害者系统纳入到攻击基础架构以发起其他攻击、将服务器添加到有效的分布式拒绝服务 (DDoS) 或加密 僵尸网络 ,执行 勒索软件 或勒索攻击,或者执行 横向移动以收集企业的相关情报。
关注最新动态
Akamai 安全情报组将继续监控并抵御 Dama Web shell 等威胁,并向整个社区广泛发布我们的发现。如需了解实时更新,请关注我们的 微信公众号 。