我们最近调查了一起WordPress网站案件,客户报告其网站上持续出现虚假的弹窗通知。这些警告敦促他们更新浏览器(Chrome 或 Firefox),尽管他们的软件已经是最新版本。
此案的特殊之处在于其针对性。这些虚假警报在网站的公开前端对普通访客不可见,仅在网站所有者登录到 wp-admin 后台时才会出现。
观察结果
在调查过程中,我们发现了一个名为 Modern Recent Posts 的恶意插件,它伪装成一个无害的小工具插件。实际上,它会从一个外部域名下载并执行远程 JavaScript。
过去,我们曾见过类似的社会工程学攻击浪潮,例如虚假的 Java 更新、虚假的 Cloudflare CAPTCHA 验证和 Windows 系统警报。然而,这次针对 wp-admin 用户的新活动利用恶意插件进行“公开隐藏”。
支持此次活动的恶意域名 persistancejs[.]store 目前已在 28 个网站上被检测到,表明这是一个活跃且正在兴起的安全威胁。
入侵指标
感染后会留下几个明显的迹象:
- 一个名为 “Modern Recent Posts” 的插件在所有者不知情的情况下被安装。
- 管理页面中被注入了恶意脚本。
- 最重要的入侵指标是用于获取恶意 JavaScript 的域名:
hxxps://persistancejs[.]store/jsplug/plugin[.]php
恶意软件分析
以下是该虚假插件内部恶意行为的技术分解:
1. 定向投递系统
该恶意软件被设计得非常隐蔽。它不希望将载荷浪费在机器人、爬虫或非 Windows 用户(无法运行其投放的 .exe 文件)身上。
- 它使用一个特定的函数
is_windows_ua来检查访问者的 User-Agent 字符串,明确寻找 “Windows”、“Win32” 或 “Win64”。 - 接着,注入逻辑将此检查与 WordPress 权限相结合。它确保载荷仅在以下条件满足时触发:
- 用户是管理员(
current_user_can(‘manage_options’))。 - 用户当前在仪表盘上(
is_admin())。 - 用户使用的是 Windows 机器。
- 用户是管理员(
- 如果这些条件都满足,它就会执行一个 Base64 编码的 JavaScript 载荷。
2. 从外部域名远程下载载荷
这是插件中最重要的恶意功能。插件会将以下信息发送给攻击者:
- 网站主机名
- 管理员用户名
然后,它从攻击者的服务器下载一个 Base64 编码的 JavaScript 载荷,并将此脚本注入到管理仪表板中。攻击者提供的任何代码都将在浏览器中以管理员权限运行。这正是虚假浏览器更新弹窗的显示方式。
3. 虚假 Java 更新载荷
该脚本还会生成一个虚假的 Java 更新弹窗,其设计旨在显得真实且紧急。
一旦被浏览器解码,脚本会注入一个高优先级的覆盖层来屏蔽屏幕。它使用经典的社会工程学语言,警告“关键的 Java 更新是必需的”,并声称环境“严重过时”以防止“安全漏洞”。如果管理员点击“立即更新”按钮,脚本会强制从远程恶意域名 secure-java-update[.]com 下载文件。
4. 持久化和自动更新机制
该恶意软件包含一个关键的后端功能,用于处理远程更新和自毁。
- 它监听一个特殊的 URL 参数
?upd=1。如果攻击者触发此 URL,该插件会递归地删除自己的本地文件和目录,然后立即从命令与控制服务器persistancejs[.]store下载一份全新的副本。 - 此功能允许攻击者更新其恶意软件版本、切换虚假警报的类型(例如,从 Java 更新切换到 Chrome 更新),或在检测后有效地清除痕迹并重新安装后门。
对受影响网站的影响
此恶意软件的影响是双重的。首先,它通过安装后门来危害 WordPress 环境,确保即使密码被更改,攻击者也能保持对网站的访问权限。
其次,且更为危险的是,它针对管理员的物理设备。通过诱骗管理员点击“Java 更新”或“浏览器更新”按钮,攻击者旨在用远程访问木马、勒索软件或信息窃取程序感染其本地计算机。这可能导致管理员的个人数据及其管理的任何其他网站完全失陷。
修复与预防建议
- 移除恶意文件:删除任何您或您的开发者不认识的插件目录。
- 审计用户:移除帮助帐户(help account)和其他任何可疑的管理员。
- 重置凭证:更改所有 WordPress、FTP、主机和数据库密码。
- 扫描您的计算机:如果您或任何其他管理员点击了“立即更新”按钮,请假设本地计算机已被入侵。在设备上运行完整的防病毒和恶意软件扫描。
- 更新所有组件:将 WordPress 核心、插件和主题更新到最新版本。
- 监控对外流量:寻找与未知或可疑域名的连接。这需要查看服务器日志。
- 使用 WAF:Web 应用程序防火墙可以帮助阻止与已知 C2 服务器的通信,并防止恶意插件的初始上传。
总结
此活动展示了对高价值目标——WordPress 管理员的高度集中攻击。通过在 wp-admin 区域内部署虚假的浏览器更新弹窗,攻击者利用与安全更新相关的信任和紧迫感,实现了对用户本地机器的破坏性入侵。
始终要验证任何关键更新的来源。真正的软件更新将来自操作系统或官方应用程序本身,绝不会来自网站上未经请求的 HTML 覆盖层。FINISHED jZsKZdINXrVc9QY8XQ5Ax/VQ59LoZjMc2NkvnBE5odBGVvclSodLCi9+eQkqa3DIqUMeFGeyt6tlLabgTJraDA8rkaEcyouN3JNIQsIT9Uh7S0EozZqza0zR0J14FU6VyMeU2tnhQcpTamQYldJx0SApfO90dNXNg/5PSHfVbQk=