攻击者经常利用易受攻击的插件来破坏 WordPress 网站并将访问者重定向到垃圾邮件和诈骗网站。这是一个持续多年的运动。有效负载域会定期更换和更新,但目标大致相同:诱使毫无戒心的用户点击恶意链接以传播广告软件并将虚假广告推送到受害者的桌面上。
此 WordPress hack 的最新变体涉及以下域:
代码语言:javascript复制specialadves[.]com
如果您的网站将访问者重定向到看起来像这样的页面,那么您的网站可能会受到威胁:
在今天的帖子中,我们将回顾如何从您的 WordPress 网站中删除 specialadves 恶意软件。这种妥协有一些变体,我们将在这里尽可能多地涵盖它们。
免责声明: 在进行任何手动更改之前,请务必对您的网站进行完整备份!这包括文件和数据库!这样,如果出现故障或未正确删除恶意软件,您就可以依赖某些东西。
Webroot 和上传中的后门
您需要特别注意一些文件,即:
代码语言:javascript复制./wp-blog-post.php
./wp-blockdown.php
./wp-content/uploads/wp-blockdown.php
。/_一种
wp-blockdown.php后门看起来像这样:
并且伪造的_a文件应具有以下内容:
从网站文件系统中清除或删除文件。
wp-blog-post 脚本将负责向数据库注入垃圾 JavaScript 内容:
所以一定要摆脱这个文件。
如果您的网站上有安全插件,它可能包含核心 WordPress 文件完整性检查。请务必检查报告中列出的任何其他添加或修改的文件。
修改./index.php
我们已经看到一些网站在 WordPress webroot的主./index.php文件的顶部附加了注入的 JavaScript :
它引用了伪造的第三方网站上的一些混淆的 JavaScript:
我们可以转换文件底部的十六进制值,看看它在做什么:
如您所见,它引用了相同的虚假域,除了这次加载位于其服务器上的a.php的有效负载,执行重定向。
从索引文件的顶部移除注入的 JS,以防止发生重定向。
核心文件中的恶意包含
此外,这种注入的一些变体我们已经看到以下 WordPress 核心文件被修改:
代码语言:javascript复制./wp-blog-header.php
请注意第 13 行在附加包含之前的大空间。这是为了防止在未启用自动换行的情况下在文本编辑器中看到它,因此请确保已将其打开,以便查看和删除它!
.txt文件本身也包含重定向到同一个虚假域的代码:
应该从tmp目录中删除.txt文件,但是只要从核心文件中删除对它的引用,就足以停止重定向。
此 hack 的最新变体具有此修改文件的不同(并且更明显是恶意)变体:
您可以用从 WordPress 存储库获得的新副本替换此文件,或者只是手动从文件中删除恶意包含。
附加的混淆 JavaScript
这种感染的一些变体也会影响以下核心文件:
代码语言:javascript复制./wp-includes/js/wp-emoji-release.min.js
它使用非常常见的混淆将数字转换为文本字符串
代码语言:javascript复制评估(字符串.fromCharCode(
这次引用了一个不同的(但相关的)域:
代码语言:javascript复制storerightdesicion[.]com
但仍涉及相同的重定向。应删除文件末尾的混淆内容,或者您可以将文件完全替换为新副本。
数据库注入
同样的伪造 JavaScript 也经常被注入到数据库中。往往会有很多注入,因此最简单的删除方法是使用 PHPMyAdmin 或 Adminer 通过简单的搜索/替换 SQL 命令:
代码语言:javascript复制UPDATE wp_posts SET post_content = REPLACE ( post_content, '<script src='https://ads[.]specialadves[.]com/ping/?ton.js' type='text/javascript'></script>', '');
请务必在运行之前删除我在命令中插入的 [] 括号:
如果您的网站使用wp_以外的数据库前缀,或者如果注入的 JavaScript 略有不同,那么您可以相应地调整 SQL 命令,只需确保通过在上面的示例中放置反斜杠来转义任何撇号。
后门喷油器
位于主题的header.php文件顶部的注入可能如下所示:
这是一个感染文件。如果给定正确的参数,它将重新感染网站,因此请务必删除注入文件顶部的代码(在第一个开始和结束 PHP 标记之间)。
确保保留主题文件中的合法内容原封不动!
虚假管理员创建者
一些受影响的网站在其活动主题的functions.php文件中注入了一个虚假的管理员创建者。它看起来像这样:
删除包含base64_decode的混淆行,并确保检查您的管理员列表中是否有任何不熟悉的帐户。有时攻击者能够隐藏管理员帐户,因此您可能需要使用 PHPMyAdmin 或 Adminer手动检查wp_users表。
综上所述
总结一下到目前为止我们已经完成的内容:
- 替换任何修改过的 WordPress 核心文件,或者全部替换它们
- 检查您的主题的标题和函数文件,或任何其他最近修改的内容并备份
- 从数据库中删除注入的 JavaScript
- 删除任何虚假管理员用户
当然,还要确保您网站上的所有软件都是最新的并已打补丁!您还需要考虑对 WordPress 管理员仪表板进行一些基本的强化,以帮助防止再次感染,当然还需要更新所有管理员密码和其他重要的网站密码。