Вирус Wp-vcd Malware — диагностика и лечение
В 2017 году на разных сайтах появились сообщения о вирусе, который атакует сайты под управлением WordPress.
Тогда вирус использовал различные уязвимости в плагинах WordPress.
Но, уязвимости закрыли, некоторые плагины убрали из официального репозитория WordPress и в срочном порядке были выпущены обновления безопасности для действующих плагинов. И в принципе, проблему решили. Но, не надолго. Вирус вдруг снова появился и продолжает наводить ужас на владельцев сайтов.
Сегодня вирус внедряется в ключевые файлы сайта и вставляет свой include для включения зловредного кода в PHP-файлы WordPress.
Основная причина заражения сегодня — это установка плагинов и шаблонов WordPress из неофициальных источников. Др. словами, установка шаблонов скачанных из паблика.
Полный отчет от Wordfence (2019)
WP-VCD whitepaper от Mikey Veenstra. Редактирование Sean Murphy и Ramuel Gall.
На что способен вирус Wp-vcd?
- Вирус создает еще одного, но скрытого админа. Таким образом, на сайте создается скрытый вход, через который злоумышленники проникают в админку сайта.
- Внедрение спама на зараженных сайтах.
- Замена контента и ссылок на сайте.
- Внедрение кода в активные и неактивные шаблоны WordPress.
Возможные последствия от заражения
- Хостинг уведомляет о наличии вируса на сайте
- Увеличение нагрузки на хостинг
- Появление еще одного админа
- Изменения в контенте
- Появление рекламных баннеров и ссылок. Например, могут появляться всплывающие уведомления пользователям перешедшим из поисковых систем.
- Редиректы на др. сайты
- В кабинетах вебмастера появились сообщения о наличии вируса.
- Просадка в поисковой выдаче — страницы ушли из ТОПа.
Как диагностировать заражение
- Проверяйте сообщения на хостинге — на какие зараженные файлы указывает хостинг.
- Самостоятельно проверьте файлы сайта (об этом дальше).
- Регулярно мониторьте сайт, его позиции, поведенческие факторы, посещение и т.д.
- Добавьте свой сайт в Яндекс вебмастер и в Search Console, чтобы вовремя получать важные уведомления о состоянии сайта.
Какие файлы нужно проверять и чистить?
Удалите немедленно на своем сайте шаблоны и плагины WordPress скачанные из паблика (из открытых источников) и которые могут быть причиной заражения.
После этого выполните следующие рекомендации:
Лечение WordPress
Используя FTP или файловый менеджер хостинга перейдите в корень установки WordPress, в папку /wp-includes/
Обратите внимание на следующие файлы:
Если вы у себя видите файлы, которые внизу на скриншоте обведены красным, я Вас поздравляю — Ваш сайт заражен!
Но, не стоит сразу выпивать весь флакон успокоительного или сердечного, решение вашей проблемы есть и мы пошагово его рассмотрим.
1. Откройте файл post.php — это родной файл WordPress, но с него все и начинается.
Вы должны удалить этот код и сохранить файл:
В первой строке файла должно остаться:
<?php
2.Удалите эти файлы: wp-feed.php, wp-tmp.php, wp-vcd.php
Лечение шаблонов WordPress
В каждом шаблоне, который присутствует в папке /wp-content/themes/ вы должны открыть файл functions.php
Вот пример начало кода темы WordPress по умолчанию:
<?php
/**
* Twenty Nineteen functions and definitions
*
* @link https://developer.wordpress.org/themes/basics/theme-functions/
*
* @package WordPress
* @subpackage Twenty_Nineteen
* @since 1.0.0
*/
/**
* Twenty Nineteen only works in WordPress 4.7 or later.
*/
В зараженной теме перед этим фрагментом будет большой кусок чужого кода. Ваша задача — этот код удалить. Вот ссылка на код вируса в файле functions.php.
В шаблоне или плагине, который был скачан из паблика может присутствовать файл class.theme-modules.php. Его необходимо удалить. Вообще, лучше полностью удалить сомнительные шаблоны и плагины.
Проверка Базы данных — скрытый админ
Чтобы спать спокойно, рекомендую проверить базу данных сайта на наличие скрытого администратора.
В админке, в разделе Пользователи, как правило мы не увидим скрытого админа. Но, на его наличие может указывать счетчик админов во вкладке Администраторы. Например, цифра будет 2, хотя настоящий админ один. А может быть, что цифра будет 1, хотя админов 2.
На скриншоте один админ, а в БД их 2:
В любом случае, нужно проверять Базу данных.
Для этого перейдите в phpmyadmin на вашем хостинге. Откройте нужную базу данных, перейдите на вкладку SQL и выполните следующий запрос:
SELECT u.ID, u.user_login
FROM wp_users u, wp_usermeta um
WHERE u.ID = um.user_id
AND um.meta_key = 'wp_capabilities'
AND um.meta_value LIKE '%administrator%';
В результате выполнения этого запроса вам будут показаны все пользователи, которые имеют права Администратора.
Пользователь с ID 1 — это вы. А второго, у которого могут быть разные ID можете удалить. Чтобы удалить пользователя, отметьте его и нажмите на красный крестик ниже.
Если после этой операции, через некоторое время снова появился скрытый админ, значит у вас в файлах темы есть чужой код, который инициирует появление скрытого админа. Удалите сначала этот код, потом удалите скрытого админа.
Профилактика заражения вирусом Wp-vcd
- Пользуйтесь хостингом с функцией изоляции сайтов друг от друга.
- Регулярно обновляйте CMS WordPress, шаблоны и плагины WordPress.
- Устанавливайте шаблоны и плагины WordPress из официальных источников.
- Для теста шаблонов и плагинов взятых из открытых источников используйте локальный вебсервер, например OpenServer.
Во время написания этой статьи, ни один пушистый сайт не пострадал.
Ваш сайт заразился вирусом?
Не позволяйте вирусам отнять Ваш онлайн-бизнес! Заразиться можно за 1 час, выпасть из поискового индекса за пару дней, а на восстановление уходит 1-6 месяцев. Вылечу ваш сайт, найду источники заражения, закрою дыры и дам советы по профилактике заражения.