Форум русской поддержки Joomla!® CMS
08.12.2016, 18:20:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3  Все   Вниз
  Добавить закладку  |  Печать  
Автор

Скрипт для поиска вирусов и вредоносных скриптов на сайте "AI-Bolit"

 (Прочитано 40497 раз)
0 Пользователей и 1 Гость смотрят эту тему.
revisium
Осваиваюсь на форуме
***

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 27



« : 30.06.2012, 18:39:28 »

Здравствуйте,

Я написал небольшой скрипт "Айболит", который умеет делать следующее:

  • искать вирусы, вредоносные и хакерские скрипты на хостинге: шеллы по сигнатурам, шеллы на основе несложной эвристики
  • искать редиректы в .htaccess на вредоносные сайты
  • искать код sape/trustlink/linkfeed в .php файлах
  • определять дорвеи
  • показывать директории, открытые на запись
  • искать пустые ссылки (невидимые ссылки) в шаблонах
  • отсылать отчет по email или сохранять в файл

Знает сигнатуры более 130 различных шеллов, позволяет добавлять некоторые файлы в игнор лист. Можно запускать по расписанию раз в неделю (настроить через крон) и получать на email отчет.

Скрипт использует уже более 3000 вебмастеров. Подробности на сайте http://revisium.com/ai/.
Справа наверху на сайте есть много форумов, на которых скрипт активно обсуждается. Являюсь партнером раздела "безопасность" на сайте поддержки vBulletin.

Надеюсь, скрипт поможет и вам. Пишите, если будут вопросы.
Записан
 
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #1 : 30.06.2012, 18:55:06 »

Здравствуйте. Какова база? Откуда она? Как часто обновляется?
Записан
revisium
Осваиваюсь на форуме
***

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 27



« Ответ #2 : 30.06.2012, 19:20:15 »

Здравствуйте,
про "какова база" - не знаю как вам ответить. База хороша Azn
Больше 130 шеллов, несколько десятков подозрительных фрагментов php кода, сигнатуры вирусов. Все там.

Обновляется по мере поступления новых экземпляров (либо сам что-то новое нахожу, либо пользователи присылают). В среднем - раз в неделю.
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #3 : 30.06.2012, 19:51:53 »

Хорошая штука. Только для Joomla малость не катит. Можно использовать в качестве инструмента при разработке: отслеживать CHMOD на директориях. Ну, возможно попадется что то и вирусное. Хотя в общем количестве есть 90 шансов из ста не отличить опасность от стандартной конструкции Joomla. В J более 8ми тысяч файлов (в общем конечно же). Прозвонил Вашим Айболитом сейчас локалку с Joomla и парой компонентов. Пара сотен небезопасностей показал, которые таковыми не являются. Даже совсем не закрытую ссылку на Joomla.org посчитал скрытой, специально пошел проверил. Нашел ссылку в index.php одного шаблона - в файле вообще ссылок нет и не было.

С какого перепугу обычная функция редактора стала вредоносным скриптом?
JoomShopping судя по результатам анализа Айболита и вовсе ставить не следует.

Сыро.
« Последнее редактирование: 30.06.2012, 20:24:27 от al-teen » Записан
revisium
Осваиваюсь на форуме
***

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 27



« Ответ #4 : 30.06.2012, 20:51:39 »

Вы не поняли идею Azn Ai-bolit - это универсальный инструмент. Он не заточен под конкретную CMS'ку. Кроме 100% совпадения по сигнатурам, проверяются также и подозрительные конструкции (eval, base64_decode, iframe в .js и .php.) Скрипту абсолютно все равно, JoomShopping это или WSO Shell. Если есть сигнатура или кусок очень подозрительного кода - будет красным. Если просто подозрительного - будет оранжевым. А админ уже пусть анализирует.

Для того, чтобы не было ложного срабатывания делается файл .aignore, в него складываются все файлы, в которых вы уверены, с их контрольными суммами (в скрипте есть напротив каждого файла ссылка "Добавить", внизу появится текстовое поле с файлом и CRC).
Если захотеть, можно под свою версию Joomla такое сделать, тогда эти файлы не будут фигурировать в отчете. То есть не будет false positive.

