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

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

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

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

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

Категории

Все категории
Loading categories
kaiju — CERT Kaiju — это расширение фреймворка для бинарного анализа для пакета обратной инженерии Ghidra. Этот репозиторий является «зеркалом» — пожалуйста, оформляйте заявки, сообщения об ошибках или запросы на слияние в основном репозитории @CERTCC: https://github.com/certcc/kaiju | Kitploit
Инструменты/GitHubGitHub/cmu-sei/kaiju
Статический анализОбратная инженерияАнализ вредоносных программАнализ Бинарных ФайловАнализ Прошивок
GitHubcmu-sei/kaiju

kaiju

CERT Kaiju — это расширение фреймворка для бинарного анализа для пакета обратной инженерии Ghidra. Этот репозиторий является «зеркалом» — пожалуйста, оформляйте заявки, сообщения об ошибках или запросы на слияние в основном репозитории @CERTCC: https://github.com/certcc/kaiju

Репозиторий
1443936 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

Dynamic YAML Badge release_on_tag Badge run_tests_on_push_pr Badge

Среда бинарного анализа CERT Kaiju для GHIDRA

CERT Kaiju — это набор инструментов бинарного анализа для Ghidra.

Это реализация на Ghidra/Java некоторых возможностей фреймворка CERT Pharos Binary Analysis Framework, особенно инструментов хеширования функций и анализа вредоносного ПО, но со временем ожидается появление новых инструментов и возможностей.

Поскольку это новая разработка, данная реализация пока не обладает полной функциональной совместимостью с исходной реализацией на C++ на базе ROSE; однако переход на Java и Ghidra позволил реализовать некоторые новые возможности, недоступные в оригинальном фреймворке — в частности, улучшенную обработку архитектур, отличных от x86. Поскольку происходит существенная перестройка фреймворка и инструментов, а переход на Java и Ghidra открывает иные возможности, чем реализация на C++, было принято решение использовать новый бренд, чтобы уменьшить путаницу между реализациями при обсуждении различных инструментов и возможностей.

В ближайшем будущем мы планируем поддерживать как оригинальный фреймворк Pharos, так и Kaiju, параллельно, поскольку оба могут предоставлять уникальные функции и возможности.

ПРЕДУПРЕЖДЕНИЕ: как прототип, данный плагин может вызывать множество проблем при оценке хешей функций. Например, в отличие от реализации Pharos, модуль хеширования функций Kaiju создаёт хеши для очень маленьких функций (например, содержащих одну инструкцию, такую как RET), что приводит к гораздо большему количеству случайных коллизий. Поэтому аналитические результаты могут различаться между этим плагином и Pharos fn2hash.

Установка

Готовые пакеты Kaiju доступны. Просто скачайте ZIP-файл, соответствующий вашей версии Ghidra, и установите согласно инструкциям ниже. Рекомендуется установка через графический интерфейс Ghidra, но также можно вручную распаковать в соответствующую директорию.

CERT Kaiju требует следующие зависимости времени выполнения:

  • Ghidra 10.3.x, 10.4.x, 11.0.x, 11.1.x, 11.2.x, 11.3.x, 11.4.x, 12.0.x
  • JDK 21 (или 17 для старых версий Ghidra)
  • Z3 включая Java-привязки Z3 .jar

Z3 поставляется предварительно скомпилированным в составе готовых пакетов, либо вы можете собрать Z3 самостоятельно или использовать пакет из вашего дистрибутива Linux.

Графическая установка

Запустите Ghidra, в стартовом окне выберите в меню: File > Install Extension. Нажмите на знак плюса в верхней части окна расширений, найдите и выберите .zip-файл в проводнике и нажмите OK. Расширение будет установлено, а рядом с его именем в окне появится флажок, подтверждающий установку.

Интерфейс предложит перезапустить Ghidra для начала использования расширения. Просто перезапустите, после чего дополнительные функции Kaiju станут доступны для интерактивного использования или в скриптах.

