PDA

Просмотр полной версии : AntiBdoor


Dimi4
19.12.2009, 16:47
AntiBdoor

@author Dimi4 [UASC] (http://uasc.org.ua)
@copyright 2009
@version 1.0 B

Скрипт для мониторинга ваших файлов. Разделы админки:

Get detected alerts - Получить из базы список модифицированых файлов.
Check files - Проверить на наличие модификаций
Crawl - Наново проиндексировать все файлы
Search Shells - Осуществить поиск шеллов (по имени и фиксированному размеру)
Options - Опции


После установки (необходимо PHP+MYSQL) рекомендуется засунуть в кронтаб файл cron.php на выполнение каждые 15 минут. Результат проверки будет оправлен на мыло, указанное при установке.

Это только Бетка, так что все будет дорабатываться, пополнятся функционал.

Сриншоты:
install
http://img685.imageshack.us/img685/5717/install.jpg
auth
http://img692.imageshack.us/img692/4111/authf.jpg

Inside - http://img692.imageshack.us/i/insidev.jpg/

Скачать - http://uasc.org.ua/files/antibdoor.rar

(Dm)
19.12.2009, 17:19
хз, по мне так, bash, md5sum, diff

b3
19.12.2009, 17:48
Реализация поиска шеллов не понравилась =) На днях столкнулся с проблемой, мой шелл удаляли на одном серваке чуть не каждый день, в итоге фартануло и нашел сканер файлов который ищет функции exec, system, eval, iframe и тд. так что думаю по етой аналогии и стоит делать систему, в добавок подобный скрипт нужно держать не в ДОКУМЕНТ_РУТ, сделать алиасом, держать под .htpasswd и под правами отличными от www юзвера. Можно даже добавить функцию "Точек восстановления" тоесть сканер видит измененный файл, и заменяет его безопасной копией.

Dimi4
19.12.2009, 17:54
Конечно реализация для поиска шеллов тупая, но я говорю что это бетка. Добавлю функции поиска по содержимому и тд. Над точками восстановления можно подумать

Ctacok
19.12.2009, 18:09
Search Shells - Осуществить поиск шеллов (по имени и фиксированному размеру)
Например в скриптах шелла можно изменить пароль, изменяешь > уже не соответствие размера :) А если например eval(base64_decode()) ?) Тогда точно ненайдёшь :)

Dimi4
19.12.2009, 18:15
Например в скриптах шелла можно изменить пароль, изменяешь > уже не соответствие размера
Ну там же не до байта проверка, а округлено :)

b3
19.12.2009, 18:21
К тому же пароль в мд5 =) всегда 32 символа

Dimi4
19.12.2009, 18:23
Приду через 3 часа потестю)
Кстате планирую добавить исключения, правила.

Spyder
19.12.2009, 18:29
нашел сканер файлов который ищет функции exec, system, eval, iframe и тд. так что думаю по етой аналогии и стоит делать систему
ну конечно) А если шелл закодирован в base64 или гзипом? Что ты будешь искать? Поиск по размеру очень хорошая идея, хотя конечно другие алгоритмы поиска добавить не помешает

Qwazar
19.12.2009, 18:35
Да есть туча вполне мирных функций, которые можно использовать в качестве полноценного бекдора. Если все их искать, получим тучу ложных срабатываний.

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

b3
19.12.2009, 18:53
ну конечно) А если шелл закодирован в base64 или гзипом? Что ты будешь искать?
РСТ палится евалом
ВСО палится прег_репл с ключем "е"
Как сказал Qwazar "лучше так чем ничего"
Поиск по размеру очень хорошая идея
Что хорошего ? Потер лишние коментарии в скрипте (если есть) и втулил свой код. Если уже и проверять то по мд5 сумме файлов, и иметь папку mirror с копией веб директории для мгновенной замены если несоотвествует сумме мд5.

Spyder
19.12.2009, 19:02
евалом палится куча мирных скриптов, как и прег_реплейс с /е, такой поиск выдаст кучу ложных срабатываний. Оно надо?
Потер лишние коментарии в скрипте (если есть) и втулил свой код
а ты сам то часто трешь коменты чтобы изменить размер?

b3
19.12.2009, 19:24
Насчет коментариев, допустим ситуация такая что я каким-то образом знаю что проверка осуществляется по размеру =) Это все конечно теоретически.
Все же если делать, так делать на совесть =)

(Dm)
19.12.2009, 21:04
не забываем тот факт, что многие веб приложения используют кеширование, а это значит создаются временные файлы.

Dimi4
19.12.2009, 22:07
Насчет коментариев, допустим ситуация такая что я каким-то образом знаю что проверка осуществляется по размеру =) Это все конечно теоретически.
Чисто теоретически любую защиту можно обойти. Вопрос времени. Но это не значит что защиты не надо.

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

(Dm)
20.12.2009, 01:34
Вот собственно мой простенький вариант на баше )
И так что умеет:
+ работает без использования БД
+ поиск изменений в файлах
+ отправка этого добра на указанный email
+ автоматическое восстановление файлов и удаление новых
+ возможность указать файлы(типы) которые не надо проверять

Прикрепил скрипт в архиве.

Как использовать:
1. для начала распаковать архив, например в домашнюю директорию пользователя /root/smonit
2. поправить файл config, установить нужные пути
3. добавить в nocheck.txt типы файлов которые не надо проверять
4. дальше перейти в директорию /root/smonit и выполнить команду ./create.sh . Эта команда создаст точку восстановления в каталоге /root/smonit/backup
5. затем следует добавить в cron
* \ 5 * * * * cd /root/smonit/;./monit.sh;

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

Косяков конечно там много... ну эт просто наброски.
К чему это я, да к тому что не нужно изобретать велосипед. diff и patch

life_is_shit
20.12.2009, 03:01
Делал когда-то такую штуку, как плагин к админке магазина.
банально.
делается md5 слепок всего нужного и записывается в базу либо в файл (на сервере не сохраняется, выдается на скачку).
потом сверяется со слепком.
что-то поменяли - сделали новый слепок и работаем дальше.
имхо, парсить код совсем не вариант.

cr0w
20.12.2009, 11:28
имхо, парсить код совсем не вариант.
Че-то спорите ниочем. Давайте все-таки различать 2 задачи:
1. Обнаружение бэкдоров с помощью поиска изменений в файлах, когда у нас есть слепок файлов и каталогов
2. Поиск бэкдоров когда никакого слепка нету.

Это 2 совершенно разные задачи и, на мой взгляд, для их решения стоило бы создать 2 разные тулзы. Первая задача решается, вобщем-то, легко, и мне уже немало реализаций для ее решения встречалось.

А вот поиск бекдоров без слепка - гораздо сложнее (и интересней (: ). Способов автоматизированного поиска можно придумать кучу, и поиск по опасным функциям - это лишь самый примитивный, хотя и действенный (пускай и с ложными срабатываниями) - по собственному опыту могу сказать, что 90% взломщиков не удосуживаются хоть немного обфусцировать код спрятанного шелла.

Dimi4
06.02.2010, 20:38
update. версия 1.1
http://uasc.org.ua/files/AntiBdoor_v1.1.rar

*Мелкие исправление
*Добавил Exceptions

В следующей версии: постараюсь реализовать новые методы поиска шеллов, функцию точек восстановления.

p.s. в паблек