
Простой сканер Bash IOC
Простой Bash IOC сканер
Fenrir — это простой Bash-скрипт для сканирования IOC. Он позволяет сканировать системы Linux/Unix/OSX на наличие следующих индикаторов компрометации (IOCs):
Хэши
MD5, SHA1 и SHA256 (с использованием md5sum, sha1sum, sha -a 256)
Имена файлов
строка — проверка на подстроку полного пути, например, "temp/p.exe" в "/var/temp/p.exe"
Строки
grep в файлах
C2-сервер
проверка строк C2-сервера в выводе 'lsof -i' и 'lsof -i -n'
Горячий временной интервал
использование stat в различных режимах — задать минимальную и максимальную временную метку эпохи и получить все файлы, созданные в этом промежутке
Основные характеристики:
FENRIR — третий инструмент после THOR и LOKI. THOR — это наш полнофункциональный APT-сканер со множеством модулей и типов экспорта для корпоративных клиентов. LOKI — это бесплатный и открытый IOC-сканер, использующий YARA в качестве формата сигнатур.
Проблема обоих предшественников в том, что у обоих есть определенные требования к платформе Linux. Мы собираем THOR для определенной версии Linux, чтобы соответствовать правильной libc, требуемой модулем YARA. LOKI требует установки Python и YARA на Linux для работы.
Мы столкнулись с проблемой проверки более 100 различных систем Linux на наличие определенных индикаторов компрометации (IOC) без установки агента или пакетов программного обеспечения. У нас уже был Ansible playbook для распространения THOR на определенном наборе удаленных систем Linux. Этот playbook создает RAM-диск на удаленной системе, копирует локальный бинарный файл программы на удаленную систему, запускает его, а затем извлекает логи. Это гарантирует минимальный след программы на удаленной системе. Я адаптировал Ansible playbook для Fenrir. (он все еще не протестирован)
Fenrir все еще находится в стадии 'тестирования'. Пожалуйста, сообщайте об ошибках (и решениях) через раздел "Issues" здесь на GitHub.
Если вы найдете более лучшее/более надежное/менее подверженное ошибкам решение для оценок в скрипте, пожалуйста, сообщите о них. Я не являюсь全职 Bash-программистом, поэтому ожидаю некоторого пространства для улучшений.
Usage: ./fenrir.sh DIRECTORY
DIRECTORY - Start point of the recursive scan
Все настройки можно задать в заголовке скрипта.

Что делает Fenrir:
Запуск сканирования, показывающий разные типы совпадений в демо-каталоге.

Обнаружение C2-соединений

Обнаружение строк в GZIP-упакованных лог-файлах

Конфигурация

Ansible Playbook

Проблема stat (касательно метки CREATED файла в файловых системах Linux)

через Twitter @Cyb3rOps