Для работы некоторых функций может потребоваться включение плагинов Kaiju. Для этого откройте Code Browser, затем перейдите в меню File > Configure. В появившемся окне нажмите ссылку Configure под иконкой категории "CERT Kaiju". Во всплывающем окне отобразятся все доступные публичные плагины Kaiju. Отметьте нужные плагины и нажмите OK. После этого вы получите доступ к интерактивным функциям плагинов.

Если плагин после включения не стал сразу видимым, его можно найти в меню Window в Code Browser.

Экспериментальные "альфа" версии будущих инструментов могут быть доступны в категории "Experimental", если вы хотите их протестировать. Однако эти плагины являются экспериментальными, не поддерживаются и не рекомендуются для использования в производственной среде. Мы приветствуем ранние отзывы!

Ручная установка

Расширения Ghidra, такие как Kaiju, также могут быть установлены вручную путём распаковки содержимого расширения в соответствующую директорию вашей установки Ghidra. Для получения дополнительной информации см. Руководство по установке Ghidra.

Сборка самостоятельно

Вы также можете собрать расширение Kaiju напрямую из исходного кода. См. файл INSTALL.md в корневом каталоге исходников Kaiju.

Использование

Инструменты Kaiju могут использоваться как в интерактивном графическом режиме, так и в "безголовом" режиме, более подходящем для пакетной обработки. Некоторые инструменты могут быть доступны только для графического или только для безголового использования, в зависимости от их природы.

Интерактивный графический интерфейс

Kaiju создаёт интерактивный графический интерфейс (GUI) внутри Ghidra, используя Java Swing и архитектуру плагинов Ghidra.

Большинство инструментов Kaiju на самом деле являются плагинами анализа, которые запускаются автоматически при выборе опции "Auto Analysis" — либо при импорте нового исполняемого файла для дизассемблирования, либо при прямом выборе Analysis > Auto Analyze... в окне Code Browser. В окне Auto Analyze по умолчанию выбрано несколько плагинов анализа CERT, но вы можете включать/отключать любые по желанию.

Однако инструменты анализа должны быть запущены до того, как заработают различные GUI-инструменты. В некоторых пограничных случаях может быть полезно запустить Auto Analysis дважды, чтобы убедиться, что все метаданные созданы для корректного разбиения и информации о дизассемблировании, что, в свою очередь, может повлиять на результаты хеширования.

Анализаторы автоматически запускаются во время фазы анализа Ghidra и включают:

  • DisasmImprovements — улучшает разбиение функций дизассемблирования по сравнению со стандартным разбиением Ghidra.
  • Fn2Hash — вычисляет хеши функций для всех функций в программе. Используется для генерации YARA-сигнатур для программ.

Инструменты GUI включают:

  • GhiHorn — плагин для вычисления путей и достижимости в графах потока управления с использованием Z3.
    • Выберите Kaiju > GhiHorn для доступа к этому инструменту из CodeBrowser Ghidra. Также можно запустить плагин нажатием CTRL-G.
  • Function Hash Viewer — плагин, отображающий интерактивный список функций в программе и несколько типов хешей. Аналитики могут экспортировать одну или несколько функций из программы в YARA-сигнатуры.
    • Выберите Window > CERT Kaiju Function Hash Viewer в меню, чтобы начать работу с этим инструментом, если он ещё не видим. Появится новое окно с таблицей хешей и другими данными. Кнопки в верхней части окна позволяют обновить таблицу или экспортировать данные в файл или YARA-сигнатуру. Это окно также можно пристыковать к основному CodeBrowser Ghidra для удобства совместного использования с другими плагинами. Более подробная документация по использованию доступна в меню Ghidra Help > Contents при работе с инструментом.
  • OOAnalyzer JSON Importer — плагин, который может загружать, анализировать и применять результаты OOAnalyzer, сгенерированные Pharos, к исполняемым файлам объектно-ориентированного C++ в проекте Ghidra. При запуске плагин запрашивает у пользователя JSON-файл, созданный OOAnalyzer, содержащий информацию о восстановленных классах C++. После загрузки JSON-файла восстановленные типы данных C++ и символы, найденные OOAnalyzer, обновляются в Code Browser Ghidra. Дизайн и детали реализации плагина описаны в нашем блоге SEI под названием Using OOAnalyzer to Reverse Engineer Object Oriented Code with Ghidra.
    • Выберите Kaiju > OOAnalyzer Importer в меню, чтобы начать работу с этим инструментом. Простое диалоговое окно попросит вас указать JSON-файл для импорта. Более подробная документация по использованию доступна в меню Ghidra Help > Contents при работе с инструментом.

