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

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

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

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

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

Категории

Все категории
Loading categories
hyperpom — AArch64 фаззер на основе гипервизора Apple Silicon | Kitploit
Инструменты/GitHubGitHub/impalabs/hyperpom
Динамический анализ (песочница)Анализ уязвимостейВиртуализация для безопасностиФаззингАнализ Бинарных Файлов
GitHubimpalabs/hyperpom

hyperpom

AArch64 фаззер на основе гипервизора Apple Silicon

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

Популярное

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

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

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

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

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

логотип hyperpom

HYPERPOM
Библиотека для фаззинга AArch64 на основе гипервизора Apple Silicon


shields.io license shields.io version shields.io platform
shields.io rust version shields.io crates.io shields.io crates.io


Содержание

  • Предупреждение
  • Начало работы
    • Предварительные требования
    • Самоподписанные бинарные файлы и энтайтлмент гипервизора
  • Процесс компиляции
  • Документация
  • Примеры
  • Запуск тестов
  • Авторы
  • Hyperpom — это фреймворк для фаззинга на основе покрытия и мутаций, построенный поверх гипервизора Apple Silicon. Он спроектирован для простой инструментации и фаззинга AArch64-бинарных файлов пользовательского режима.

    ⚠️ Предупреждение

    Идея этого проекта заключалась в создании эффективного и быстрого фаззера, использующего возможности Apple Silicon. Однако на данном этапе, хотя фаззер и работает, он всё ещё по большей части является доказательством концепции и требует огромного количества доработок для улучшения функциональности, удобства использования и производительности.

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

    Начало работы

    Предварительные требования

    1. Установите Rust и rustup, следуя официальному руководству.
    2. Установите nightly-канал.
    root@kitploit:~
    rustup toolchain install nightly
    
    1. Чтобы использовать этот канал при компиляции, вы можете либо:

      • установить его по умолчанию с помощью rustup default nightly;
      • либо добавлять +nightly каждый раз при компиляции бинарного файла с помощью cargo.
    2. Установите Cmake, например с помощью brew:

    root@kitploit:~
    brew install cmake
    

    Самоподписанные бинарные файлы и энтайтлмент гипервизора

    Чтобы получить доступ к Hypervisor Framework, исполняемому бинарному файлу должен быть предоставлен энтайтлмент гипервизора.

    Вы можете добавить этот энтайтлмент к бинарному файлу, расположенному по пути /path/to/binary, используя файл entitlements.xml, находящийся в корне репозитория Hyperpom, и следующую команду:

    root@kitploit:~
    codesign --sign - --entitlements entitlements.xml --deep --force /path/to/binary
    

    Процесс компиляции

    Создайте проект Rust и добавьте Hyperpom в качестве зависимости в Cargo.toml. Вы можете либо загрузить его с crates.io ...

    root@kitploit:~
    # Check which version is the latest, this part of the README might not be updated
    # in future releases.
    hyperpom = "0.1.0"
    

    ... либо напрямую из репозитория GitHub.

    root@kitploit:~
    hyperpom = { git="https://github.com/impalabs/hyperpom", branch="master" }
    

    Создайте файл с именем entitlements.txt в корневом каталоге проекта и добавьте следующее:

    root@kitploit:~
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>com.apple.security.hypervisor</key>
        <true/>
    </dict>
    </plist>
    

    Напишите код, а затем соберите проект.

    root@kitploit:~
    cargo build --release
    

    Подпишите бинарный файл и предоставьте ему энтайтлмент гипервизора.

    root@kitploit:~
    codesign --sign - --entitlements entitlements.xml --deep --force target/release/${PROJECT_NAME}
    

    Запустите бинарный файл.

    root@kitploit:~
    target/release/${PROJECT_NAME}
    

    Документация

    Документация доступна онлайн по следующему адресу: https://docs.rs/hyperpom

    Кроме того, вы можете сгенерировать её с помощью cargo:

    root@kitploit:~
    cargo doc --open
    

    Документация содержит информацию об использовании фреймворка и его внутреннем устройстве. Подробное руководство можно найти в главе Loader, где приведены примеры использования фаззера и создания харнесов для целевых программ.

    Примеры

    Предоставлены четыре примера, которые помогут вам лучше понять, как работает фреймворк, и начать работу:

    • simple_executor: демонстрирует, как запускать произвольный код в виртуальной машине с помощью Executor.
    • simple_tracer: запускает программу с трассировкой её инструкций.
    • simple_fuzzer: фаззит простую программу.
    • upng_fuzzer: фаззер для библиотеки uPNG.

    Вы также можете посмотреть тесты.

    Запуск тестов

    Чтобы запустить тесты с помощью Makefile, входящего в состав проекта, сначала потребуется установить jq. Это можно сделать с помощью brew:

    root@kitploit:~
    brew install jq
    

    Затем вы можете запустить тесты с помощью Makefile, используя следующую команду:

    root@kitploit:~
    make tests
    

    Авторы

    • Maxime Peterlin - [email protected]
    Скачать инструмент