Скрипт для поиска шеллов и другого вредоносного по

gregzem
На сайте с 22.11.2004
Offline
134
#31
Nowell:
Однозначно полезный и нужный скрипт, добавил в избранное. Спасибо автору! :)

Обновления не забывайте скачивать. Сейчас бывает, что по два раза на дню выходят.

---------- Добавлено 10.04.2012 в 08:31 ----------

Карманный флудер:
504 Gateway Time-out

на старой версии айболита не было

На старой версии проверялось в несколько раз меньше файлов. Запускайте из командной строки или увеличьте timeout в php.ini.

Антивирус для ISPmanager (https://revisium.com/ru/products/antivirus_for_ispmanager/) | Антивирус для Plesk (https://plesk.revisium.com) | Профессиональное лечение и защита сайтов (https://revisium.com/)
suraev
На сайте с 26.07.2005
Offline
153
#32

$strings = array("Web Shell by boff", "Web Shell by oRb", "devilzShell", "Shell by Mawar_Hitam", "N3tshell", "Storm7Shell", "Locus7Shell", "private Shell by m4rco", "w4ck1ng shell", "FaTaLisTiCz_Fx Fx29Sh", "r57shell.php", "default_action = 'FilesMan'");

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

---------- Добавлено 10.04.2012 в 12:28 ----------

В частности, вот этот фрагмент, default_action = 'FilesMan', встречается практически всегда, даже если сам шелл закодирован.

---------- Добавлено 10.04.2012 в 12:48 ----------

Вот ещё идейка: довольно часто, если на аккаунте много сайтов, дополнительные домены лежат не в отдельных корневых папках, а находятся как внутренние папки в папке основного домена. Когда таких дополнительных сайтов много, у скрипта нет шансов отработать - слишком много файлов. В итоге я могу по отдельности проверить папки дополнительных доменов, но не могу проверить папку основного домена. Нужна настройка, чтобы можно было игнорировать папки, являющиеся доменными именами (например, игнорировать папки первого уровня, содержащие в названии точку).

Хортица
На сайте с 22.12.2006
Offline
289
#33
Veselka:
Спасибо за скрипт, на первом же проверенном сайте нашёл шелл =) Кстати вот этот:

Не удивительно ибо:

gregzem:
Спасибо за архивчик. Добавил сигнатуры, обновил архив со скриптом
suraev:
В итоге я могу по отдельности проверить папки дополнительных доменов, но не могу проверить папку основного домена. Нужна настройка, чтобы можно было игнорировать папки, являющиеся доменными именами (например, игнорировать папки первого уровня, содержащие в названии точку)

Зачастую на подобных хостингах это технически не возможно, потому как грамотные админы запрещают лазить где попало. Ну а если контора "ВанькаВстанька" тогда вполне возможен подобный вариант.

Граждане, проверившие свои сайты - помните, что Вы нашли вершину айсберга. Теперь Вам нужно найти ОТКУДА к Вам запозли эти гадости.

На XBit.Money (https://xbit.money/?rid=111) меняю крипту на гривны. Лучшие курсы Обмен Вашего PayPal/ЯД/QIWI/WebMoney и куча плюшек! Рекомендую (https://exchangex.ru/index.php?who=26749)
Rebz
На сайте с 27.01.2009
Offline
58
#34

Мы поможем найти "откуда" :)

rebz.net - Профессиональный аудит безопасности сайтов (http://rebz.net) (ОТЗЫВЫ (http://forum.antichat.net/threadnav153966-1-10.html)) Мы надежно защитим Ваш бизнес в интернете.
Хортица
На сайте с 22.12.2006
Offline
289
#35

Rebz, сколько уйдет времени на лог размером в 2тб ? Посещаемость сайта 40к уников в сутки.

Вопрос риторический, не хочу подвергать Вашу профессиональную деятельность какой либо критике, но не хорошо совать свои платные услуги в теме, где человек БЕСПЛАТНО делает вебсайты чище...

A
На сайте с 24.12.2009
Offline
111
#36
gregzem:
В перспективе, наверное, переделаю на обычные opedir, readdir.

С нетерпением ждём!..

WebGomel
На сайте с 29.10.2011
Offline
78
#37
gregzem:
Спасибо за комментарии. Нужно понимать, что все возможные варианты и сигнатуры собрать физически нереально. Любой шелл можно обфусцировать бесконечное кол-во раз. Уверен, кто профессионально ломают сайты, как раз так и делают - шифруют для каждого нового сайта новым способом. И найти такой обфусцированный вариант можно единственным способом - с помощью эвристики. Я анализирую base64 кодированные последовательности и стандартные функции, типа eval(), base64_decode(), gzipinflate().

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

А с сигнатурами поможем :). Я сейчас на всех сайтах, которые чищу, "гоняю" и ваш скрипт. Если попадутся шеллы, которые он не увидит - примеры естественно буду.

