Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
flashmingo — Автоматический анализ SWF-файлов на основе некоторых эвристик. Расширяемо с помощью плагинов. | Kitploit
Инструменты/GitHubGitHub/mandiant/flashmingo
Статический анализДинамический анализ (песочница)Анализ уязвимостейОбратная инженерияСкриптинг и автоматизацияФорензикаАнализ вредоносных программАнализ Бинарных ФайловОбучение и ОбразованиеArchived
GitHubmandiant/flashmingo

flashmingo

120367 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Автоматический анализ SWF-файлов на основе некоторых эвристик. Расширяемо с помощью плагинов.

Репозиторий

FLASHMINGO

Установка

ПРИМЕЧАНИЕ: Следующие инструкции предназначены для Python3.

Если вам необходимо установить FLASHMINGO на Python2.7, вы можете посмотреть релиз 1.0 на вкладке releases. Шаги установки в основном те же.

Установите пакеты Python3, перечисленные в requirements.txt.

Вы можете использовать следующую команду: pip3 install -r requirements.txt

Если вы хотите использовать функциональность декомпиляции, вам необходимо установить Jython. Пользователи Ubuntu/Debian могут выполнить apt install jython

Клонируйте проект или скачайте zip-файл.

Что

FLASHMINGO — это аналитический фреймворк для SWF-файлов. Инструмент автоматически проводит триаж подозрительных Flash-файлов и направляет дальнейший процесс анализа, освобождая ценные ресурсы в вашей команде. Вы можете легко включить аналитические модули FLASHMINGO в свой рабочий процесс.

Зачем

До сих пор криминалистам и аналитикам вредоносного ПО приходится иметь дело с подозрительными SWF-файлами. Если история повторится, угроза безопасности может даже возрасти после окончания срока службы Flash в 2020 году. Системы будут продолжать поддерживать устаревший формат файлов, который больше не будет обновляться патчами безопасности. Автоматизация — лучший способ справиться с этой проблемой, и здесь вам может помочь FLASHMINGO. FLASHMINGO — это аналитический фреймворк для автоматической обработки SWF-файлов, который позволяет помечать подозрительные образцы Flash и анализировать их с минимальными усилиями. Он интегрируется в различные аналитические процессы как самостоятельное приложение или мощная библиотека. Пользователи могут легко расширять функциональность инструмента с помощью пользовательских плагинов на Python.

Как

Архитектура

FLASHMINGO спроектирован с учетом простоты. Он читает SWF-файл и создает объект (SWFObject), представляющий его содержимое и структуру. Затем FLASHMINGO запускает серию плагинов, работающих с этим SWFObject и возвращающих свои значения в основную программу.

Ниже обязательная диаграмма потоков в ASCII-графике:

root@kitploit:~
                                                 +----------+
                                                 |          |
                       +------------+----------->+ PLUGIN 1 +------------+
                       |            |            |          |            |
                       |            |            +----------+            |
                       |            |                                    |
                       |            |            +----------+            |
                       |            |            |          |            |
+---------+            |            +----------->+ PLUGIN 2 +--------+   |
|SWF FILE +----------->+ FLASHMINGO |            |          |        |   |
+---------+            |            |            +----------+        |   |
                       |            |                                |   |
                       |            |                                |   |
                       |            |                                |   |
                       |            |                          +-----v---v-+
                       |            |                          |           |
                       |            |                          |           |
                       +-----+------+------------------------->+ SWFOBJECT |
                             ^                                 |           |
                             |                                 |           |
                             |                                 +-----+-----+
                             |                                       |
                             |                                       |
                             |                                       |
                             +---------------------------------------+

При использовании FLASHMINGO в качестве библиотеки в ваших собственных проектах вам нужно заботиться только о двух типах объектов:

  • один или несколько SWFObject(ов), представляющих образец(ы)
  • объект Flashmingo. Он действует как обвязка, соединяющая плагины и SWFObject(ы).

Плагины!

Плагины FLASHMINGO хранятся в собственных каталогах внутри... вы угадали: plugins Когда создается объект Flashmingo, он проходит по этому каталогу и обрабатывает манифесты всех плагинов. Если манифест указывает, что плагин активен, он регистрируется для последующего использования. На уровне кода это означает, что небольшой словарь plugin_info добавляется в список plugins.

Плагины вызываются через API run_plugin с двумя аргументами:

  • имя плагина
  • экземпляр SWFObject

Опционально большинство плагинов позволяют передавать собственные пользовательские данные. Это зависит от плагина (читайте документацию) и легче всего объясняется на примере. Плагин по умолчанию SuspiciousNames ищет во всех пулах констант строки, содержащие подозрительные подстроки (например: 'overflow', 'spray', 'shell' и т.д.). В плагине уже жестко задан список распространенных подстрок, так что его можно использовать «как есть». Однако вы можете передать список собственных подстрок, в данном случае через параметр names.

Пример кода:

root@kitploit:~
fm = Flashmingo()
print fm.run_plugin('DangerousAPIs', swf=swf)
print fm.run_plugin('SuspiciousNames', swf=swf, names=['spooky'])

Плагины по умолчанию

FLASHMINGO поставляется с некоторыми полезными плагинами «из коробки»:

  • binary_data
  • dangerous_apis
  • decompiler
  • suspicious_constants
  • suspicious_loops
  • suspicious_names
  • template :)

Расширение FLASHMINGO

Предоставляется шаблон плагина для легкой разработки. Расширение FLASHMINGO довольно простое. Выполните следующие простые шаги:

  • Скопируйте шаблон
  • Отредактируйте манифест
  • Переопределите метод run
  • Добавьте свой собственный код

Вы готовы к работе :)

FLASHMINGO как библиотека

API

  • Смотрите каталог docs для автоматически сгенерированной документации
  • Смотрите пост в блоге FireEye для примера

Интерфейсы

  • Консоль

Создание документации

$ pip install sphinxcontrib-napoleon

После настройки Sphinx для сборки вашей документации включите napoleon в файле Sphinx conf.py:

В conf.py добавьте napoleon в список расширений

extensions = ['sphinxcontrib.napoleon']

Используйте sphinx-apidoc для сборки вашей API-документации:

$ sphinx-apidoc -f -o docs/source projectdir

Это создаст файлы .rst для обработки Sphinx

$ make html

Вот и всё! :)

Скачать инструмент