Идентифицирует и извлекает конфигурацию из образцов малвари и ботов через YARA-сигнатуры: читает файл в память, применяет препроцессоры (например, распаковку UPX), затем находит совпадающий модуль и извлекает конфигурацию в JSON. Поддерживает десятки семейств — Andromeda, BlackShades, DarkComet, CyberGate, Dendroid, Bozok и др. Восстановлено из архива Software Heritage: оригинальный репозиторий был удалён автором с исходной площадки. Из-за перегрузки очереди приготовления полного git-бандла восстановлен только последний известный снимок файлов (без истории коммитов) и перенесён в наш Forgejo-миррор.
# Требуется Python 2 (проект не портирован на Python 3) git clone https://git.toolsofthetrade.qzz.io/recovered/bamfdetect.git cd bamfdetect pip2 install pefile yara-python rarfile pycrypto pbkdf2 # + установить бинарник upx (apt install upx-ucl / brew install upx) python2 setup.py install # либо запуск без установки: python2 bamfdetect -r /path/to/samples
Идентифицирует и извлекает информацию из ботов и другой малвари, возвращая результат в читаемом JSON-формате. Работает через чтение файла в память, применение препроцессоров (например, распаковку UPX через временный файл), после чего к данным применяются YARA-сигнатуры модулей для определения совпадения. После нахождения совпадения модуль извлекает конфигурацию из файла.
Abaddon, Alina, Andromeda, Backoff, BlackShades, BlackWorm, Bozok, CyberGate, Cythosia, DarkComet, Dendroid, Dexter, DiamondFox, Easter JackPOS, Elise, Evora, Genome, GlassRAT, Herpesnet, JackPOS, Maazben, MadnessPro, Nanocore, njRat, pBot, PoisonIvy, Pony, ProjectHook, Solar, VertexNet, vSkimmer, XtremeRAT.
$ bamfdetect -h
usage: bamfdetect [-h] [-v] [-d] [-r] [-l] [-m MODULE] [-t THREADS]
[path [path ...]]
positional arguments:
path Пути к файлам или директориям для сканирования
optional arguments:
-h, --help показать это сообщение и выйти
-v, --version показать версию программы и выйти
-d, --detect Только обнаружение файлов
-r, --recursive Сканировать пути рекурсивно
-l, --list Список доступных модулей
-m MODULE, --module MODULE
Модули для использования, если не указано —
используются все модули
-t THREADS, --threads THREADS
Количество потоков
PE-файлы проверяются на сжатие UPX перед сканированием. Если сжаты — записываются во временный файл, затем распаковываются утилитой UPX. YARA-правила и извлечение конфигурации применяются уже к распакованным данным.