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

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

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

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

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

Содержание:

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

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

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

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

3. Плагины

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чтобы защитить cайт от бэкдоров, обновляйте софт сразу после выхода новой версии и используйте методы защиты из Руководства по безопасности Вордпресс, например, скройте версию Вордпресс, скриптов и стилей.

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

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

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_sitemeta в списке таблиц слева и проверьте записи всех пользователей.

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

a:2:{i:0;s:7:«rhinori»;i:1;s:6:«hacker»;}

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

a:1:{i:0;s:7:«rhinori»;}

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

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

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

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

Быстрое решение

Одно из быстрых решений — установите плагин Anti-Malware Security and Brute-Force Firewall, и просканируйте им свой сайт.

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

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

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

Плагины

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

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

Sucuri Security

Плагин Sucuri Security

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

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

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

Бесплатную версию можно установить из репозитария Вордпресс.

Wordfence

Плагин Wordfence

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

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

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

iThemes Security

Плагин iThemes Security

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

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

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

All in One WP Security & Firewall

Плагин All in One WordPress Security & Firewall

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

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

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

Security Ninja

Плагин Security Ninja

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

Анализ сайта плагином Security Ninja

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

VaultPress

Плагин VaultPress

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

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

BulletProof Security

Плагин Bulletproof Security

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

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

Shield WordPress Security

Плагин Shield Security

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

Скачивается из репозитария Вордпресс.

Заключение

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

Применяйте эти правила, это надежно защитит сайт от взлома.

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

  1. Как проверить на уязвимости Вордпресс сайт
  2. Как проверить и вылечить от вирусов Вордпресс сайт
  3. 2 Примера взлома и лечения сайта
  4. Как найти следы взлома в логах сервера
  5. Как зайти в Консоль Вордпресс после взлома сайта
  6. Как очистить сайт от вирусов и удалить его из черных списков
  7. 7 Лучших плагинов безопасности Вордпресс

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

Оставьте комментарий

Do NOT follow this link or you will be banned from the site!