Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/ucsb-seclab/bootstomp
Android-SicherheitSchwachstellenanalyseExploitationFuzzingBinäranalyseFirmware-Analyse
GitHubucsb-seclab/bootstomp

BootStomp

BootStomp: ein Bootloader-Schwachstellenfinder

Repository anzeigen
4166613vor 7 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

BootStomp

License

BootStomp ist ein Bug-Finder für Bootloader. Er sucht nach zwei verschiedenen Bug-Klassen: Speicherkorruptions- und Zustandsspeicher-Schwachstellen. Weitere Informationen finden Sie im BootStomp-Papier unter https://seclab.cs.ucsb.edu/academic/publishing/#bootstomp-security-bootloaders-mobile-devices-2017

Um die Analysen von BootStomp auszuführen, lesen Sie bitte die folgenden Anweisungen. Beachten Sie, dass BootStomp mit Bootloadern funktioniert, die für ARM-Architekturen (sowohl 32 als auch 64 Bit) kompiliert wurden, und dass die Ergebnisse je nach Version von angr und Z3 leicht variieren können. Dies liegt an der Zeit, die angr für die Analyse von Basisblöcken benötigt, sowie an den Ergebnissen der Ausdruckskonkretisierung von Z3.


Verzeichnisstruktur

  • analysis: Enthält Analyseergebnisse (z.B. IDA idbs usw.) von Boot-Images verschiedener Geräte.
  • tools: Enthält Werkzeuge, die zur Arbeit mit verschiedenen Images verwendet werden können.

Voraussetzungen

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

So führen Sie es aus

BootStomp mit Docker ausführen

Der einfachste Weg, BootStomp zu verwenden, ist die Ausführung in einem Docker-Container. Der Ordner docker enthält ein entsprechendes Dockerfile. Dies sind die Befehle, um es zu verwenden.

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

Die Ausgabe sollte in etwa so aussehen:

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 manuell ausführen

Automatische Erkennung von Taint-Quellen und -Senken

  1. Laden Sie die Bootloader-Binärdatei in IDA (wir haben v6.95 verwendet). Abhängig von der CPU-Architektur des Telefons, aus dem sie extrahiert wurde, ist eine 32-Bit- oder 64-Bit-IDA erforderlich.
  2. Wählen Sie im Menü Datei => Skriptdatei => find_taint.py.
  3. Die Ausgabe erscheint in der Datei taint_source_sink.txt im selben Verzeichnis wie der Bootloader selbst.

Konfigurationsdatei

Erstellen Sie eine JSON-Konfigurationsdatei für die Bootloader-Binärdatei (siehe Beispiele in config/), wobei:

  • bootloader: Pfad zur Bootloader-Datei
  • info_path: Pfad zur Quell-/Senken-Informationsdatei des Bootloaders (d.h. taint_source_sink.txt)
  • arch: Anzahl der Bits der Architektur (verfügbare Optionen sind 32 und 64)
  • enable_thumb: Thumb-Modus berücksichtigen (falls erforderlich) während der Analyse
  • start_with_thumb: Analyse mit aktiviertem Thumb-Modus starten
  • exit_on_dec_error: Analyse stoppen, wenn einige Anweisungen nicht dekodiert werden können
  • unlock_addr: Adresse der Entsperrfunktion. Dieses Feld ist nur erforderlich, um unsichere Zustandsspeicher-Schwachstellen zu finden.

Finden von Speicherkorruptions-Schwachstellen

Führen Sie aus

python bootloadertaint.py config-file-path

Die Ergebnisse werden in /tmp/BootloaderTaint_[boot-loader].out gespeichert, wobei [boot-loader] der Name des analysierten Bootloaders ist. Beachten Sie, dass Pfade, die Schleifen beinhalten, möglicherweise mehrfach erscheinen.

Finden von unsicheren Zustandsspeicher-Schwachstellen

Führen Sie aus

python unlock_checker.py config-file-path

Die Ergebnisse werden in /tmp/UnlockChecker_[boot-loader].out gespeichert, wobei [boot-loader] der Name des analysierten Bootloaders ist. Beachten Sie, dass Pfade, die Schleifen beinhalten, möglicherweise mehrfach erscheinen.

Ergebnisse überprüfen

Verwenden Sie zum Überprüfen der BootStomp-Ergebnisse das Skript result_pretty_print.py wie folgt:

python result_pretty_print.py results_file

Exploit für CVE-2017-2729

Weitere Referenzen

  • Kernel- und lk-Quelle für MediaTek MT65x2
  • MediaTek-Details: Partitionen und Preloader
  • Reverse Engineering von Androids Aboot
  • (L)ittle (K)ernel-basierter Android-Bootloader
  • Little Kernel Boot Loader Übersicht von Qualcomm
  • android: arm: bootloader: wie (L)ittle (K)ernel boot.img lädt
  • BootUnlocker für Nexus-Geräte
  • Verifying Boot
  • Mein Tablet befreien (Android-Hacking, SW und HW)
  • So sperren Sie den Samsung-Download-Modus mit einer undokumentierten Funktion von aboot
  • BIOS und Secure Boot-Angriffe aufgedeckt
  • Apple iOS Sicherheit
  • Debugging von HTC-Telefon-Bootloadern
  • Debugger für HBOOT
  • Analyse von HBOOT
Tool herunterladen