Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
BootStomp — BootStomp: un rilevatore di vulnerabilità del bootloader | Kitploit
Strumenti/GitHubGitHub/ucsb-seclab/bootstomp
Sicurezza AndroidAnalisi delle VulnerabilitàExploitFuzzingAnalisi di BinariAnalisi del Firmware
GitHubucsb-seclab/bootstomp

BootStomp

BootStomp: un rilevatore di vulnerabilità del bootloader

Vedi Repository
41666137 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

BootStomp

License

BootStomp è un cercatore di bug per boot-loader. Cerca due diverse classi di bug: vulnerabilità di corruzione della memoria e di archiviazione dello stato. Per maggiori informazioni, si prega di consultare l'articolo su BootStomp all'indirizzo https://seclab.cs.ucsb.edu/academic/publishing/#bootstomp-security-bootloaders-mobile-devices-2017

Per eseguire le analisi di BootStomp, leggere le seguenti istruzioni. Si noti che BootStomp funziona con boot-loader compilati per architetture ARM (sia a 32 che a 64 bit) e che i risultati potrebbero variare leggermente a seconda delle versioni di angr e Z3. Questo è dovuto al tempo che angr impiega per analizzare i blocchi di base e ai risultati di concretizzazione delle espressioni di Z3.


Struttura delle directory

  • analysis: Contiene i risultati delle analisi (es. IDB di IDA, ecc.) di immagini di boot di diversi dispositivi.
  • tools: Contiene strumenti che possono essere utilizzati per lavorare con varie immagini.

Prerequisiti

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

Come eseguirlo

Eseguire BootStomp usando Docker

Il modo più semplice per usare BootStomp è eseguirlo in un contenitore Docker. La cartella docker contiene un Dockerfile appropriato. Questi sono i comandi per usarlo.

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

L'output dovrebbe essere simile a questo:

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

Eseguire BootStomp manualmente

Rilevamento automatico delle fonti e dei sink di taint

  1. Caricare il binario del boot-loader in IDA (abbiamo usato la v6.95). A seconda dell'architettura della CPU del telefono da cui è stato estratto, è necessario IDA a 32 o 64 bit.
  2. Dalla barra dei menu, eseguire File => Script file => find_taint.py
  3. L'output apparirà nel file taint_source_sink.txt nella stessa directory del boot-loader.

File di configurazione

Creare un file di configurazione JSON per il binario del boot-loader (vedere esempi in config/), dove:

  • bootloader: percorso del file del boot-loader
  • info_path: percorso del file info sorgente/sink del boot-loader (cioè taint_source_sink.txt )
  • arch: numero di bit dell'architettura (opzioni disponibili: 32 e 64)
  • enable_thumb: considera la modalità thumb (quando necessario) durante l'analisi
  • start_with_thumb: avvia l'analisi con la modalità thumb abilitata
  • exit_on_dec_error: ferma l'analisi se alcune istruzioni non possono essere decodificate
  • unlock_addr: indirizzo della funzione di sblocco. Questo campo è necessario solo per trovare vulnerabilità di archiviazione dello stato non sicure.

Trovare vulnerabilità di corruzione della memoria

Eseguire

python bootloadertaint.py config-file-path

I risultati saranno memorizzati in /tmp/BootloaderTaint_[boot-loader].out, dove [boot-loader] è il nome del boot-loader analizzato. Si noti che i percorsi che coinvolgono cicli potrebbero apparire più di una volta.

Trovare vulnerabilità di archiviazione dello stato non sicura

Eseguire

python unlock_checker.py config-file-path

I risultati saranno memorizzati in /tmp/UnlockChecker_[boot-loader].out, dove [boot-loader] è il nome del boot-loader analizzato. Si noti che i percorsi che coinvolgono cicli potrebbero apparire più di una volta.

Verificare i risultati

Per verificare i risultati di BootStomp, usare lo script result_pretty_print.py, come segue:

python result_pretty_print.py results_file

Exploit per CVE-2017-2729

Altri riferimenti

  • Sorgente kernel e lk per MediaTek MT65x2
  • Dettagli MediaTek: Partizioni e Preloader
  • Reverse Engineering di Aboot di Android
  • Bootloader Android basato su (L)ittle (K)ernel
  • Panoramica del Boot Loader Little Kernel di Qualcomm
  • android: arm: bootloader: come (L)ittle (K)ernel carica boot.img
  • BootUnlocker per dispositivi Nexus
  • Verifica dell'avvio
  • Liberare il mio tablet (hacking Android, SW e HW)
  • Come bloccare la modalità download Samsung usando una caratteristica non documentata di aboot
  • Attacchi BIOS e Secure Boot svelati
  • Sicurezza Apple iOS
  • Debug dei boot-loader dei telefoni HTC
  • Debugger per HBOOT
  • Analisi di HBOOT
Scarica lo strumento