AntiBdoor

Discussion in 'Избранное' started by Dimi4, 19 Dec 2009.

  1. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    AntiBdoor​


    @author Dimi4 [UASC]
    @copyright 2009
    @version 1.0 B ​


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

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

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

    Сриншоты:
    install
    [​IMG]
    auth
    [​IMG]

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

    Скачать - http://uasc.org.ua/files/antibdoor.rar
     
    22 people like this.
  2. (Dm)

    (Dm) Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    261
    Likes Received:
    440
    Reputations:
    275
    хз, по мне так, bash, md5sum, diff
     
  3. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Реализация поиска шеллов не понравилась =) На днях столкнулся с проблемой, мой шелл удаляли на одном серваке чуть не каждый день, в итоге фартануло и нашел сканер файлов который ищет функции exec, system, eval, iframe и тд. так что думаю по етой аналогии и стоит делать систему, в добавок подобный скрипт нужно держать не в ДОКУМЕНТ_РУТ, сделать алиасом, держать под .htpasswd и под правами отличными от www юзвера. Можно даже добавить функцию "Точек восстановления" тоесть сканер видит измененный файл, и заменяет его безопасной копией.
     
  4. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    Конечно реализация для поиска шеллов тупая, но я говорю что это бетка. Добавлю функции поиска по содержимому и тд. Над точками восстановления можно подумать
     
    1 person likes this.
  5. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    Например в скриптах шелла можно изменить пароль, изменяешь > уже не соответствие размера :) А если например eval(base64_decode()) ?) Тогда точно ненайдёшь :)
     
  6. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    Ну там же не до байта проверка, а округлено :)
     
  7. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    К тому же пароль в мд5 =) всегда 32 символа
     
  8. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    Приду через 3 часа потестю)
    Кстате планирую добавить исключения, правила.
     
  9. Spyder

    Spyder Elder - Старейшина

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    ну конечно) А если шелл закодирован в base64 или гзипом? Что ты будешь искать? Поиск по размеру очень хорошая идея, хотя конечно другие алгоритмы поиска добавить не помешает
     
  10. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Да есть туча вполне мирных функций, которые можно использовать в качестве полноценного бекдора. Если все их искать, получим тучу ложных срабатываний.

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

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    РСТ палится евалом
    ВСО палится прег_репл с ключем "е"
    Как сказал Qwazar "лучше так чем ничего"
    Что хорошего ? Потер лишние коментарии в скрипте (если есть) и втулил свой код. Если уже и проверять то по мд5 сумме файлов, и иметь папку mirror с копией веб директории для мгновенной замены если несоотвествует сумме мд5.
     
    1 person likes this.
  12. Spyder

    Spyder Elder - Старейшина

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    евалом палится куча мирных скриптов, как и прег_реплейс с /е, такой поиск выдаст кучу ложных срабатываний. Оно надо?
    а ты сам то часто трешь коменты чтобы изменить размер?
     
  13. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Насчет коментариев, допустим ситуация такая что я каким-то образом знаю что проверка осуществляется по размеру =) Это все конечно теоретически.
    Все же если делать, так делать на совесть =)
     
  14. (Dm)

    (Dm) Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    261
    Likes Received:
    440
    Reputations:
    275
    не забываем тот факт, что многие веб приложения используют кеширование, а это значит создаются временные файлы.
     
  15. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    Чисто теоретически любую защиту можно обойти. Вопрос времени. Но это не значит что защиты не надо.

    >>Кстате планирую добавить исключения, правила.
     
    1 person likes this.
  16. (Dm)

    (Dm) Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    261
    Likes Received:
    440
    Reputations:
    275
    Вот собственно мой простенький вариант на баше )
    И так что умеет:
    + работает без использования БД
    + поиск изменений в файлах
    + отправка этого добра на указанный email
    + автоматическое восстановление файлов и удаление новых
    + возможность указать файлы(типы) которые не надо проверять

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

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

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

    Attached Files:

    7 people like this.
  17. life_is_shit

    life_is_shit Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    300
    Likes Received:
    149
    Reputations:
    19
    Делал когда-то такую штуку, как плагин к админке магазина.
    банально.
    делается md5 слепок всего нужного и записывается в базу либо в файл (на сервере не сохраняется, выдается на скачку).
    потом сверяется со слепком.
    что-то поменяли - сделали новый слепок и работаем дальше.
    имхо, парсить код совсем не вариант.
     
  18. cr0w

    cr0w Elder - Старейшина

    Joined:
    11 Sep 2008
    Messages:
    92
    Likes Received:
    141
    Reputations:
    33
    Че-то спорите ниочем. Давайте все-таки различать 2 задачи:
    1. Обнаружение бэкдоров с помощью поиска изменений в файлах, когда у нас есть слепок файлов и каталогов
    2. Поиск бэкдоров когда никакого слепка нету.

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

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

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    update. версия 1.1
    http://uasc.org.ua/files/AntiBdoor_v1.1.rar

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

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

    p.s. в паблек
     
    #19 Dimi4, 6 Feb 2010
    Last edited: 6 Feb 2010
    5 people like this.