← 返回信息流
AI 资讯Hacker News·3 小时前

从7KB文件到潜伏13年的后门:揭秘隐秘攻击

原标题:From a 7 KB file to a 13-year backdoor operation

速览

该资讯探讨了网络安全领域中一种极具隐蔽性的攻击模式,即攻击者如何利用极小的初始载荷(如7KB文件)植入系统。这种微小的入口随后被扩展为持续长达13年的后门操作,展示了高级持续性威胁(APT)的长期潜伏与演化能力。此类案例对理解现代网络攻击的隐蔽性和持久性具有重要警示意义。

AI 深度解读

从 7 KB 文件到 13 年的后门行动:WordPress 插件生态中的隐秘攻击链

背景

在 WordPress 插件目录(wp.org)的日常运营中,大多数插件的关闭(Closure)都是平淡无奇的:开发者停止维护,官方下架插件,列表消失,故事结束。安全研究人员使用的扫描工具(如 WP Beacon)每天都会标记出大量此类案例,通常只是匆匆一瞥便继续工作。

然而,近期一起看似普通的插件关闭事件打破了常规。wp.org 插件审核团队不仅关闭了一个名为 wp-advanced-math-captcha 的插件,还深入其代码库,删除了一个单一的 7 KB 二进制文件(.dat 文件)。通常情况下,常规的关闭操作不会触及随机的二进制文件。这一异常举动引起了安全研究人员的注意,进而揭开了一场长达 13 年、涉及 19 个账户、27 个插件的庞大后门行动。

核心内容

异常的起点:7 KB 的 .dat 文件

当 wp.org 审核团队对插件执行清理提交(cleanup commit)时,这通常是一个信号,表明该账户已被定性为实际的安全事件,而不仅仅是未维护的列表。在 wp-advanced-math-captcha 插件的清理过程中,审核团队删除了一个名为 wp-math-captcha.dat 的文件。

对于验证码(Captcha)插件而言,分发压缩二进制文件是不合常理的。研究人员对该文件进行了解码,发现它是由 zlib 压缩的,解码后直接输出了 PHP 代码。

/**
* SiteGuarding tools installer for customer's panel
* https://www.siteguarding.com
* Do not distribute or share.
*
* ver.: 1.7
* Date: 20 Mar 2020
*/

这段代码是一个“下载器”(Dropper)。它在安装时会将一个名为 siteguarding_tools.php 的后门写入 WordPress 根目录,向 apitest.siteguarding.com 发送站点 URL 以注册新感染,然后自我删除。这意味着,拥有 6000 个活跃安装的验证码插件,实际上在每一个运行它的网站上悄悄植入了远程访问工具。

连锁反应:从验证码到图像优化器

审核团队虽然删除了 .dat 文件,但插件中仍残留着未删除的文件 includes/advert-test-codes.php。该文件硬编码了一个目标插件:

define( 'ADVREC_TARGET_PLUGIN', 'image-optimizer-x' );

一个验证码插件在代码中指定图像优化器作为目标,这是一种强制安装原语,旨在将第二个插件推送到运行第一个插件的站点上。研究人员随即提取了 image-optimizer-x 插件进行分析。

image-optimizer-x 在 2025 年初发布时看似干净,但在 12 月 16 日增加了一个 981 行的文件 CMSPlughubAPI_LicenseValidator.php。该文件声称用于验证许可证和更新 GeoIP 数据库,但实际上包含两个硬编码的 RSA 私钥和一个通用的文件下载器,指向域名 api.cmsplughub.com

在免费 WordPress 插件中嵌入 RSA 私钥对于许可证验证毫无意义,私钥通常用于签名和解密。这里的目的只有一个:实现对主机的认证双向控制。表面上,这是两个来自不同开发者的独立插件,品牌 cmsplughub.comSiteGuarding 或验证码插件看似毫无关联。

关键转折:一次 DNS 查询

