Как найти и удалить бэкдор на Вордпресс сайте

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

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

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

Содержание:

Что такое бэкдор

  1. Как хакеры проникают на сайт
  1. Как найти и удалить вредоносный скрипт
  1. Быстрое решение
  1. Плагины для защиты от повторного заражения

Что такое бэкдор

Когда хакер находит способ для получения доступа к сайту и админской части сайта, не пользуясь обычной страницей входа (сайт.ru/wp-login.php), — это называется бэкдор (задняя дверь).

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

Обычно хакеры делают со взломанными сайтами что-нибудь из этого:

  • Добавляют себя в качестве скрытого администратора, или используют существующий аккаунт администратора
  • Исполняют код через браузер посетителя
  • Собирают личную информацию пользователей сайта для рассылки спама
  • Меняют контент сайта для своих целей, обычно спам или редирект на свои сайты
  • Рассылают спам со взломанного сайта под видом писем от владельца сайта

Когда хакер добавляtт файл в файловую структуру сайта, он маскируют его под обычный файл, называя его sunrise.phpphp5.php, user-wp.php, wp-config.zip или что-нибудь подобное. Файл с таким названием выглядит как один из стандартных файлов Вордпресс.

Некоторые плагины могут содержать файл sunrise.php, но этот файл должен находиться в папке плагина, а не в главных папках сайта, — wp-includes, wp-content/plugins, themes или uploads.

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

Как хакеры проникают на сайт

В основном хакеры попадают на сайты через уязвимости в ПО.

Ядро Вордпресс

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

Около 43% сайтов в Интернете работают на Вордпресс. Существует большое сообщество Вордпресс, которое помогает разработчикам тестировать и находить уязвимости до и после выпуска новой версии. Иногда непредвиденная уязвимость попадает в новую версию, тогда новая версия выходит с уязвимостью.

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

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

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

Темы и плагины

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

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

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

Сделайте бэкап

Если вы подозреваете, что ваш сайт был взломан, то перед тем как начинать поиск взлома сделайте полный бэкап сайта. Например, бесплатными плагинами All-in-One WP Migration или UpdraftPlus.

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

Как найти и удалить вредоносный скрипт

Первое, что вы можете сделать — поискать решение вашей проблемы в Яндексе или Гугле, или на блогах известных плагинов безопасности, например Wordfence или Sucuri, или на специальном сервисе Вордпресс, — WordPress Trac. На Вордпресс Трак вы можете найти проблему и возможное решение с Вордпресс, темами или плагинами, или создать новый тикет с вашей проблемой. Все сайты на английском.

Если эти сайты или Гугл / Яндекс не помогли, очистите кеш, удалите cookies и зайдите на сайт. Если сайт определяет вас как администратора, зайдите в другом браузере или в режиме Инкогнито.

Если вы видите сообщение, что подключение не защищено, это может быть знаком, что сайт взломан.

Ваше подключение не защищено

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

Если срок действия сертификата истек или он стал недействительным, то обновите его. Сертификат может стать недействительным по разным причинам, например, изменился стандарт шифрования, но сертификат использует предыдущий стандарт. Текущий стандарт — SHA3.

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

Еще одна проверка — скопируйте ссылку на главную страницу или какой-нибудь пост и вставьте ее в Фейсбук, ВКонтакт или мессенджер и дождитесь загрузки предпросмотра. Если вы видите какой-то спам в описании, значит, хакеры вставили его в скрипт шапки сайта.

Проверьте скрытых пользователей

После того, как вы проверили спам на всем сайте, проверьте пользователей в Пользователи — Все пользователи.

Список пользователей сайта
Проверьте пользователей сайта

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

Хакер может добавить себя не только в роли Администратора или Супер Администратора для мультисайта, но и назначить новому пользователю какую-то другую роль, поэтому проверьте всех пользователей сайта.

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

Проверьте файлы

Еще одно место, которое надо проверить — файлы сайта на сервере.

Зайдите на сервер через хостинг-панель или по FTP и сравните файлы, которые находятся на сервере с файлами в Кодексе Вордпресс. Если вы нашли файлы, которых там не должно быть, откройте их и посмотрите что в них находится.

Если вы видите код, который выглядит как что-нибудь вроде eval($_POST['цифры-буквы-символы']); или eval(base64_decode("цифры-буквы-символы"));, скорее всего, вы нашли бэкдор.

