Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
BootStomp — BootStomp: um localizador de vulnerabilidades de bootloader | Kitploit
Ferramentas/GitHubGitHub/ucsb-seclab/bootstomp
Segurança AndroidAnálise de VulnerabilidadesExploraçãoFuzzingAnálise de BináriosAnálise de Firmware
GitHubucsb-seclab/bootstomp

BootStomp

BootStomp: um localizador de vulnerabilidades de bootloader

Ver Repositório
4166662há 8 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

BootStomp

License

BootStomp é um localizador de bugs em boot-loaders. Ele procura por duas classes diferentes de bugs: vulnerabilidades de corrupção de memória e de armazenamento de estado. Para mais informações, consulte o artigo do BootStomp em https://seclab.cs.ucsb.edu/academic/publishing/#bootstomp-security-bootloaders-mobile-devices-2017

Para executar as análises do BootStomp, leia as instruções a seguir. Observe que o BootStomp funciona com boot-loaders compilados para arquiteturas ARM (32 e 64 bits) e que os resultados podem variar ligeiramente dependendo das versões do angr e do Z3. Isso se deve ao tempo que o angr leva para analisar blocos básicos e aos resultados de concretização de expressões do Z3.


Estrutura de diretórios

  • analysis: Contém resultados de análise (Ex: IDBs do IDA, etc.) de imagens de boot de diferentes dispositivos.
  • tools: Contém ferramentas que podem ser usadas para trabalhar com várias imagens.

Pré-requisitos

  • 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/)

Como executar

Executar BootStomp usando docker

A maneira mais fácil de usar o BootStomp é executá-lo em um contêiner docker. A pasta docker contém um Dockerfile apropriado. Estes são os comandos para usá-lo.

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

A saída deve ser algo como:

...
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

Executar BootStomp manualmente

Detecção automática de fontes e sumidouros de contaminação

  1. Carregue o binário do boot-loader no IDA (nós usamos a v6.95). Dependendo da arquitetura da CPU do telefone de onde foi extraído, é necessário o IDA de 32 ou 64 bits.
  2. Na barra de menus, execute File => Script file => find_taint.py
  3. A saída aparecerá no arquivo taint_source_sink.txt no mesmo diretório do próprio boot-loader.

Arquivo de configuração

Crie um arquivo de configuração JSON para o binário do boot-loader (veja exemplos em config/), onde:

  • bootloader: caminho do arquivo do boot-loader
  • info_path: caminho do arquivo de informações de fonte/sumidouro do boot-loader (i.e., taint_source_sink.txt)
  • arch: número de bits da arquitetura (opções disponíveis: 32 e 64)
  • enable_thumb: considerar modo thumb (quando necessário) durante a análise
  • start_with_thumb: inicia a análise com o modo thumb ativado
  • exit_on_dec_error: interromper a análise se algumas instruções não puderem ser decodificadas
  • unlock_addr: endereço da função de desbloqueio. Este campo é necessário apenas para encontrar vulnerabilidades de armazenamento de estado inseguro.

Encontrando vulnerabilidades de corrupção de memória

Execute

python bootloadertaint.py config-file-path

Os resultados serão armazenados em /tmp/BootloaderTaint_[boot-loader].out, onde [boot-loader] é o nome do boot-loader analisado. Observe que caminhos envolvendo loops podem aparecer mais de uma vez.

Encontrando vulnerabilidade de armazenamento de estado inseguro

Execute

python unlock_checker.py config-file-path

Os resultados serão armazenados em /tmp/UnlockChecker_[boot-loader].out, onde [boot-loader] é o nome do boot-loader analisado. Observe que caminhos envolvendo loops podem aparecer mais de uma vez.

Verificando resultados

Para verificar os resultados do BootStomp, use o script result_pretty_print.py, da seguinte forma:

python result_pretty_print.py results_file

Exploit para CVE-2017-2729

Outras referências

  • Kernel and lk source for MediaTek MT65x2
  • MediaTek details: Partitions and Preloader
  • Reverse Engineering Android's Aboot
  • (L)ittle (K)ernel based Android bootloader
  • Little Kernel Boot Loader Overview by Qualcomm
  • android: arm: bootloader: how (L)ittle (K)ernel loads boot.img
  • BootUnlocker for Nexus Devices
  • Verifying Boot
  • Freeing my tablet (Android hacking, SW and HW)
  • How to lock the samsung download mode using an undocumented feature of aboot
  • BIOS and Secure Boot Attacks Uncovered
  • Apple IOS Security
  • Debugging HTC phone boot-laoders
  • Debugger for HBOOT
  • Analysing HBOOT
Baixar ferramenta