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

AI-Bolit - эффективный сканер вирусов и другого вредоносного кода на хостинге

Нас часто спрашивают – в чем уникальность сканера AI-Bolit ? Чем он отличается от других аналогичных инструментов поиска вредносного кода, таких как maldet, clamav или даже десктопных антивирусов? Краткий ответ – он лучше детектирует вредоносный код, написанный на PHP и Perl. Почему? Ответ ниже.

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

повсеместно начали использоваться неявные вызовы функций посредством методов с callable аргументами, handler"ов и косвенных вызовов функций.

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

или наоборот, сделать максимально простым и похожим на обычный скрипт.

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

Широкую известность AI-Bolit получил также благодаря простому интерфейсу и возможности свободного использования в некоммерческих целях. Любой вебмастер может абсолютно бесплатно скачать AI-Bolit с официального сайта http://revisium.com/ai/ и проверить свой ресурс на наличие хакерские шеллов, бэкдоров, дорвеев, вирусов, спам-рассыльщиков, скрытых ссылок и других вредоносных фрагментов и вставок. Сканер также активно используется и коммерческими компаниями - веб-студиями, хостинг-компаниями и интернет-агентствами для проверки и лечения клиентских сайтов. Хостеры интегрируют AI-Bolit в панель управления, веб-разработчики используют его для поиска вредоносного кода и в собственных сервисах мониторинга сайтов.

Ниже приведем лишь небольшой список возможностей сканера Ai-Bolit:

  • запуск из консоли и браузера
  • три режима сканирования ("простой", "эксперт", "параноидальный")и два режима работы ("экспресс" и "полное сканирование")
  • поиск хакерских php и perl скриптов (шеллов, бэкдоров), вирусных вставок, дорвеев, спам-рассыльщиков, скриптов по продаже ссылок, скриптов клоакинга и других типов вредоносных скриптов. Поиск по шаблонам и регулярным выражениям, а также использование эвристик для определения потенциально-вредоносного кода
  • поиск сигнатур в зашифрованных, фрагментированных текстовых блоках и закодированных hex/oct/dec последовательностях
  • поиск подозрительных файлов с конструкциями, которые применяются во вредоносных скриптах
  • поиск скрытых ссылок в файлах
  • поиск символических ссылок
  • поиск кода поисковых и мобильных редиректов и многое другое.
Кстати, на Ai-Bolit получено авторское свидетельство в РосПатенте. А еще сканер активно освещается на сторонних сайтах, в профильных журналах, на конференциях и вебинарах.

Официальная страница скрипта

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

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

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

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

Что конкретно делает вредное программное обеспечение? Очень разные вещи: рассылает спам, участвует в атаках на другие ресурсы и прочее… Одним из ярких примеров таких вирусов является «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 - это продвинутый бесплатный сканер бэкдоров, хакерских шеллов, вирусов и дорвеев. Скрипт умеет искать вредоносный и подозрительный код в скриптах, определяет спам-ссылки, показывает версию 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] .

Искал я в интернете халявную "платную" тему для сайта. Благо сайтов таких достаточно. Правда они копируют друг друга =) По опыту работы с такими шаблонами я знал, что за такую халяву иногда приходится платить сполна. Потому что в такие шаблоны очень не хорошие люди вставляют всякие гадости, которые порядочным программистам могут доставить очень большие неприятности. Помнится мне, что мой антивирус ESET раньше находил и ругался на base64. Теперь и он не ругается. Это я к тому, что если проверять антивирусом, то это не поможет.

До Ai-Bolit я проверял Total Commander"ом файлы на содержимое определенных слов и уже в зависимости от найденного я проверял и исправлял. Но это очень нудное занятие. И я задался найти более оптимальное и быстрое решение поиска. И нашлось. Это - AI-Bolit - уникальный бесплатный скрипт для поиска вирусов, троянов, backdoor, хакерских активностей на хостинге.

И так, что умеет делать этот скрипт:

  • искать вирусы, всякие вредоносные и хакерские скрипты на хостинге: шеллы по сигнатурам, шеллы на основе несложной эвристики - все то, что обычные антивирусы просто не в состоянии найти.
  • работать со всеми популярнейшими cms без исключения, включая joomla, wordpress, drupal, bitrix...
  • искать редиректы в.htaccess на вредоносные сайты
  • искать код sape/trustlink/linkfeed в.php файлах
  • определять дорвеи
  • показывать директории, открытые на запись
  • искать невидимые ссылки в шаблонах

Зачем же нужен этот скрипт?

Опытный хакер может взломать практически любой сайт. И ваш сайт может быть не исключением. Чем же опасен взлом сайта? Получив доступ к сайту злоумышленник может выполнить следующее:

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

Ai-Bolit позволяет своевременно обнаружить множество вредоносного ПО и подозрительных изменений на хостинге, снижая риск быть забаненным поисковыми системами за распространение вирусов и наличие дорвеев. А также позволяет своевременно узнать о возможных потенциальных утечках информации и других неприятностях относительно вашего сайта. КРУТО!!!

Как пользоваться скриптом

В архиве скрипта есть ОЧЕНЬ понятная инструкция. По-умолчанию "доктор" сканирует в обычном режиме с минимальным количеством сигнатур и минимальным числом ложных срабатываний.

Есть два варианта проверки. Они оба описанны в инструкции. приведу только первый - упрощенный.

Вариант запуска из браузера (не рекомендуется, так как выполняет только экспресс-сканирование )

  • Скачать архив со скриптом (смотреть прикрепленные файлы)
  • Распаковать.zip
  • Поменять пароль в строке define("PASS", "put_any_strong_password_here_8_symbols_min");
  • Включить режим "эксперт" в строке define("AI_EXPERT", 0); // заменить 0 на 1
  • скопировать из папки /ai-bolit/ файлы на сервер в корневой каталог
  • скопировать из папки know_files файлы, которые соответствуют вашей cms
  • открыть в браузере http://sitename.com/ai-bolit.php?p=My456Pass123 и ждать отчета
  • !!!после отображения отчета удалить файлы от айболита и сам скрипт с сайта!!!

Вот и все. Затем, перед вами появится отчет и вам остается следовать за ошибками и исправлять уязвимости.

Обратная связь

Автор очень приветливый человек. Всегда отвечает. Если у вас есть пожелания или вопросы, то пишите:
web: http://www.revisium.com/ai/
e-mail: [email protected]
skype: greg_zemskov

Наибольший функционал доступен при запуске сканера 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. Например, по завершении сканирования можно что-то сделать с файлом отчета (отправить по почте, запаковать в архив и пр).