Отображение ссылок - да, надо поправить. Это не основная плюшка, основная - поиск шеллов и JS вирусов.

Спасибо за тестирование.
Записан
wishlight
Профи
********

Репутация: +200/-1
Offline Offline

Пол: Мужской
Сообщений: 3488


skype aqaus.com


« Ответ #5 : 30.06.2012, 21:06:48 »

Это хороший скрипт, только не везде работает.
Записан
revisium
Осваиваюсь на форуме
***

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 27



« Ответ #6 : 30.06.2012, 21:20:24 »

Уточните, что именно и где не работает? В скрипте используются функции из PHP5. Если на хостинге PHP4, может не работать. В ближайших апдейтах заменю их на аналоги в PHP4.
Записан
flyingspook
Moderator
*****

Репутация: +226/-9
Offline Offline

Сообщений: 3535


« Ответ #7 : 30.06.2012, 23:21:13 »

Не закидывайте камнями ТС скрипт рабочий просто не успеешь за всеми новинками взломщиков, а на счет того что показывает все подряд дак это универсальность его он не только для нашего движка, многие пользовались есть те кто ни чего не находил/понимал и есть те кто все прекрасно находили с его помощью, сам тестировал не скажу ему 100% но 90% из ста отрабатывает, еще надо понимать и разграничивать то что вирус на сайте покажет антивирусник, а на сайте не вирус - дело рук человеческое и в основном редирект/ссылки и все это закодировано или в регулярных выражениях и на каждом сайте свои и не повторяются на других, так что с молотка все рубить не получиться все равно руками и глазами увидел код и вырезал, конечно можно как антивирусник сделать просто файл удалить но тогда сайт по чему то перестает работать  Smiley автоматически не получиться делать или придется базу создавать гигабайтную/тиробайтную там мегабайтами не обойтись, и к ней привязываться, что не гуд.
На счет базы в 130 это для не опытных пользователей хорошо, вообще хватает около 30 что б полностью все по полочкам разобрать и разложить.
Ну и shell finder script предназначается для поиска дверей а не в качестве антивирусника, дверь может быть зарыта в любом файле но уж на РНР не сделать код по другому из-за этого он покажет и на файлы системы, их просто надо просмотреть это кстати не 6000-8000 файлов просматривать.
Это не replacer что б замены делать ну и не остальные скрипты, "просто сканер", и требовать от сканера много не стоит.

Ps. ТС про ваш скрипт тут знают тестировали и пользуются

ИМХо а то что реклама тут, просто лето вот у вас и спад и многие разработчики сразу скачали и больше не качают как было в начале, а пользуются тем что есть
« Последнее редактирование: 30.06.2012, 23:28:40 от flyingspook » Записан
wishlight
Профи
********

Репутация: +200/-1
Offline Offline

Пол: Мужской
Сообщений: 3488


skype aqaus.com


« Ответ #8 : 01.07.2012, 08:54:34 »

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

Скрипт отличный. Я только за него. Очень большой функционал.
Записан
revisium
Осваиваюсь на форуме
***

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 27



« Ответ #9 : 01.07.2012, 11:30:51 »

Спасибо за комментарии и поддержку. Хочу обратить внимание, что лучше использовать свежую версию скрипта. Я видел в нескольких темах приаттаченный скрипт месячной давности - это не очень хорошо, потому что сигнатуры постоянно пополняются, появляются новые возможности, и, пользуясь старой версией, можно многое упустить. На прошлой неделе, например, было добавлено 35 новых шеллов и детектирование редиректных ссылок. Поэтому рекомендую давать просто ссылку на страницу со скачиванием.
Записан
wishlight
Профи
********

Репутация: +200/-1
Offline Offline

Пол: Мужской
Сообщений: 3488


skype aqaus.com


« Ответ #10 : 01.07.2012, 12:10:46 »

Стоит там ссылка. Прикрепленные файлы обновил.
Записан
flyingspook
Moderator
*****

Репутация: +226/-9
Offline Offline

Сообщений: 3535


« Ответ #11 : 01.07.2012, 13:21:22 »

