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

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

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

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

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

Категории

Все категории
Loading categories
BootStomp — BootStomp: инструмент для поиска уязвимостей в загрузчиках | Kitploit
Инструменты/GitHubGitHub/ucsb-seclab/bootstomp
Безопасность AndroidАнализ уязвимостейЭксплуатацияФаззингАнализ Бинарных ФайловАнализ Прошивок
GitHubucsb-seclab/bootstomp

BootStomp

BootStomp: инструмент для поиска уязвимостей в загрузчиках

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

Популярное

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

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

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

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

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

BootStomp

License

BootStomp — это инструмент поиска ошибок в загрузчиках. Он ищет два типа уязвимостей: повреждение памяти и небезопасное хранение состояния. Для получения дополнительной информации обратитесь к статье о BootStomp по адресу https://seclab.cs.ucsb.edu/academic/publishing/#bootstomp-security-bootloaders-mobile-devices-2017

Чтобы запустить анализ BootStomp, следуйте приведённым ниже инструкциям. Обратите внимание, что BootStomp работает с загрузчиками, скомпилированными для архитектуры ARM (как 32, так и 64 бита), и результаты могут незначительно различаться в зависимости от версий angr и Z3. Это связано со временем, которое angr тратит на анализ базовых блоков, и результатами конкретизации выражений Z3.


Структура каталогов

  • analysis: Содержит результаты анализа (например, IDB-файлы IDA) загрузочных образов различных устройств.
  • tools: Содержит инструменты для работы с различными образами.

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

  • angr (http://angr.io/)

$ pip install angr

  • IDA PRO (https://www.hex-rays.com/products/ida/)
  • IDA Decompiler (https://www.hex-rays.com/products/decompiler/)

Как запустить

Запуск BootStomp с помощью Docker

Самый простой способ использовать BootStomp — запустить его в контейнере Docker. Папка docker содержит соответствующий Dockerfile. Вот команды для его использования.

root@kitploit:~
cd docker
# build the docker image
docker build -t bootstomp .
# run the docker image (if you need, use proper options to have persistent changes or shared files)
docker run -it bootstomp

# now you are inside a docker container
cd BootStomp
# run BootStomp's taint analysis on one of the examples
# this will take about 30 minutes
python taint_analysis/bootloadertaint.py config/config.huawei
# the last line of the output will be something like:
# INFO    | 2017-10-14 01:54:10,617 | _CoreTaint | Results in /tmp/BootloaderTaint_fastboot.img_.out

# you can then "pretty print" the results using:
python taint_analysis/result_pretty_print.py /tmp/BootloaderTaint_fastboot.img_.out

Вывод должен выглядеть примерно так:

root@kitploit:~
...
17)
===================== Start Info path =====================
Dereference address at: 0x5319cL
Reason: at location 0x5319cL a tainted variable is dereferenced and used as address.
...
Tainted Path 
----------------
0x52f3cL -> 0x52f78L -> 0x52f8cL -> 0x52fb8L -> 0x52fc8L -> 0x52fecL -> 0x53000L -> 0x53014L -> 0x5301cL -> 0x53030L -> 0x53044L -> 0x53050L -> 0x5305cL -> 0x53068L
===================== End Info path =====================
# Total sinks related alerts: 5
# Total loop related alerts: 8
# Total dereference related alerts: 4

Запуск BootStomp вручную

Автоматическое обнаружение источников и стоков примесей (taint)

  1. Загрузите двоичный файл загрузчика в IDA (мы использовали версию 6.95). В зависимости от архитектуры процессора телефона, из которого он был извлечён, может потребоваться 32- или 64-битная IDA.
  2. В строке меню выполните File => Script file => find_taint.py.
  3. Результат появится в файле taint_source_sink.txt в том же каталоге, где находится загрузчик.

Файл конфигурации

Создайте JSON-файл конфигурации для двоичного файла загрузчика (примеры см. в config/), где:

  • bootloader: путь к файлу загрузчика
  • info_path: путь к файлу с информацией об источниках/стоках загрузчика (т.е. taint_source_sink.txt)
  • arch: разрядность архитектуры (доступные варианты: 32 и 64)
  • enable_thumb: учитывать режим Thumb (при необходимости) во время анализа
  • start_with_thumb: начинать анализ с включённым режимом Thumb
  • exit_on_dec_error: остановить анализ, если некоторые инструкции не удаётся декодировать
  • unlock_addr: адрес функции разблокировки. Это поле необходимо только для поиска уязвимостей небезопасного хранения состояния.

Поиск уязвимостей повреждения памяти

Выполните:

python bootloadertaint.py config-file-path

Результаты будут сохранены в /tmp/BootloaderTaint_[boot-loader].out, где [boot-loader] — имя анализируемого загрузчика. Обратите внимание, что пути, содержащие циклы, могут появляться несколько раз.

Поиск уязвимости небезопасного хранения состояния

Выполните:

python unlock_checker.py config-file-path

Результаты будут сохранены в /tmp/UnlockChecker_[boot-loader].out, где [boot-loader] — имя анализируемого загрузчика. Обратите внимание, что пути, содержащие циклы, могут появляться несколько раз.

Проверка результатов

Для проверки результатов BootStomp используйте скрипт result_pretty_print.py следующим образом:

python result_pretty_print.py results_file

Эксплойт для CVE-2017-2729

Другие ссылки

  • Исходный код ядра и lk для MediaTek MT65x2
  • Подробности о MediaTek: разделы и Preloader
  • Обратная разработка Android Aboot
  • Загрузчик Android на основе (L)ittle (K)ernel
  • Обзор загрузчика Little Kernel от Qualcomm
  • android: arm: bootloader: как (L)ittle (K)ernel загружает boot.img
  • BootUnlocker для устройств Nexus
  • Проверка загрузки
  • Освобождение моего планшета (взлом Android, ПО и железо)
  • Как заблокировать режим загрузки Samsung с помощью недокументированной функции aboot
  • BIOS и атаки на Secure Boot раскрыты
  • Безопасность Apple iOS
  • Отладка загрузчиков телефонов HTC
  • Отладчик для HBOOT
  • Анализ HBOOT
Скачать инструмент