Главная / Создание и продвижение сайтов / САЙТОСТРОЕНИЕ / WordPress / Поиск и удаление вредоносного кода на сайте

Поиск и удаление вредоносного кода на сайте

О том, что сайт заражен, вебмастер узнает не всегда сразу, и не всегда – самостоятельно. Эту неприятную новость ему могут сообщить как посетители сайта, так и поисковые системы. Однако, не обязательно вредоносный код может оказаться опасным для посетителей. Распространенный случай использования java-скриптов – скрытое внедрение в код сайта «левых» ссылок, ведущих на сторонние ресурсы. Зачастую подобный код в шаблоне WordPress не удается обнаружить ни с помощью широко используемого плагина TAC, ни с помощью других подобных ему плагинов.

Как удалить ссылки в шаблоне WordPress от NewWpThemes я уже писал. Настало время разобраться с общим случаем «заболевания». Тем более, что подвернулся случай – мой блог с установленным по умолчанию шаблоном из паблика стал работать подозрительно медленно. Доходило до того, что перехода с одной внутренней страницы блога на другую приходилось ожидать по десять и более секунд, а процесс добавления записи просто превратился в мучения.

Так получилось, что подобные изменения в работе сайта были замечены мной после переноса хостером базы данных и файлов сайта на другой сервер. Техподдержка моего хостера (Majordomo) пошла мне на встречу и перенесла сайт в другое место еще раз, но ситуация не улучшилась. При этом ребята из техподдержки посоветовали просканировать сайт инструментом поиска вредоносного кода от сервиса AI-BOLIT.

ai-bolit-poisk-vredonosnogo-koda-01

А поскольку другой уважаемый онлайн-сервис (ahrefs.com) показал несколько подозрительных исходящих ссылок (пункт меню Исходящие ссылки – Ссылается на домены), которых на сайте быть не должно, я решил воспользоваться предложенным сканером, благо он бесплатный. О том, как найти вредоносный код на сайте с помощью AI-Bolit, и пойдет речь в этой статье.

Собственную последовательность действий изложу пошагово, для простоты восприятия. Но вначале – несколько слов о самом инструменте. Сканер AI-Bolit – обновляемый и развивающийся инструмент поиска вирусов, хакерских и вредоносных скриптов как на живом сайте (в папке хостинга), так и в скачанной на жесткий диск копии сайта. Создатели сканера утверждают, что его способности превосходят способности обычных антивирусов и сканеров. Работает AI-Bolit со всеми CMS, умеет определять файлы дорвеев, искать и находить код ссылочных бирж, редиректы и невидимые ссылки. С полным списком возможностей можно ознакомиться здесь, он реально впечатляет.

ai-bolit-poisk-vredonosnogo-koda-02

Итак, AI-Bolit — инструкция:

Теперь – о том, как пользоваться AI-Bolit на конкретном примере.

1. Скачиваем через FTP сайт на жесткий диск компьютера. Чем короче путь, тем лучше, пусть это будет папка в корне C:\mysite, следует также избегать наименований на кириллице, хотя с ними сканер тоже работает.

2. Для работы со сканером также понадобится php сборка под Windows – для выполнения скрипта. Скачиваем ее отсюда (именно эту версию рекомендует разработчик сканера) и устанавливаем ее в папку C:\PHP.

3. Скачиваем в любую папку на компьютере сам сканер в виде архива ai-bolit.zip, ссылка доступна с главной страницы онлайн-сервиса, периодически меняется, поэтому прямой ссылки не даю.

4. Распаковываем архив со скриптом и копируем из папки ai-bolit в корень папки с нашим сайтом 3 файла: ai-bolit.php, файл .aignore и файл .aurlignore. Если известна версия CMS, с которой работает ваш сайт, необходимо туда же скопировать из папки known_files сканера соответствующий файл.

5. Выставляем режим сканирования. В файле ai-bolit.php предусмотрено три варианта:

  • define(‘AI_EXPERT’, 0) – экспресс-сканирование (не рекомендуется)
  • define(‘AI_EXPERT’, 1) – экспертный режим (включен по умолчанию)
  • define(‘AI_EXPERT’, 2) – параноидальный режим сканирования.

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

6. Запускаем из папки со скопированным на диск сайтом файл ai-bolit.php через щелчок на нем правой кнопкой мыши и выбора строки Открыть с помощью – CLI. Если компонент CLI не доступен в меню, указываем на файл php.exe через диалог выбора программы для открытия файла. В дальнейшем ai-bolit.php будет запускаться просто по двойному щелчку мыши.

ai-bolit-poisk-vredonosnogo-koda-05

Запустившийся в черном DOS-окне процесс сканирования можно свернуть на панель задач и на некоторое время забыть о нем, т.к. поиск уязвимостей на сайте – процесс не быстрый. В моем случае (сайт на движке WordPress не более чем с полусотней записей и объемом 120 Мб понадобилось семь с половиной часов непрерывной работы.

ai-bolit-poisk-vredonosnogo-koda-06

По завершении сканирования окно с программой самостоятельно сворачивается, в папке с сайтом создается файл отчета AI-BOLIT-REPORT-дата-время.html, здесь же появляется и еще один файл AI-BOLIT-DOUBLECHECK.php со списком файлов с обнаруженными уязвимостями – для повторной проверки после исправления проблем.

ai-bolit-poisk-vredonosnogo-koda-03

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

ai-bolit-poisk-vredonosnogo-koda-04

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

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

8. Повторная проверка, использующая файл AI-BOLIT-DOUBLECHECK.php. Если нужно провести полную проверку сайта заново, следует удалить этот файл из папки с сайтом, но в случае с локальной проверкой сайта смысла в этом нет. AI-BOLIT-DOUBLECHECK.php позволяет сократить повторный и последующие, после исправления кода, проходы к проверке именно тех файлов, которые изначально были признаны потенциально опасными.

9. Замена найденных скриптом файлов на сервере их исправленными вариантами. Делается это вручную, пофайлово, через FTP. Удобно при этом пользоваться каким-либо FTP-менеджером, например, FileZilla. Я по старой привычке использую для этой цели Total Commander.

10. Наслаждаемся работающим сайтом без посторонних вредоносных скриптов и ссылок. Не забываем периодически проверять его AI-Bolit’ом.

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

 

Расскажите об этой статье в соцсетях:

5 комментариев

  1. Спасибо за ссылку. Хороший скрипт. Тоже ставил на ночь на скачанный в ноут сайт. Не потому, что у сайта имеются видимые проблемы, просто для профилактики.

  2. у меня была такая же история: заметил, что скорость генерации страницы значительно снизилась. произошло это после того, как хостер восстановил мне сайт из бэкапа, который я грохнул по жесткому. обнаружил на всех страницах сайта чужеродный скрипт. его удаление ни к чему не привело — через некоторое время скрипт снова появился в записях и на страницах блога. пробовал проверять один из сайтов айболитом, но файл отчета AI-BOLIT-REPORT-дата-время.html по концовке я так почему-то и не получил. делал все по инструкции с их сайта, но увы. хостер рекомендует переустановить вордпресс, предварительно удалив все файлы, кроме файлов темы, картинок. вот такая веселуха.

    • На живом сайте я тоже не дождался результата. Поэтому сохранил копию на жесткий диск и запустил AI-BOLIT в корне сайта. Только тогда увидел отчет. Кстати, последняя версия скрипта работает гораздо шустрее.

  3. А ну ка щас попробую, спасибо! А то уже устал искать.

  4. Спасибо за сервис AI-Bolit, на выходных обязательно проверю свой сайт — для профилактики.

Добавить комментарий

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