Цитировать
На прошлой неделе, например, было добавлено 35 новых шеллов и детектирование редиректных ссылок. Поэтому рекомендую давать просто ссылку на страницу со скачиванием.
а зачем это кто мне объяснит?
ТС в шеле всего 3-10 остальное для полностью не опытных пользователей кои находят более опытных которые им выполняют работу на счет
Цитировать
было добавлено 35 новых шеллов и детектирование редиректных ссылок
зачем в базу добавлять ссылки/редиректы не понимаю, вы js код тоже собираетесь добавлять у меня последний сайт 400 файлов js код в каждом разный если все к вам в запихать то скрипт будет только из них более 100кб не считая РНР  Smiley
а что за 35 новых шелов? расскажите нам об них!
их что за два месяца нашлепали или как?
может что упускаем?
давайте так у вас на сайте все расписано правильно?
вот там пусть и читают ваш рекламный бред на счет базы и прочего
извините, но просто нашим скриптом пользуются wishlight на той или этой недели если не ошибаюсь, да без разницы кто и когда, и мы не расписываем вообще что и когда делаем и меняем, и сколько тысяч его скачало, а ваш топик как рекламный, вы просто ищете работу

я не против того что вы создали топик, но прошу распишите по делу лучше как пользоваться и как искать и прочее, вы ж это не напишите ни когда, а просто будете рекламировать мол база большая пользуются/скачали миллионы (это все не по существу), нет желания расписывать тогда пишите так - произошло обновление и читайте (на сайте или ссылка) не рекламируйте скрипт/себя

Ps. кто в этом понимает то знает что все намного проще, а кто не понимает не хочет изучать тот и не поймет
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #12 : 01.07.2012, 16:11:32 »

Мне больше непонятен момент с base64. Вообще то хочется видеть, что запускаешь. Или предлагаете выполнять телодвижения по проверке еще и Вашего скрипта? Если это и есть база, то какой смысл ее кодировать?
Записан
revisium
Осваиваюсь на форуме
***

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 27



« Ответ #13 : 01.07.2012, 16:34:18 »

Уважаемый flyingspook, я вот не пойму, с чего от вас внезапно столько негатива попрело. Либо вы не так поняли слово "шелл", либо не осознаете фактической угрозы. И уж тем более обвинять меня в том, что я их "наклепал" - это, извините, попахивает каким-то юношеским троллингом. Вы же модератор, представитель порядка. А ведете себя, как рядовой пользователь с кармой -100 Azn

Так вот давайте я вам для начала разъясню что к чему. А потом мы снова подружимся Azn

Шелл - это вредоносных скрипт, который загружает хакер на хостинг через различные дыры в CMS/скриптах и конфигурации сервера. Шелл скрипт обычно написан на php, но бывают и на asp, java, c. В помощью шелл-скрипта можно просматривать содержимое фаловой системы (файловый браузер), можно загружать файлы в каталоги, можно менять права на файлы, можно дампить базы данных в файл, подсаживать всякую заразу в в файлы и многое другое.То есть шелл - это вселенское зло, которое, появившись на хостинге, обычно, в виде .php файла, дает свободу действий злоумышленнику.

Шелл-скриптов в природе существует масса. Я думаю, порядка 200-250 разновидностей публичных и множество приватных, которыми пользуются мегапрофессиональные хакеры, которые не светятся и не палятся о своими наработками.

Основная задача моего скрипта - обнаружить вредоносный код на хостинге. В частности - шеллы, которые я нахожу на сайтах клиентов, на своих сайтах, которые мне присылают пользователи скрипта, и которые я нахожу на форумах типа antichat.ru. Сбор базы сигнатур шеллов, по которым можно детектировать такой скрипт - это работа не тривиальная, поскольку вот так вот чтобы пойти и найти все существующие шелл-скрипты в открытом доступе - такого нет. Это не JCE модуль для Joomla качать. А еще после того, как нашел надо понять, какой кусок из скрипта добавить в базу в качестве сигнатуры, чтобы однозначно его идентифицировать.

Когда вы говорите о каких-то 3-5 шеллах, я вообще не понимаю, о чем вы. На прошлой неделе я случайно наткнулся на архив из 130 разных скриптов. И недостающие добавил в базу. То, что у вас они не появлялись на сайте отнюдь не означает, что их вообще не существует.

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

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

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

