在近期清理一个被入侵的 WordPress 网站时,我们发现了两个不同的恶意文件,旨在静默操纵管理员账户。攻击者通常会注入此类后门,以维持对网站的持久访问,即使他们的其他恶意软件被检测和清除。这些文件被伪装成普通的 WordPress 组件,但其功能却揭示了其真实意图。
我们发现了什么?
我们发现了两个高度可疑的文件,它们立刻引起了我们的注意。每一个都在维持攻击者的未授权访问中扮演了关键角色。
./wp-content/plugins/DebugMaster/DebugMaster.php:该文件试图伪装成一个合法的插件,自称“DebugMaster Pro”。然而,其内容被严重混淆,显然是恶意的。./wp-user.php:该文件被发现伪装成 WordPress 核心文件。它更简单,但同样危险。
恶意软件在做什么?
这两个文件都有一个主要目标:确保攻击者始终能以管理员身份返回 WordPress 网站。
DebugMaster.php文件是一个复杂的隐蔽后门。它创建了一个秘密的管理员用户。wp-user.php文件更简单但更具侵略性。它确保一个使用已知密码的特定管理员用户始终存在。如果你试图删除这个用户,它就会简单地重新创建!
这两个文件共同创建了一个用于持久访问的健壮系统,允许攻击者控制网站,可能注入垃圾信息、重定向访问者或窃取信息。
恶意软件分析
1. 虚假插件:DebugMaster Pro
这个“DebugMaster Pro”插件伪装成合法的开发者工具,但其隐藏的功能会使用硬编码的凭据创建一个管理员用户。它还包括了从插件列表中隐藏自身以及向远程服务器发送窃取信息的代码。简而言之,它在假装无害的同时扮演了一个隐蔽后门的角色。
第一个文件伪装成带有虚假元数据的插件。然而,在文件的更深处,我们找到了负责创建新管理员账户的代码:
|
|
这解码为:检查是否存在用户名为“help”的用户。如果不存在,则创建该用户并分配一个随机密码和“administrator”角色。如果已存在,则确保其具有管理员权限。
这个简单的技巧允许攻击者通过伪装成一个可能被管理员忽略的插件来悄然潜入。
为了保持隐藏,该插件从插件列表中移除自身,并过滤用户查询以隐藏新创建的管理员账户:
|
|
2. 与命令与控制(C2)服务器通信
恶意软件将新管理员账户的详细信息发送到攻击者控制的外部服务器。
|
|
这解码为:它将生成的用户名、密码、电子邮件和服务器 IP 编码为 JSON,然后进行 Base64 编码。接着,将这些信息发送到一个远程端点。端点 URL 同样使用 Base64 编码进行混淆,解码后类似于 hxxps://kickstar-xbloom[.]info/collect[.]php。这使得攻击者能立即知道新管理员用户的凭据。
该域名目前已被安全厂商在 Virustotal 上屏蔽:VirusTotal 结果。
3. 为访问者注入恶意脚本并追踪管理员 IP
恶意软件将外部代码注入您的网站。这些脚本会为所有访问者加载,除非他们是管理员或其 IP 被恶意软件明确列入白名单。
|
|
4. 后门脚本 – wp-user.php
此文件的目标是维持一个特定的管理员账户。该文件在网站的根目录下被发现。
它检查现有的 WordPress 用户,如果发现用户名为“help”,它会删除该用户并使用攻击者选择的密码重新创建。否则,它就直接创建一个新的“help”管理员账户。这个逻辑确保了无论网站所有者是否删除账户或更改密码,攻击者始终拥有访问权限。即使尝试移除它,脚本也会在下一次执行时立即重新创建用户。
入侵指标
要检查您的网站是否受到此类恶意软件的影响,请注意以下迹象:
- 存在任何无法识别的文件或插件。在此案例中,是以下文件:
./wp-content/plugins/DebugMaster/DebugMaster.php./wp-user.php
- 新的/隐藏的管理员用户。
- 删除后重新创建的无法识别的管理员账户。
恶意软件的影响
两个文件都会创建或重新创建管理员级别的账户。这两个文件的设计确保即使您尝试清理,恶意用户或代码也可能重新出现,使得在没有专家帮助的情况下完全恢复非常困难。
该文件保持了隐蔽的持久性。插件从插件列表中隐藏自身,并将生成的凭据(用户名、密码、IP、网站 URL)发送到攻击者控制的端点。
如何清理和保护?
- 删除恶意文件:删除
DebugMaster插件目录和wp-user.php文件。 - 审计用户:移除
help账户以及任何其他可疑的管理员。 - 重置凭据:更改所有 WordPress、FTP、主机和数据库的密码。
- 更新所有内容:将 WordPress 核心、插件和主题修补到最新版本。
- 监控出站流量:检查连接到未知或可疑域名的连接。这需要查看服务器日志。
总结!
这两个后门展示了攻击者如何分层使用持久化机制。DebugMaster 插件是隐蔽的,它外泄凭据并交付外部有效载荷,而 wp-user.php 则简单地确保了一个硬编码的管理员账户始终存在。
它们共同在网站上创建了一个有弹性的立足点。清理工作不仅需要删除这些文件,还需要审计账户、重置凭据并加强网站防护以防止再次感染。