Chrome Dev Summit 2018 is happening now and streaming live on YouTube. Watch now.

Восстановление сайта после взлома с замаскированными ключевыми словами

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

Примечание. Если вы не можете точно определить, взломан ли ваш сайт, прочитайте сначала это руководство.

Оглавление

Идентификация этого типа взлома

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

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

Для начала с помощью инструмента Проблемы безопасности в Search Console проверьте, обнаружил ли сканер Google такие взломанные страницы на вашем сайте. Иногда их можно найти, если в окне Google Поиска ввести site:[your site] (после двоеточия укажите корневой URL своего веб-ресурса). Так вы увидите страницы сайта, которые проиндексированы Google, в том числе взломанные. Просмотрите несколько страниц с результатами поиска и проверьте, нет ли на них необычных URL. Если в Google Поиске взломанных страниц не обнаружилось, используйте те же запросы в другой поисковой системе. Другие поисковые системы могут показать взломанный контент, который удален из индекса Google. Вот пример таких страниц в результатах поиска:

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

Также может появиться сообщение о том, что страница не существует (например, ошибка 404). Однако это может не соответствовать действительности: хакеры вводят пользователей в заблуждение, создавая впечатление, что взломанная страница исчезла или работает нормально. Это делается с помощью маскировки контента. Чтобы выявить маскировку, введите URL страниц своего сайта в инструменте Просмотреть как Googlebot. Он позволяет увидеть ту или иную страницу так, как ее видит робот Google. Вот пример взломанной страницы:

Устранение последствий

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

Проверка файла .htaccess (3 этапа)

При этом виде взлома файл .htaccess используется для автоматического создания замаскированных страниц на сайте. Рекомендуем изучить основы работы с .htaccess на официальном сайте Apache, чтобы лучше понять, как взлом влияет на сайт.

Этап 1

Найдите на своем сайте файл .htaccess. Если вы не знаете, где он находится, и используете платформу для создания сайтов (например, WordPress, Joomla или Drupal), в поисковой системе введите запрос "как найти файл .htaccess" и укажите название платформы. Учтите, что таких файлов может быть несколько. Составьте список путей ко всем файлам .htaccess.

Примечание. Файлы .htaccess часто бывают скрытыми. При поиске убедитесь, что они отображаются.

Этап 2

Откройте файл .htaccess и просмотрите его содержание. В файле должна быть строка, которая выглядит примерно так:

  RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]

Переменные могут меняться. Вместо cj2fa и tobeornottobe могут быть любые сочетания букв или слов. Вам нужен файл PHP, указанный в этой строке.

Запишите название файла PHP, указанного в файле .htaccess. В этом примере он называется injected_file.php, но в вашем случае может быть другое название. Обычно это случайно подобранные слова, например horsekeys.php, potatolake.php и т. д. Вполне вероятно, что это вредоносный файл PHP, который нужно будет найти и удалить.

Если строка в файле .htaccess содержит подстроку RewriteRule и имя файла PHP, это ещё не значит, что файл поврежден. Проконсультируйтесь с опытными разработчиками на форумах для веб-мастеров, если вы не уверены.

Этап 3

Замените все файлы .htaccess исходной или стандартной версией. Чтобы найти ее, введите в поисковой системе запрос "файл .htaccess по умолчанию" и название платформы, на которой размещен ваш сайт. Если файлов .htaccess несколько, вам нужно найти исходную версию каждого из них и заменить ею поврежденные файлы.

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

Поиск и удаление других вредоносных файлов (5 этапов)

Выявление вредоносных файлов может оказаться сложным и занять несколько часов. Во время проверки файлов не спешите. Не забудьте создать их резервные копии. Чтобы узнать, как это сделать, введите в Google поисковый запрос "резервная копия сайта" и укажите название платформы, на которой размещен ваш веб-ресурс.

Этап 1

Если вы используете систему управления контентом (CMS), переустановите все основные файлы, которые применяются в ней, а также файлы, добавленные вами (темы, модули, плагины и т. д.). Таким образом вы избавитесь от взломанного контента. Чтобы узнать, как это сделать, введите в Google поисковый запрос "переустановка" и укажите название платформы, на которой размещен ваш веб-ресурс. Если у вас есть плагины, модули, расширения или темы, обязательно переустановите их.

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