Хакеры часто используют эти функции:

  • base64
  • str_rot13
  • gzuncompress
  • eval
  • exec
  • create_function
  • system
  • assert
  • stripslashes
  • preg_replace (/e/)
  • move_uploaded_file

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

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

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

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

Реклама

Калькулятор ОСАГО

Простой способ выгодно купить полис

Поиск измененных файлов через SSH

Поиск измененных файлов — долгая и нудная работа, которую можно частично автоматизировать при помощи команд в SSH терминале.

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

Откройте терминал, который вы используете, например, Terminal для Маков или PuTTY для Windows, я использую встроенный терминал на хостинге, и введите такую строку:

find /путь/к/вашему/сайту -type f -name "*.php" -ctime -2

Эта команда проверит все PHP файлы, которые были изменены за последние 2 дня. Замените /путь/к/вашему/сайту на ваш путь. Также вы можете заменить .php на другое расширение.

Просмотрите результаты поиска, вы можете найти файлы, которые не изменяли.

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

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

После восстановления замените все пароли к аккаунтам администратора и пользователей, пароли к FTP и хостингу, ключи и соли в файле wp-config.php, и там же можно заменить пароль к базе данных и в приложении phpMyAdmin.

Если вы хотите найти бэкдор вручную, то заходите в нужную папку при помощи команды cd /путь/к/вашему/сайту/папка/. Замените /путь/к/вашему/сайту/папка/ на адрес папки, затем введите vi имя.php, чтобы просмотреть содержимое файла. Замените имя.php на нужное имя файла.

Теперь вы можете сравнить содержимое файла с содержимым файла свежей версии из репозитария Вордпресс. Если нужно, отредактируйте файл, после редакции наберите :wp для сохранения и выхода, или :q для выхода.

Чтобы удалить файл, наберите rm -rf имя.php. Замените имя.php на имя вашего файла.

Как найти скрытого админа

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

Зайдите в phpMyAdmin на хостинге и откройте базу данных. В списке слева кликните таблицу wp_users. В поле справа должны появиться все пользователи сайта.

Таблица wp_users

Если вы видите какого-то пользователя, которого не должно быть, нажмите кнопку Удалить. Если у вас Мультисайт, кликните wp_sitemeta в списке таблиц слева и проверьте записи всех пользователей.

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

a:2:{i:0;s:12:«sergeypetrov»;i:1;s:6:«hacker»;}

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

a:1:{i:0;s:12:«sergeypetrov»;}

Если у вас на сайте несколько аккаунтов, тогда удалите только часть, добавленную хакером: i:1;s:6:«hacker»;. Вместо hacker может быть другое имя, которое использует хакер.

Обратите внимание, что начало строки изменилось с  a:2: на a:1:. Это значает, что у вас 1 аккаунт администратора. Если у вас несколько администраторов, например, 2, то строка должна начинаться с  a:2:.

Переменная 12 в части  i:0;s:12: означает, что имя администратора состоит из 12 символов. Если вы захотите изменить ваше имя пользователя, то эта переменная должна соответствовать количеству символов в новом имени пользователя. Имя пользователя чувствительно к регистру.

После того, как вы удалили неизвестного пользователя, выберите Сохранить в выпадающем списке внизу страницы и нажмите Вперед.

Просканируйте сайт с помощью плагинов

Установите плагин Anti-Malware Security and Brute-Force Firewall, и просканируйте им сайт.

Сканер сайта плагина Anti-Malware Security and Brute-Force Firewall

Кроме этого плагина вы можете попробовать плагины NinjaScanner и Quttera Web Malware Scanner.

Он-лайн сервисы для проверки сайта

  • Google Transparency Report — проверка сайта в базе Google. Первый шаг, чтобы определить, был ли сайт взломан.
  • Unmask Parasites — проверяет, был ли сайт взломан и есть ли на сайте вредоносный код или спам.
  • WordPress Security Scan — проверяет основные уязвимости Вордпресс сайтов. Более глубокий анализ доступен по платной подписке.
  • Sucuri SiteCheck – проверяет сайт на наличие вредоносного софта, внесение сайта в черные списки (на данный момент 9 списков), ошибок и устаревшего ПО.
  • Norton Safe Web – сканер сайта от Norton, проверяет сайт на наличие вредоносного ПО.
  • VirusTotal – крутейший сервис для сканирования сайтов, использует более 50 разных сканеров — Касперского, Dr.Web, ESET, Yandex Safebrowsing и других. Можно просканировать сайт, IP адрес или файл.
  • Quttera – сканирует сайт на наличие вредоносного ПО.
  • WebSicherheit – сканирует сайт на наличие вредоносного ПО, вирусов, внедренных скриптов и так далее.
  • Pentest-Tools — еще один хороший сервис для проверки сайта на наличие заражения. В бесплатной версии доступен общий анализ сайта.
  • 2ip — проверяет на вирусы и включение в черные списки Яндекса и Гугла.

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