Ещё раз хочу обратиться к владельцам сайтов на Joomla линейки 1.5. Все сайты до 1.5.26 ломают как орешки. Обновляйтесь!

Шелл заливают через админку либо через медиа менеджер (проверьте, не разрешена ли в конфигурации загрузка файлов php, если разрешена - вас взломали.), либо ставят специальные модули (mod_system, mod_stem и т.д. если такие у вас присутствуют - удаляйте, айболит их кстати находит), либо шелл вставляют вместо index.php любого шаблона.

Удалённый системный администратор ( https://remadmin.com )
bork75
На сайте с 14.11.2011
Offline
93
#38

gregzem, спасибо большое!

Очень шустро работает.

Добавил бы кошельки на странице для желающих поддержать скрипт или в будущем планируется платная версия? ))

Есть отличная идея для скрипта.

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

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

Т.е. перед проверкой закидываю я файлы от своей cms в эту папку, запускаю скрипт.

Скрипт сначала сравнивает различия в одноимённых файлах (размер, содержимое)

На выходе выдаёт

- Вывести файлы, которые различаются (с выводом куска кода. которые не совпали). Если это графические файлы или т.п. . то указать. что не совпал размер файлов.

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

-Ну и вывести ту информацию, что отображается сейчас в скрипте + справа/ рядом с файлом написать результат сравнения с образцом


Для наглядности, нарисовал пример

[ATTACH]106994[/ATTACH]

gif primer.gif
gregzem
На сайте с 22.11.2004
Offline
134
#39
suraev:
$strings = array("Web Shell by boff", "Web Shell by oRb", "devilzShell", "Shell by Mawar_Hitam", "N3tshell", "Storm7Shell", "Locus7Shell", "private Shell by m4rco", "w4ck1ng shell", "FaTaLisTiCz_Fx Fx29Sh", "r57shell.php", "default_action = 'FilesMan'");

Добавил в базу.

suraev:

Вот ещё идейка: довольно часто, если на аккаунте много сайтов, дополнительные домены лежат не в отдельных корневых папках, а находятся как внутренние папки в папке основного домена. Когда таких дополнительных сайтов много, у скрипта нет шансов отработать - слишком много файлов. В итоге я могу по отдельности проверить папки дополнительных доменов, но не могу проверить папку основного домена. Нужна настройка, чтобы можно было игнорировать папки, являющиеся доменными именами (например, игнорировать папки первого уровня, содержащие в названии точку).

Проблема с недостаточным временем на отработку скрипта решается очень просто - нужно запустить его из командной строки. Я уже про это писал. Не вижу особого смысла реализовывать сложный механизм отсеивания директорий, сканирования по частям, перезапуск на ajax и пр. Все это очень сложно и особой выгоды не дает. Запускаем из под SSH и все (я ранее уже писал про это).

---------- Добавлено 10.04.2012 в 18:07 ----------

bork75:
gregzem, спасибо большое!
Очень шустро работает.
Добавил бы кошельки на странице для желающих поддержать скрипт или в будущем планируется платная версия? ))

Платную не планирую. А на счет "отблагодарить" - вот страничку пожертвований сделал. Милости прошу: http://revisium.com/ai/others.php

bork75:
Есть отличная идея для скрипта.
После запуска скрипт выдал мне список файлов с возможным размещением шеллов и я руками сравнивал эти файлы с оригиналами.
Почему бы не добавить папку с файлами для сравнения.

Идея хорошая и понятная. Спасибо. Хотя реализовывать ее, дюже гемморно, да и пользоваться ей будет мало пользователей. Я ее записал (вообще я все пожелания записываю) и, возможно, когда-нибудь сделаю.

---------- Добавлено 10.04.2012 в 18:12 ----------

WebGomel:
Профессионалы может и обфусцируют по несколько раз, но на практике это редко встречается. Обычно на сайтах они лежат стандартные.
А с сигнатурами поможем :). Я сейчас на всех сайтах, которые чищу, "гоняю" и ваш скрипт. Если попадутся шеллы, которые он не увидит - примеры естественно буду.

Да, просьба к пользователям. Если у вас появляется в списке подозрительных (но не шеллов) скрипт, и у вас есть чувство (или вы уверены), что это шелл или дорвей, пожалуйста, скиньте мне на мыло. Я добавлю сигнатуру. Спасибо.

Присылать это чудо нужно, естественно, в .zip архиве с паролем. У меня злой антивирус ))

bork75
На сайте с 14.11.2011
Offline
93
#40

Вот, что нашёл сегодня на своём заражённом сервере.

Айболит не нашёл

http://rghost.ru/37516707

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий