Как найти бэкдор на взломанном сайте WordPress и исправить его

Опубликовано: 2022-03-15

Ваш сайт WordPress был взломан?

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

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

How to Find a Backdoor in a Hacked WordPress Site and Fix It

Как узнать, был ли взломан ваш сайт

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

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

Но что делать, если ваш сайт уже взломали?

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

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

И не забудьте закрыть заднюю дверь.

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

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

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

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

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

Как работают бэкдоры?

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

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

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

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

Где спрятаны бэкдоры?

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

  1. Тема WordPress, но, вероятно, не та, которую вы сейчас используете. Код в теме не перезаписывается при обновлении WordPress, поэтому это хорошее место для установки бэкдора. Вот почему мы рекомендуем удалить все неактивные темы.
  2. Плагины WordPress — еще одно хорошее место, чтобы скрыть бэкдор. Как и темы, они не перезаписываются обновлениями WordPress, и многие пользователи не хотят обновлять плагины.
  3. Папка загрузки может содержать сотни или тысячи медиафайлов, так что это еще одно хорошее место, чтобы спрятать бэкдор. Блоггеры почти никогда не проверяют его содержимое, потому что они просто загружают изображение, а затем используют его в публикации.
  4. Файл wp-config.php содержит конфиденциальную информацию, используемую для настройки WordPress. Это один из самых популярных файлов для хакеров.
  5. Папка wp-includes содержит файлы PHP, необходимые для правильной работы WordPress. Это еще одно место, где мы находим бэкдоры, потому что большинство владельцев веб-сайтов не проверяют, что находится в папке.

Примеры бэкдоров, которые мы нашли

Вот несколько примеров того, как хакеры загружали бэкдоры. На одном сайте, который мы подчистили, бэкдор находился в папке wp-includes . Файл назывался wp-user.php , что выглядит достаточно невинно, но на самом деле этот файл не существует в обычной установке WordPress.

В другом случае мы нашли файл PHP с именем hello.php в папке загрузок. Он был замаскирован под плагин Hello Dolly. Странно то, что хакер поместил его в папку для загрузки, а не в папку с плагинами.

Мы также обнаружили бэкдоры, которые не используют расширение файла .php . Одним из примеров был файл с именем wp-content.old.tmp , и мы также обнаружили бэкдоры в файлах с расширением .zip .

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

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

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

Как найти бэкдор на взломанном сайте WordPress и исправить его

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

1. Сканирование на наличие потенциально вредоносного кода

Самый простой способ просканировать ваш сайт на наличие бэкдоров и уязвимостей — использовать плагин для сканирования вредоносных программ WordPress. Мы рекомендуем Securi, потому что он помог нам заблокировать 450 000 атак на WordPress за 3 месяца, в том числе 29 690 атак, связанных с бэкдором.

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

Узнайте больше в нашем руководстве о том, как сканировать ваш сайт WordPress на наличие потенциально вредоносного кода.

2. Удалите папку с вашими плагинами

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

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

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

Вам нужно будет использовать программное обеспечение для перехода к папке wp-content вашего веб-сайта. Оказавшись там, вы должны щелкнуть правой кнопкой мыши папку plugins и выбрать «Удалить».

Delete Your Plugins Folder

3. Удалите папку с темами

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

После того, как вы удалите папку plugin , просто выделите папку themes и удалите ее таким же образом.

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

Теперь вы можете переустанавливать любые темы, которые вам нужны.

4. Найдите в папке «Загрузки» файлы PHP

Далее вам следует просмотреть папку uploads и убедиться, что внутри нет файлов PHP.

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

Как и папки plugins и themes , вы найдете папку uploads в папке wp-content . Внутри папки вы найдете несколько папок для каждого года и месяца, в которые вы загрузили файлы. Вам нужно будет проверить каждую папку на наличие файлов PHP.