Командный "безголовый" режим

Ghidra также поддерживает "безголовый" режим, позволяющий запускать инструменты в некоторых случаях без использования интерактивного GUI. Эти команды можно использовать для написания скриптов и пакетной обработки большого количества файлов.

Инструменты безголового режима в значительной степени полагаются на функциональность GhidraScript.

Инструменты безголового режима включают:

  • fn2hash — автоматически запускает Fn2Hash для данной программы и экспортирует все хеши в указанный CSV-файл
  • fn2yara — автоматически запускает Fn2Hash для данной программы и экспортирует все данные хешей в виде YARA-сигнатур в указанный файл
  • fnxrefs — анализирует программу и экспортирует список функций по адресу точки входа, имеющих перекрёстные ссылки в данных или других частях программы

В комплект входит простой скрипт запуска оболочки с именем kaijuRun, предназначенный для выполнения этих безголовых команд в простых сценариях, например, для вывода хешей функций каждой функции в одном исполняемом файле. Предполагая, что переменная GHIDRA_INSTALL_DIR установлена, можно, например, запустить скрипт для одного исполняемого файла следующим образом:

root@kitploit:~
$GHIDRA_INSTALL_DIR/Ghidra/Extensions/kaiju/kaijuRun fn2hash example.exe

Эта команда выведет результаты в автоматически именованный файл example.exe.Hashes.csv.

Краткая справка по скрипту kaijuRun доступна при запуске:

root@kitploit:~
$GHIDRA_INSTALL_DIR/Ghidra/Extensions/kaiju/kaijuRun --help

Дополнительную информацию об использовании этого режима и скрипта запуска kaijuRun см. в файле docs/HeadlessKaiju.md в репозитории.

Дополнительная документация и справка

Более полная документация и справка доступны в одном из двух форматов.

См. каталог docs/ для документации в формате Markdown и справки по всем инструментам и компонентам Kaiju. Эти документы легко поддерживать, редактировать и читать даже из командной строки.

Кроме того, ту же документацию можно найти во встроенной справочной системе Ghidra. Чтобы получить доступ к этим справочным документам, в меню Ghidra выберите Help > Contents, а затем выберите CERT Kaiju в дереве навигации слева в окне справки.

Обратите внимание, что справочная документация Ghidra — это точно то же содержимое, что и файлы Markdown в каталоге docs/; благодаря встроенному плагину gradle, gradle автоматически парсит Markdown и экспортирует в HTML Ghidra во время сборки. Это позволяет упростить сопровождение (обновление документации только в одном месте) и поддерживает их синхронизацию.

Вся новая документация должна добавляться в каталог docs/.

Лицензирование

Данное программное обеспечение лицензировано по упрощённой лицензии BSD-стиля Институтом программной инженерии Университета Карнеги-Меллон. Полные условия этой лицензии, а также условия лицензирования зависимостей, используемых в этом проекте, приведены в файле LICENSE.md в корне этого репозитория.

Логотип CERT Kaiju основан на изображении, созданном Cameron Spahn, первоначально выпущенном на условиях лицензии Creative Commons Attribution-Share Alike 4.0 International.

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