文章总结: 本文深度解析了黑客通过供应链攻击劫持CDN资源,针对WordPress插件PushEngage等实施精准投毒的技术路径。攻击利用管理员会话劫持创建隐藏后门账户和WebShell,影响超120万站点。文章提供了服务器端文件排查、数据库审计、日志分析等具体清理指南,并强调重置安全密钥等关键操作。 综合评分: 87 文章分类: 供应链安全,WEB安全,应急响应,漏洞分析,安全运营
深度解析:黑客如何通过CDN劫持,悄无声息拿下百万级WP站点?
原创
Kit Chung Kit Chung
安全圈动向
2026年6月18日 08:33 广东
在小说阅读器读本章
去阅读
最近在搞 WordPress 的朋友们需要高度警惕了。
就在这几天,安全圈爆出了一个大瓜:Awesome Motive 旗下的三大头部插件——PushEngage、OptinMonster 和 TrustPulse 遭遇了供应链攻击。据安全机构 Sansec 估计,这波攻击的潜在影响范围超过了 120 万个站点!
这不是普通的撞库或者弱口令爆破,而是一次蓄谋已久、针对 CDN 静态资源的精准投毒。今天,我就带大家深度拆解一下这次攻击的技术路径,看看黑客是如何在我们的眼皮子底下玩了一出“暗度陈仓”,以及如果我们中招了,该如何彻底清理这些“毒瘤”。
🕵️♂️ 极其隐蔽的攻击链路:专门“钓”管理员的毒饵
这次攻击最让我拍案叫绝(当然也是最恶心)的地方在于它的触发机制。
通常的挂马或者投毒,往往是无差别攻击,普通访客一访问就触发了。但这次被篡改的 JavaScript 文件(比如 PushEngage 的 pushengage-web-sdk.js)极其狡猾。普通用户访问时,它就是一段正常的代码,什么都不会发生。 它在等什么?它在等带有高权限 Session 的 WordPress 管理员登录并加载这个页面。
一旦管理员在登录状态下触发了这段被污染的 JS 脚本,攻击链瞬间启动,整个过程分为四步:
-
会话劫持与权限滥用:
恶意脚本利用当前管理员的有效 Cookie/Session,绕过身份验证,直接以最高权限执行操作。
-
创建影子账户:
偷偷在后台创建一个受黑客控制的全新管理员账户(通常命名为
developer_api1或类似的dev_xxxxxx格式)。 -
植入隐形 Web Shell:
这是最核心的一步!脚本会自动安装一个恶意的 WordPress 插件。这个插件在代码层面做了 Hook,故意在 WordPress 的仪表盘中将自己隐藏起来,普通管理员在后台的“已安装插件”列表里根本看不到它。
-
数据外发:
最后,脚本会将新创建的账号密码和站点关键信息,悄悄发送到一个名为
tidio[.]cc的伪造域名(故意模仿合法的客服插件 tidio.com,极其容易在抓包分析时被忽略)。
技术解析:
这个被植入的隐藏插件,本质上就是一个 Web Shell。只要黑客知道特定的 URL,甚至都不需要登录刚才创建的影子账号,就能直接在你的服务器上执行任意 PHP 代码。这意味着他们可以脱裤、植入持久化后门、挂黑链、甚至注入信用卡侧录代码。
🔍 溯源疑云:黑客到底是怎么拿到钥匙的?
既然是被 CDN 下发的官方 JS 文件投毒,黑客是如何打穿官方防线的?这就涉及到了一个非常经典的安全短板。
目前,关于入口点,官方和安全机构两边各执一词:
-
PushEngage 官方的说法:
黑客并没有攻破他们的主程序或核心客户数据库,而是通过一个名为 UpdraftPlus 的 WordPress 备份插件的已知漏洞(CVE-2026-10795,CVSS 评分高达 8.1 的身份验证绕过漏洞),黑进了他们外围的营销网站服务器。
-
致命的越权获取:
虽然营销服务器不存客户数据,但上面存放着一把极其致命的钥匙——CDN API Key。黑客拿到这把钥匙后,直接通过 API 替换了 CDN(BunnyNet)节点上的正常 JS 文件。
-
Sansec 的质疑:
安全机构 Sansec 认为目前定论尚早,Awesome Motive 自己的主服务器依然有被入侵的嫌疑。
但不论真相如何,作为技术人员我们能学到两点:第一,永远不要在非核心服务器上硬编码或长期存放高权限的 API 密钥;第二,备份插件往往是权限最高的组件之一,出现高危漏洞(如 CVE-2026-10795)必须第一时间打补丁。
🛠️ 排查与清理指南:别看后台,直接查服务器!
如果你的站点在 6月12日到 6月14日 期间,运行过 PushEngage、OptinMonster 或 TrustPulse 这三个插件中的任何一个,请直接假设你已经中招。
划重点:千万别去 WordPress 的后台看有没有异常插件! 前面说了,这个后门是隐形的,看 Dashboard 只会被欺骗。你必须直接进行服务器端排查。
跟着我做以下几步硬核排查:
1. 检查文件系统
直接 SSH 连上服务器,或者通过宝塔/CPanel 的文件管理器,进入 wp-content/plugins 目录。如果你看到了以下两个文件夹中的任何一个,说明你 100% 中招了,立即彻底删除:
content-delivery-helperdatabase-optimizer
2. 查杀影子账户
进入你的 MySQL 数据库,查看 wp_users 表,或者使用 WP-CLI。查找并删除所有非你本人创建的管理员账号,重点排查名为 developer_api1 或前缀为 dev_ 的账号。
3. 审查 Web 访问日志
拉出 6月12日 至 6月14日(UTC时间)的 Nginx 或 Apache 访问日志。使用 grep 命令全局搜索以下特征:
- 向外网请求
tidio.cc(尤其是包含/cdn-cgi/路径的请求) - 目标 IP 为黑客的 C2 服务器:
84.201.6.54
4. 终极重置
如果你在上述任何一步中发现了异常,不要仅仅删除了事。因为黑客手握 Web Shell,很可能已经留下了更深层的持久化后门。你必须立刻、马上重置以下所有凭据:
-
所有 WordPress 管理员密码
-
数据库连接密码
-
所有的第三方 API Keys
-
最重要的一点:
重新生成
wp-config.php中的所有安全密钥。这可以强制使黑客现有的所有登录 Session 瞬间失效。
网络安全没有万无一失,供应链攻击更是防不胜防。我们能做的,就是保持敏感的嗅觉,定期审查服务器日志,以及严格控制权限边界。
兄弟们,赶紧去排查一下你们的服务器吧!如果觉得这篇技术拆解对你有帮助,别忘了点赞、在看、转发给身边做开发和运维的朋友,帮他们避个大坑!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安全圈动向 Kit Chung Kit Chung《深度解析:黑客如何通过CDN劫持,悄无声息拿下百万级WP站点?》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论