И это...я вам ничего не должен. Я тут людям помочь хочу. Но если вы посчитаете, что я тут с какой-либо выгодой решил , как вы это называете, "рекламировать" свой бесплатный скрипт, прошу данную тему удалить, чтобы более не поднимать данный вопрос.
« Последнее редактирование: 01.07.2012, 16:38:02 от revisium » Записан
revisium
Осваиваюсь на форуме
***

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 27



« Ответ #14 : 01.07.2012, 16:41:41 »

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

Вы задаете правильный вопрос.
1. Да, это и есть база. Ну и, конечно, если мучит паранойя, проверьте Azn
2. Шифровать нужно для того, чтобы вы смогли его загрузить на сайт. Потому что если хранить базы в открытом виде, во-первых файл не пропустит касперский и др веб (найдя в них сигнатуры вредоносных скриптов), а во-вторых - не пропустит проактивная защита на некоторых хостингах, которая проверяет то, что загружают по FTP на сайт.
Записан
al-teen
Support Team
*****

Репутация: +221/-10
Offline Offline

Пол: Мужской
Сообщений: 2460



« Ответ #15 : 01.07.2012, 19:58:44 »

Вы задаете правильный вопрос.
1. Да, это и есть база. Ну и, конечно, если мучит паранойя, проверьте Azn
2. Шифровать нужно для того, чтобы вы смогли его загрузить на сайт. Потому что если хранить базы в открытом виде, во-первых файл не пропустит касперский и др веб (найдя в них сигнатуры вредоносных скриптов), а во-вторых - не пропустит проактивная защита на некоторых хостингах, которая проверяет то, что загружают по FTP на сайт.

Благодарю за содержательный ответ. Но тут уже выглядит параноидальным сам факт использования Вашего приложения, не находите?
Записан
revisium
Осваиваюсь на форуме
***

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 27



« Ответ #16 : 01.07.2012, 21:46:49 »

Я ведь не настаиваю на его использовании. Каждый решает сам, какими инструментами пользоваться.
Записан
antant
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 106


« Ответ #17 : 03.08.2012, 13:22:45 »

Благодарю за содержательный ответ. Но тут уже выглядит параноидальным сам факт использования Вашего приложения, не находите?

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

Обновление до последней версии 1.5.26 (сайт достался в версии 1.5.14), смена всех паролей, потом и хостинга не помогла.
Этот скрипт нашел левый php-файл в папке изображений. Кстати, Касперский Антивирус и Outpost Firewall молчали как рыба об лед при проверке папки изображений (перед заливкой на хостинг проверил обоими).
Записан
Samovar
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #18 : 25.08.2012, 00:06:47 »

Ошибку выдает:

Parse error: syntax error, unexpected T_STRING in /home/kirpyk5/public_html/ai-bolit.php on line 15

В ЧАВО не нашел.
Записан
Sashket
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 7


« Ответ #19 : 22.11.2012, 00:24:59 »

ТС, а почему Вы уже почти две недели не отвечаете на это на вашем же сайте? хоят последний раз отписывались там час назад...
---
Павел Спивак
Хорошее разводилово для дураков. В самом коде php-файла айболита зашифрован код вредоносной фишинговой ссылки base64, с которой сейчас все ведут борьбу. Загляните в сам код и обалдейте от "счастьЯ", которое вам привалит, вместо борьбы с паразитами, вы приобретёте удава-паразита. Будьте осмотрительнее, други. Бесплатный сыр - только в мышеловке!
10 ноя в 21:50
Записан
Apple_Buy
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 73


Истина всегда рядом....


« Ответ #20 : 22.11.2012, 02:23:48 »

Павел Спивак наверно с головой не дружит и не разбирается в том о чем идет речь, в php файле айболита действительно если посмотреть есть закодированная часть кода, но как по мне это лишь сигнатуры, да и потом как нужно не дружить с головой чтобы получать патент на программу которая причиняет вред? Это же противоречит здравому смыслу и если бы Павел Спивак был прав, то Автор: Григорий Земсков давно бы уже сам себя посадил за распространение созданного им вредоносного кода Azn
Записан
zikkuratvk
Профи
********

Репутация: +258/-2
Offline Offline

Пол: Мужской
Сообщений: 3938


Разрабатываем для Joomla


