最近,在Sucuri,我们调查了一起客户报告的恶意软件案例。他们的WordPress网站被入侵,攻击者安装了一个虚假插件。分析发现,这是一个旨在创建持久且隐藏管理员账户的复杂后门插件。
我们发现了什么?
感染位于WordPress插件目录内:
./wp-content/plugins/wp-compat/wp-compat.php
该插件声称修复了与新版WordPress和PHP的兼容性问题。但实际上,它会静默创建一个管理员用户,并使其在WordPress管理后台面板中主动隐藏。
攻击向量与入侵指标
攻击者手动或通过编程方式将虚假插件上传到插件文件夹。由于它使用了一个看似合法的名称和元数据(WP Compatibility Patch),因此在表面化的插件审查中很容易被忽视。
一些关键的入侵指标:
- 一个名为
wp-compat的虚假插件文件夹。 - 一个可疑的管理员用户:
adminbackup。 - 邮箱地址:
adminbackup@wordpress.org。 - 存储在数据库中的选项:
_pre_user_id。
恶意软件分析
创建管理员用户
在每次页面加载时,它都会检查是否存在名为“adminbackup”的用户。如果该用户不存在,代码会创建他们。如果用户已存在但邮箱不同,插件会重置密码并更新邮箱地址。
从管理视图中隐藏用户
为了防止被发现,恶意软件使用了多个WordPress钩子来隐藏恶意用户。它会过滤掉管理仪表盘用户列表中的恶意管理员。然后,它会修改用户角色计数(例如,管理员数量)以使隐藏用户不那么明显。
阻止编辑和删除
为了保持持久性,恶意软件会阻止恶意账户被删除或编辑,并终止任何从管理面板删除该用户的尝试。
通过Cookie进行自毁开关检查
为了避免在插件列表中被发现,它会隐藏自身,因此即使插件处于活动状态,也不会在wp-admin的“插件”菜单下显示。
最后,恶意软件包含一个条件检查:如果设置了特定的cookie,则终止页面执行。这可能为攻击者充当自毁开关或确认机制。
恶意软件的影响
此恶意软件允许攻击者创建一个对网站拥有完全控制权的后门管理员用户,并在仪表盘中向其他管理员隐藏该用户。 即使删除用户或重置密码,它仍能保持存在,不仅如此,它还能避免在插件列表中可见。 如果未被发现,攻击者可以随时返回以重新感染网站、安装更多恶意载荷或窃取数据。
修复步骤
- 从插件目录中删除任何未使用的插件。
- 审查并移除任何你不认识的管理员用户。
- 更改所有密码。
- 使用像Sucuri这样的网站防火墙来阻挡未来的攻击和零日漏洞。
- 更新WordPress及所有插件。
结论
这个虚假插件有力地提醒了我们,恶意软件作者如何运用巧妙的策略在众目睽睽之下隐藏。攻击者精心融入了WordPress生态系统,并使用看似合法的元数据来避免怀疑。 如果你的WordPress网站行为异常,或者你注意到未知用户,最好进行彻底调查,并随时联系我们寻求帮助。