Некоторые FTP-клиенты предлагают инструменты для рекурсивного поиска в папке. Например, если вы используете FileZilla, вы можете щелкнуть папку правой кнопкой мыши и выбрать «Добавить файлы в очередь». Любые файлы, найденные в любых подкаталогах папки, будут добавлены в очередь на нижней панели.

Make Sure There Are No PHP Files in the Uploads Folder

Теперь вы можете прокручивать список в поисках файлов с расширением .php.

В качестве альтернативы опытные пользователи, знакомые с SSH, могут написать следующую команду:

find uploads -name "*.php" -print

5. Удалите файл .htaccess.

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

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

Delete the .htaccess File

Если по какой-то причине он не создается заново, вам следует перейти в « Настройки» » «Постоянные ссылки» в панели администратора WordPress. При нажатии кнопки «Сохранить изменения» будет сохранен новый файл .htaccess.

Recreate the .htaccess File if Necessary

6. Проверьте файл wp-config.php

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

Файл находится в корневой папке вашего сайта. Вы можете просмотреть содержимое файла, выбрав параметры «Открыть» или «Изменить» в вашем FTP-клиенте.

Look for Anything Out of Place in the wp-config.php File

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

Вы должны удалить любой код, который, как вы уверены, не принадлежит.

7. Восстановить резервную копию веб-сайта

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

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

Для получения дополнительной информации см. наше руководство для начинающих о том, как восстановить WordPress из резервной копии.

Как предотвратить взлом в будущем?

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

1. Регулярно делайте резервную копию вашего сайта

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

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

UpdraftPlus — один из лучших плагинов для резервного копирования WordPress. Это позволяет вам настроить расписание автоматического резервного копирования и поможет вам восстановить ваш сайт WordPress, если что-то случится.

Узнайте больше в нашем руководстве о том, как сделать резервную копию и восстановить свой сайт WordPress с помощью UpdraftPlus.

Back Up Your Website With UpdraftPlus

2. Установите плагин безопасности

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

Мы рекомендуем Sucuri, потому что они хороши в своем деле. Крупные издания, такие как CNN, USA Today, PC World, TechCrunch, The Next Web и другие, согласны с этим. Кроме того, мы сами полагаемся на него, чтобы обеспечить безопасность WPBeginner.

3. Сделайте вход в WordPress более безопасным

Также важно, чтобы ваш вход в WordPress был более безопасным. Лучший способ начать — принудительно использовать надежные пароли, когда пользователи создают учетную запись на вашем веб-сайте. Мы также рекомендуем вам начать использовать утилиту управления паролями, например 1Password.

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

Наконец, вы должны ограничить количество попыток входа в WordPress. WordPress позволяет пользователям вводить пароли столько раз, сколько они хотят. Блокировка пользователя после пяти неудачных попыток входа в систему значительно снизит вероятность того, что хакер сможет узнать ваши данные для входа.

4. Защитите свою админку WordPress

Защита административной области от несанкционированного доступа позволяет блокировать многие распространенные угрозы безопасности. У нас есть длинный список советов о том, как обеспечить безопасность администратора WordPress.

Например, вы можете защитить паролем каталог wp-admin. Это добавляет еще один уровень защиты наиболее важной точке входа на ваш сайт.

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

5. Отключить редакторы тем и плагинов

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

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

После этого они смогут распространять вредоносное ПО или запускать DDoS-атаки с вашего сайта WordPress.

Чтобы повысить безопасность WordPress, мы рекомендуем полностью удалить встроенные редакторы файлов.

6. Отключить выполнение PHP в определенных папках WordPress

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

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

7. Держите свой сайт в актуальном состоянии

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

Это означает, что если вы не обновляете WordPress, значит, вы используете программное обеспечение с известными уязвимостями безопасности. Хакеры могут искать веб-сайты со старой версией и использовать уязвимость для получения доступа.

Вот почему вы всегда должны использовать последнюю версию WordPress.

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

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

Если вам понравилась эта статья, подпишитесь на наш канал YouTube для видеоуроков по WordPress. Вы также можете найти нас в Twitter и Facebook.