« Ответ #21 : 22.11.2012, 07:05:49 »

в общем я протестил на паре зараженных и уже почищеных сайтов от заражений... признаю скрипт годный нашел пару шелов которые я найти не мог)
Записан
Sashket
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 7


« Ответ #22 : 24.11.2012, 10:48:24 »

Павел Спивак наверно с головой не дружит и не разбирается в том о чем идет речь, в php файле айболита действительно если посмотреть есть закодированная часть кода, но как по мне это лишь сигнатуры, да и потом как нужно не дружить с головой чтобы получать патент на программу которая причиняет вред? Это же противоречит здравому смыслу и если бы Павел Спивак был прав, то Автор: Григорий Земсков давно бы уже сам себя посадил за распространение созданного им вредоносного кода Azn
Спасибо, за комментарий. А то я новичок: с вредоносным кодом на своем сайте впервые столкнулся...
Записан
revisium
Осваиваюсь на форуме
***

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 27



« Ответ #23 : 06.12.2012, 01:40:24 »

Спасибо, за комментарий. А то я новичок: с вредоносным кодом на своем сайте впервые столкнулся...
Мыло-мочало, начинай с начала. Еще раз объясню, зачем в скрипте все сигнатуры в base64 кодировке: в сигнатурах содержится код, который распознается антивирусами как вредоносный (что логично, это ведь фрагменты шеллов и вирусов, и именно по ним происходит поиск вредоносного кода на сайте). Поэтому если просто разместить сигнатуры в открытом виде, как есть, то антивирус даже не даст вам распаковать ai-bolit.php из архива. Пожалуй, пора добавлять этот вопрос в FAQ. Обязательно найдется один паникер в месяц, который находит base64 в коде скрипта :-)

Да, скоро будет новая версия, которая работает на основе "гибких паттернов", ищет не только по фиксированным фрагментам, но и с использованием регулярных выражений. Еще больше найденной заразы и меньше ложных срабатываний.

Если есть вопросы по скрипту, пишите мне в личку, на сайте http://revisium.com/ai/ или в группе безопасности http://vk.com/siteprotect
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4396



« Ответ #24 : 24.01.2013, 00:25:00 »

Хороший скрипт. Не думаю, что автору имеет смысл что-то химичить, т.к. в скрипте вижу рекламу о очистке сайтов от вирусов и вероятно на этом можно тоже неплохо зарабатывать.
Записан
Kuzmitch
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Сообщений: 148



« Ответ #25 : 05.03.2013, 21:11:41 »

Ставим чистую Joomla (качаем с оф. сайта), даже не ставим а распаковываем. Проверяем Айболитом.
И о чудо. Находим 2 шела. 1 вирус, и 2 подозрение на вредоносный код.
Им еще пользоваться уметь надо. А то налечите так что потом сайты вырубятся.
Записан
wishlight
Профи
********

Репутация: +200/-1
Offline Offline

Пол: Мужской
Сообщений: 3488


skype aqaus.com


« Ответ #26 : 06.03.2013, 09:18:32 »

Ну это вам не касперский. Тут думать надо.

Хотя есть у него проблемка. Слабенькие шареды загибаются от времени выполнения. Думаю тут помочь нечем.
Записан
Kuzmitch
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Сообщений: 148



« Ответ #27 : 06.03.2013, 22:03:11 »

Да точно! Пробовал на 5 хостингах. Ни на одном не запустился.
Просто поднял свой апач с PHP. Только на нем заработал.
+ косяк на IIS не работает.

На слабых хостингах когда загибается, есть вариант использовать через SSH. но честно сказать не проверял.
Записан
wishlight
Профи
********

Репутация: +200/-1
Offline Offline

Пол: Мужской
Сообщений: 3488


skype aqaus.com


« Ответ #28 : 06.03.2013, 22:07:54 »

На слабых хостингах как правило нет доступа к ssh
Записан
winstrool
Завсегдатай
*****

Репутация: +39/-2
Offline Offline

Пол: Мужской
Сообщений: 726


Свободен для работы


« Ответ #29 : 07.03.2013, 21:45:51 »

а мне вот интиресно мини-шеллы подобным $a($b); детектируют?
Записан
Страниц: [1] 2 3  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet