2

好吧,这有点问题:

我最近在一家 IT 公司(小型企业级别)找到了一份工作,他们做了一点 Web 开发。最初,老板让第 3 方自由开发者为一个大客户建立一个网站。他对他的服务不满意,所以他把它交给了我(管理网站,改变事情等)。我发现该网站已被列入垃圾邮件黑名单,这可能就是所谓的“StealRat 僵尸网络”。我做了一些阅读,发现它通常位于 wp-content/plugins 文件夹和/或不应该存在的 php 文件中。

在家里,我在一台 Linux 机器上,所以我可以 sftp 进入服务器(也使用 Filezilla 作为 GUI)。有人对我如何追踪这些损坏的文件并摆脱它有任何提示吗?我试过筛选文件,但我不知道我在找什么。任何帮助表示赞赏,因为这是一个主要问题。

4

2 回答 2

4

大多数损坏的 WordPress 网站都是由于恶意主题和/或插件造成的。

尝试在wp-content/themes 和 wp-content/plugins 目录中的 php 文件中搜索exec(base64_decode(和(因为这些是隐藏在恶意文件中的最常见的片段),这应该是一个好的开始。eval(

如果您知道网站何时被感染,您还可以尝试查找当时编辑或添加的文件(如果您可以访问服务器,则在 SSH 中很容易做到)

祝你好运,我最近不得不清理几个 WordPress 网站,这可不是小菜一碟。

于 2016-07-22T14:20:47.493 回答
4

首先,进行备份并测试从备份恢复操作是否有效!!

  1. 如果这是众所周知的恶意软件,您可能需要查看恶意软件扫描程序。一个免费的开源选项是rfxn 的 Maldet。我没有该项目的链接,我不知道它的工作情况如何,但它可以设置为每天扫描(cron 作业)并通过电子邮件发送报告,并且我认为它每天都会更新其签名。

  2. 通过禁用不希望使用常规代码的功能来强化您的 PHP 安装。使用此备忘单帮助您入门。

  3. 按创建日期对文件进行排序会很有帮助。如果网站有一段时间没有更改,则应仔细检查最近的文件。如果您知道感染发生的时间,那么一定要使用此信息来完善文件。

  4. 为了安全起见,您可以默认拒绝执行所有 PHP 文件,并且只允许那些在批准列表中的文件。请在此处查看我的答案以获取灵感。要建立一个“好”文件的白名单,我会启用auto_append_filephp.ini. 该文件在每个脚本会话( docs)结束时运行。在文件中,您可以使用该get_included_files函数获取所有已执行文件的列表。如果将此列表写入日志,然后浏览网站的每个未感染页面,您将获得所有合法 PHP 文件的列表。那是你的白名单!!拥有它后,使用auto_prepend_file(也设置在 中php.ini)阻止任何不属于该列表的 PHP。下次攻击者尝试运行 PHP 脚本时,auto_prepend_file总是先运行会阻止它。

  5. 每个软件都会增加您的攻击面,因此请卸载所有未使用的插件。更新所有正在使用的东西。如果可能,启用自动更新(我不熟悉 Wordpress,但这是一个普遍合理的安全提示)

于 2016-07-22T14:46:09.993 回答