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

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

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

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

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

Категории

Все категории
Loading categories
idahunt — idahunt — это фреймворк для анализа бинарных файлов с помощью IDA Pro и поиска интересующих объектов в IDA Pro. | Kitploit
Инструменты/GitHubGitHub/nccgroup/idahunt
Безопасность встроенных системАнализ уязвимостейОбратная инженерияСкриптинг и автоматизацияАнализ вредоносных программАнализ Бинарных ФайловАнализ Прошивок
GitHubnccgroup/idahunt

idahunt

idahunt — это фреймворк для анализа бинарных файлов с помощью IDA Pro и поиска интересующих объектов в IDA Pro.

Репозиторий
39361733 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

  • Обзор
    • Требования
    • Возможности
    • Скриптинг
  • Использование
    • Симуляция без выполнения
    • Первоначальный анализ
    • Выполнение IDA Python скрипта
    • Диффинг бинарных файлов
      • Требования
      • Первоначальный анализ
      • Диффинг файлов
      • Диффинг функции
    • Фильтры
      • Определение архитектуры
      • Специфичные для целевых устройств
  • Известные проекты, использующие idahunt

Обзор

idahunt — это фреймворк для анализа бинарных файлов с помощью IDA Pro и поиска различных элементов в IDA Pro. Это инструмент командной строки для рекурсивного анализа всех исполняемых файлов из заданной папки. Он запускает IDA в фоновом режиме, поэтому вам не нужно открывать каждый файл вручную. Он поддерживает выполнение внешних IDA Python скриптов.

Требования

  • Только Python3 (за исключением IDA Python скриптов, которые могут быть на Python2/Python3 в зависимости от вашей настройки IDA)
  • IDA Pro
  • Windows, Linux, OS X

Возможности

  • Указывать, сколько экземпляров IDA запускать одновременно
  • Автоматизировать создание IDB для нескольких исполняемых файлов
  • Выполнять IDA Python скрипты для нескольких исполняемых файлов
  • Открывать несколько существующих IDB
  • Поддерживать любой формат бинарных файлов (raw assembly/PE/ELF/MACH-O/и т.д.), поддерживаемый IDA
  • (Необязательно) Включать IDA Python хелперы. Вы можете использовать их для простого создания собственных IDA Python скриптов или использовать любую другую IDA Python библиотеку, например sark или bip, и многие другие.

Полезные примеры включают (неисчерпывающий список):

  • Анализ обновлений Microsoft Patch Tuesday
  • Анализ вредоносных программ одного семейства
  • Анализ нескольких версий одного и того же ПО
  • Анализ множества бинарных файлов (UEFI, HP iLO, маршрутизаторы Cisco IOS, межсетевые экраны Cisco ASA и т. д.)

Скриптинг

Возможности IDA Python скриптов безграничны. Вы можете импортировать любой существующий IDA Python скрипт или создать свой собственный. Некоторые примеры:

  • Переименовывать функции на основе отладочных строк
  • Расшифровывать строки (например, в вредоносных программах)
  • Искать один и тот же символ в нескольких версиях (с использованием эвристик)
  • Искать ROP-гаджеты
  • Переносить восстановленные имена функций / символов из одной версии в другую с помощью таких инструментов, как diaphora
  • И т. д.

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

  • idahunt.py: основной инструмент для анализа исполняемых файлов
  • filters/: содержит базовые фильтры для определения, какие файлы во входной директории анализировать с помощью IDA
    • filters/default.py: базовый фильтр по умолчанию, не фильтрующий ничего и используемый по умолчанию
    • filters/ciscoasa.py: полезен для анализа образов Cisco ASA Firewall
    • filters/hpilo.py: полезен для анализа образов HP iLO
    • filters/names.py: базовый фильтр по имени, длине имени или расширению
  • script_template.py: содержит IDA Python скрипт hello world
C:\idahunt> C:\Python37-x64\python.exe .\idahunt.py -h
usage: idahunt.py [-h] [--inputdir INPUTDIR] [--analyse] [--open]
                  [--ida-args IDA_ARGS] [--scripts SCRIPTS [SCRIPTS ...]]
                  [--filter FILTER] [--cleanup] [--temp-cleanup] [--verbose]
                  [--max-ida MAX_IDA] [--list-only] [--version IDA_VERSION]