Этап 2

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

Этап 3

Проверьте, не осталось ли вредоносных или взломанных файлов. Возможно, вы уже удалили их на предыдущих этапах. Однако рекомендуется выполнить описанные ниже действия на случай, если вы что-то пропустили.

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

  • Если вы уже перезагрузили файлы системы управления контентом, проверяйте только те файлы и папки, которые не использовались у вас по умолчанию. Таким образом можно исключить большую часть файлов PHP и оставить для анализа только некоторые из них.
  • Отсортируйте файлы сайта по дате изменения. Ищите те, которые были изменены в течение нескольких месяцев после взлома сайта.
  • Отсортируйте файлы на сайте по размеру. Ищите файлы подозрительно большого размера.

Этап 4

Составив список подозрительных файлов PHP, проверьте, взломаны они или нет. Если вы не знакомы с PHP, этот процесс может оказаться трудоемким. Предлагаем изучить документацию по этому языку. Но даже если вы совершенно незнакомы с программированием, вы можете найти базовые шаблоны, которые используются во вредоносных файлах.

Сначала в составленном вами списке подозрительных файлов найдите большие блоки текста с бессмысленным набором букв и цифр. Таким блокам обычно предшествуют функции PHP, например base64_decode, rot13, eval, strrev, gzinflate. Ниже приведен пример такого кода. Он может не содержать пробелов и переноса строки (благодаря этому он кажется короче, чем есть на самом деле).

<!--Hackers try to confuse webmasters by encoding malicious code into blocks of texts.
Be wary of unfamiliar code blocks like this.-->

base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));

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

Этап 5

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

Убедитесь, что на сайте нет вредоносных файлов

Удалив взломанные файлы, убедитесь, что все последствия хакерской атаки устранены. С помощью инструмента "Просмотреть как Googlebot" снова проверьте, есть ли на сайте найденные вами ранее страницы с бессмысленным текстом. Если вы видите статус "Не найдено", это с большой вероятностью означает, что все в порядке.

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

Как предотвратить повторный взлом?

Устранение уязвимостей на сайте – важный заключительный этап работы. Недавнее исследование показало, что 20% взломанных сайтов снова подвергаются атаке в течение суток. Прежде всего вам нужно понять, как именно был взломан ваш сайт. Начните с изучения этого руководства. Если прояснить ситуацию не удалось, выполняйте действия, перечисленные в контрольном списке ниже.

  • Регулярно обновляйте систему управления контентом, плагины, расширения и модули. Часто причиной взлома становится устаревшее программное обеспечение, на котором работает сайт. В некоторых системах управления контентом обновление выполняется автоматически.
  • Регулярно сканируйте свой компьютер. Для поиска уязвимостей и вредоносных программ используйте любой популярный антивирус.
  • Регулярно меняйте свои пароли. Периодическое изменение паролей к аккаунтам провайдера, FTP, системе управления контентом и т. д. снижает вероятность несанкционированного доступа к сайту. Пароль для каждого аккаунта должен быть надежным и уникальным.
  • Используйте двухфакторную аутентификацию везде, где это возможно: она усложнит проникновение для хакеров, даже если они украдут ваш пароль.
  • Есть немало надежных сервисов, которые помогут вам уберечь сайт от взлома. Воспользуйтесь их услугами.

Дополнительные ресурсы

Если вам по-прежнему не удается устранить проблемы на сайте, воспользуйтесь дополнительными ресурсами.

Эти инструменты просканируют ваш сайт и помогут найти проблемный контент. Google не связан ни с одним из них, кроме VirusTotal.

Вот несколько таких сервисов: Virus Total, Aw-snap.info, Sucuri Site Check, Quttera. Обратите внимание, что проверка этими сканерами не является абсолютной гарантией удаления проблемного контента.

Другие ресурсы Google, которые помогут вам устранить проблему:

Отсутствует инструмент, который, по вашему мнению, может быть полезен? Сообщите нам об этом.