Еще один способ — проверить и вылечить сайт на платном сервисе.

Радикальный способ — переустановить Вордпресс или сбросить настройки по умолчанию.

Плагины защиты

Восстанавливать или лечить сайт всегда сложнее, чем заранее усилить безопасность сайта. Усилить защиту можно вручную, или при помощи плагинов.

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

Sucuri Security

Sucuri Security — лучший сервис защиты сайта. Они предлагают файрвол на уровне DNS, кеширование, подключение сайта к фирменному CDN и бесплатное лечение и удаление сайта из черных списков, если сайт был взломан.

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

Файрвол Sucuri
Файрвол Sucuri

Sucuri увеличивает производительность сайта, потому что забирает на свой сервер нагрузку по обработке вредоносного трафика. Ускоряет сайт кешированием и оптимизацией и копирует сайт на фирменный CDN Anycast. Сукури защищает сайт от SQL-инъекций, XSS атак, RCE, RFU, троянов, бэкдоров и всех других известных угроз. 

Wordfence

Один из самых известных и мощных плагинов безопасности. Wordfence может определять, что файлы были изменены и очищает сайт, если он был заражен. Защищает сайт от всех возможных типов угроз.

У плагина есть встроенный файрвол на уровне сайта и сканер. Плагин постоянно обновляется и имеет все последние исправления уязвимостей. В бесплатной версии база плагина обновляется с задержкой в 30 дней.

Работает с Мультисайтом, легко устанавливается, имеет большое количество настроек, которые подробно описаны. Есть бесплатная и премиум версии.

iThemes Security

iThemes Security может находить и очищать поврежденные файлы в несколько кликов, и защищает сайт от новых атак.

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

Также работает с Мультисайтом, устанавливается как обычно, большое количество настроек, есть бесплатная и платная версии.

All in One WP Security & Firewall

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

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

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

Security Ninja

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

Анализ сайта плагином Security Ninja
Проверка сайта на уязвимости Security Ninja

В платной версии добавляется сканер ядра, который сравнивает файлы вашей установки Вордпресс с оригинальными файлами на сайте Вордпресс, сканер сайта на наличие вредоносного ПО и облачный файрвол, в который добавляются IP, распространяющие вредоносное ПО и спам.

VaultPress

VaultPress защищает сайт от разнообразных угроз и сканирует ядро Вордпресс на изменения в файлах. Остальные файлы не сканирует.

В платной версии находится еще больше возможностей по защите сайта и функция бэкапа. Совместим с Мультисайтом, но каждый подсайт требует своей собственной лицензии.

BulletProof Security

Бесплатный плагин, который может сканировать файлы на наличие в них вредоносного ПО и помещать их в карантин, пока вы не решите, что с ними делать. Защищает сайт и имеет встроенный файрвол.

Совместим с Мультисайтом и прост в установке и настройке. В платной версии имеет защиту от спама и функции бэкапа и восстановления сайта.

Shield WordPress Security

Shield WordPress Security защищает сайт от всех последних угроз, имеет встроенный файрвол, защиту от спама и ограничения на авторизацию на странице входа на сайт. Хороший простой плагин, если вы не хотите тратить время на изучение более сложных плагинов.

Заключение

После того, как вы очистили сайт от вредоносного кода, его надо защитить от повторного заражения.

Используйте популярные темы и плагины, настройте автообновление и установите один из плагинов безопасности. Некоторые плагины безопасности могут сканировать сайт по расписанию и сообщать о подозрительных событиях на е-мейл. Я пользуюсь Sucuri Security.

Читайте также:

  1. Чек-лист: Что делать, если сайт взломали
  2. Как вылечить от вирусов Вордпресс сайт
  3. Как зайти в админку после взлома сайта
  4. Как найти следы взлома в логах сервера
  5. Как удалить сайт из черных списков

Надеюсь, статья была полезна. Оставляйте комментарии.

Ответить

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

Techbear

Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.

WordPress   WooCommerce   Membership   Elementor   ACF

Обновления блога

Subsription - Gray Footer
Techbear