在深入阅读混淆代码之前,研究人员进行了一个简单的 DNS 查询,查看 cmsplughub.com 的托管位置。结果揭示了真相:这个伪装成无关公司的新域名,运行在与 SiteGuarding 完全相同的名称服务器(Nameservers)和 IP 地址上,主机名甚至直接显示为 server2.siteguarding.com

这次 DNS 查询是案件的关键转折点。如果没有它,这些“一次性”插件看起来就像是由两个陌生人开发的。

完整的后门目录:27 个插件与 13 年的历史

SiteGuarding 并非 wp.org 上的新面孔。验证码插件属于匿名账户 @lulub5592,图像优化器属于 @dalielsam,两者均无简介和网站。但解码出的下载器直接指向 siteguarding.com,研究人员因此找到了注册于 2013 年的原始账户 @siteguarding

通过查询数据库,研究人员发现 @siteguarding 账户下共有 27 个插件,全部在 2020 年 5 月 4 日至 6 月 5 日的一次集中行动中被 wp.org 关闭。研究人员构建了这 27 个插件的本地 Git 仓库,并搜索之前从 .dat 文件中提取的后门代码,发现了两个清晰的层级:

  1. 内联后门层级:15 个插件直接在内联代码中携带了完全相同的 siteguarding_tools.php 后门(MD5: 3eddf6d18214d0d612809efd585a2471)。其中包括 wp-admin-graphic-passwordwp-admin-protectionwp-badbot-protection 等“安全”类插件。安装这些插件即意味着获得远程访问工具。
  2. 静默回连层级:其余插件没有内联后门,但会定期向 siteguarding.com 回连,随时准备升级为更恶劣的攻击。这一层级包括旗舰插件 wp-antivirus-site-protection,拥有 4000+ 活跃安装量,占整个组合用户群的约 85%。这个从 2014 年第一天就开始回连的“杀毒软件”插件,是主要的受害目标。

三角闭环:一个操作者,三个账户

表面上看,@siteguarding(2013 年注册)、@lulub5592(2020 年注册)和 @dalielsam(2020 年注册)是三个不同的人。但证据链将它们紧密连接:

  • 验证码插件的 .dat 下载器植入了与 2013 年组合中 15 个插件完全相同的后门(相同 MD5),将 @lulub5592@siteguarding 联系起来。
  • 验证码插件硬编码 image-optimizer-x 为强制安装目标,将 @lulub5592@dalielsam 联系起来。
  • 图像优化器的 cmsplughub.com 运行在 SiteGuarding 自己的名称服务器和 IP 上,将 @dalielsam@siteguarding 联系起来。
  • 两个一次性账户均在 2026 年 4 月 7 日被 wp.org 关闭,此前它们在冬季进行了间隔 30 天的协调部署。

这是一个完美的闭环:三个账户,一个操作者,一套服务器,跨越 13 年。

系统性扫荡:寻找更多“一次性”插件

研究人员意识到,仅靠偶然发现两个“一次性”插件并非可靠的检测策略。为了确定是否存在更多未被发现的攻击者,研究人员对 Beacon 镜像中所有已关闭的插件进行了两次系统性扫荡。两次扫荡的结果都指向了 SiteGuarding。

扫荡 A 关注的是:wp.org 在关闭插件时,哪些插件被真正修复了?

正常的关闭只是隐藏列表,但有时审核团队会在关闭时刻强制推送代码更改。研究人员通过检查这些强制推送,进一步确认了攻击模式的普遍性和隐蔽性。

关键要点

  • 隐蔽的二进制载荷:攻击者利用 .dat 压缩二进制文件伪装成正常数据,绕过常规审查,仅在解压后才会暴露 PHP 后门代码。
  • 强制安装链:通过在一个插件中硬编码另一个插件的 slug,攻击者实现了插件间的强制联动安装,扩大了感染范围。
  • 基础设施复用:看似无关的品牌(如 cmsplughub.com)实际上
查看原文 →anchor.host