optional arguments:
  -h, --help            show this help message and exit
  --inputdir INPUTDIR   Input folder to search for files
  --analyse, --analyze  analyse all files i.e. create .idb for all of them
  --open                open all files into IDA (debug only)
  --ida-args IDA_ARGS   Additional arguments to pass to IDA (e.g.
                        -p<processor> -i<entry_point> -b<load_addr>)
  --scripts SCRIPTS [SCRIPTS ...]
                        List of IDA Python scripts to execute in this order
  --filter FILTER       External python script with optional arguments
                        defining a filter for the names of the files to
                        analyse. See filters/names.py for example
  --cleanup             Cleanup i.e. remove .asm files that we don't need
  --temp-cleanup        Cleanup temporary database files i.e. remove .id0,
                        .id1, .id2, .nam, .dmp files if IDA Pro crashed and
                        did not delete them
  --verbose             be more verbose to debug script
  --max-ida MAX_IDA     Maximum number of instances of IDA to run at a time
                        (default: 10)
  --list-only           List only what files would be handled without
                        executing IDA
  --version IDA_VERSION
                        Override IDA version (e.g. "7.5"). This is used to
                        find the path of IDA on Windows.

Симуляция без выполнения

Вы можете использовать --list-only с любой командной строкой, чтобы просто вывести список того, что инструмент сделал бы, не выполняя этого.

C:\idahunt>idahunt.py --inputdir C:\re --analyse --filter "filters\names.py -a 32 -v" --list-only
[idahunt] Simulating only...
[idahunt] ANALYSING FILES
[idahunt] Analysing C:\re\cves\cve-2014-4076.dll
[idahunt] Analysing C:\re\cves\cve-2014-4076.exe
[idahunt] Analysing C:\re\DownloadExecute.exe
[idahunt] Analysing C:\re\ReverseShell.exe

Первоначальный анализ

Здесь мы запускаем первоначальный анализ. Он завершается через несколько секунд:

C:\idahunt>idahunt.py --inputdir C:\re --analyse --filter "filters\names.py -a 32 -v"
[idahunt] ANALYSING FILES
[idahunt] Analysing C:\re\cves\cve-2014-4076.dll
[idahunt] Analysing C:\re\cves\cve-2014-4076.exe
[idahunt] Analysing C:\re\DownloadExecute.exe
[idahunt] Analysing C:\re\ReverseShell.exe
[idahunt] Waiting on remaining 4 IDA instances

Здесь мы удаляем временные .asm файлы, созданные первоначальным анализом:

C:\idahunt>idahunt.py --inputdir C:\re --cleanup
[idahunt] Deleting C:\re\cves\cve-2014-4076.asm
[idahunt] Deleting C:\re\DownloadExecute.asm
[idahunt] Deleting C:\re\ReverseShell.asm

Мы можем видеть сгенерированные .idb, а также некоторые .log файлы, содержащие окно вывода IDA Pro.

C:\idahunt>tree /f C:\re
Folder PATH listing
Volume serial number is XXXX-XXXX
C:\RE
│   DownloadExecute.exe
│   DownloadExecute.idb
│   DownloadExecute.log
│   ReverseShell.exe
│   ReverseShell.idb
│   ReverseShell.log
│
└───cves
        cve-2014-4076.dll
        cve-2014-4076.exe
        cve-2014-4076.idb
        cve-2014-4076.log

Выполнение IDA Python скрипта

Здесь мы выполняем базовый IDA Python скрипт, который выводит [script_template] I execute in IDA, yay! в окно вывода IDA Pro.

C:\idahunt>idahunt.py --inputdir C:\re --filter "filters\names.py -a 32 -v" --scripts C:\idahunt\script_template.py
[idahunt] EXECUTE SCRIPTS
[idahunt] Executing script C:\idahunt\script_template.py for C:\re\cves\cve-2014-4076.dll
[idahunt] Executing script C:\idahunt\script_template.py for C:\re\cves\cve-2014-4076.exe
[idahunt] Executing script C:\idahunt\script_template.py for C:\re\DownloadExecute.exe
[idahunt] Executing script C:\idahunt\script_template.py for C:\re\ReverseShell.exe
[idahunt] Waiting on remaining 4 IDA instances

Поскольку результат сохраняется в .log файле, мы можем проверить, что он успешно выполнился:

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