Просмотр полной версии : AntiBdoor
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
хз, по мне так, bash, md5sum, diff
Реализация поиска шеллов не понравилась =) На днях столкнулся с проблемой, мой шелл удаляли на одном серваке чуть не каждый день, в итоге фартануло и нашел сканер файлов который ищет функции exec, system, eval, iframe и тд. так что думаю по етой аналогии и стоит делать систему, в добавок подобный скрипт нужно держать не в ДОКУМЕНТ_РУТ, сделать алиасом, держать под .htpasswd и под правами отличными от www юзвера. Можно даже добавить функцию "Точек восстановления" тоесть сканер видит измененный файл, и заменяет его безопасной копией.
Конечно реализация для поиска шеллов тупая, но я говорю что это бетка. Добавлю функции поиска по содержимому и тд. Над точками восстановления можно подумать
Search Shells - Осуществить поиск шеллов (по имени и фиксированному размеру)
Например в скриптах шелла можно изменить пароль, изменяешь > уже не соответствие размера :) А если например eval(base64_decode()) ?) Тогда точно ненайдёшь :)
Например в скриптах шелла можно изменить пароль, изменяешь > уже не соответствие размера
Ну там же не до байта проверка, а округлено :)
К тому же пароль в мд5 =) всегда 32 символа
Приду через 3 часа потестю)
Кстате планирую добавить исключения, правила.
нашел сканер файлов который ищет функции exec, system, eval, iframe и тд. так что думаю по етой аналогии и стоит делать систему
ну конечно) А если шелл закодирован в base64 или гзипом? Что ты будешь искать? Поиск по размеру очень хорошая идея, хотя конечно другие алгоритмы поиска добавить не помешает
Да есть туча вполне мирных функций, которые можно использовать в качестве полноценного бекдора. Если все их искать, получим тучу ложных срабатываний.
Хотя в любом случае подобный скрипт только полумера, лучше так чем ничего. Хотя бы от киддисов поможет.
ну конечно) А если шелл закодирован в base64 или гзипом? Что ты будешь искать?
РСТ палится евалом
ВСО палится прег_репл с ключем "е"
Как сказал Qwazar "лучше так чем ничего"
Поиск по размеру очень хорошая идея
Что хорошего ? Потер лишние коментарии в скрипте (если есть) и втулил свой код. Если уже и проверять то по мд5 сумме файлов, и иметь папку mirror с копией веб директории для мгновенной замены если несоотвествует сумме мд5.
евалом палится куча мирных скриптов, как и прег_реплейс с /е, такой поиск выдаст кучу ложных срабатываний. Оно надо?
Потер лишние коментарии в скрипте (если есть) и втулил свой код
а ты сам то часто трешь коменты чтобы изменить размер?
Насчет коментариев, допустим ситуация такая что я каким-то образом знаю что проверка осуществляется по размеру =) Это все конечно теоретически.
Все же если делать, так делать на совесть =)
не забываем тот факт, что многие веб приложения используют кеширование, а это значит создаются временные файлы.
Насчет коментариев, допустим ситуация такая что я каким-то образом знаю что проверка осуществляется по размеру =) Это все конечно теоретически.
Чисто теоретически любую защиту можно обойти. Вопрос времени. Но это не значит что защиты не надо.
не забываем тот факт, что многие веб приложения используют кеширование, а это значит создаются временные файлы.
>>Кстате планирую добавить исключения, правила.
Вот собственно мой простенький вариант на баше )
И так что умеет:
+ работает без использования БД
+ поиск изменений в файлах
+ отправка этого добра на указанный 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 слепок всего нужного и записывается в базу либо в файл (на сервере не сохраняется, выдается на скачку).
потом сверяется со слепком.
что-то поменяли - сделали новый слепок и работаем дальше.
имхо, парсить код совсем не вариант.
имхо, парсить код совсем не вариант.
Че-то спорите ниочем. Давайте все-таки различать 2 задачи:
1. Обнаружение бэкдоров с помощью поиска изменений в файлах, когда у нас есть слепок файлов и каталогов
2. Поиск бэкдоров когда никакого слепка нету.
Это 2 совершенно разные задачи и, на мой взгляд, для их решения стоило бы создать 2 разные тулзы. Первая задача решается, вобщем-то, легко, и мне уже немало реализаций для ее решения встречалось.
А вот поиск бекдоров без слепка - гораздо сложнее (и интересней (: ). Способов автоматизированного поиска можно придумать кучу, и поиск по опасным функциям - это лишь самый примитивный, хотя и действенный (пускай и с ложными срабатываниями) - по собственному опыту могу сказать, что 90% взломщиков не удосуживаются хоть немного обфусцировать код спрятанного шелла.
update. версия 1.1
http://uasc.org.ua/files/AntiBdoor_v1.1.rar
*Мелкие исправление
*Добавил Exceptions
В следующей версии: постараюсь реализовать новые методы поиска шеллов, функцию точек восстановления.
p.s. в паблек
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot