Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
BootStomp — BootStomp : un outil de recherche de vulnérabilités de bootloader | Kitploit
Outils/GitHubGitHub/ucsb-seclab/bootstomp
Sécurité AndroidAnalyse des VulnérabilitésExploitationFuzzingAnalyse de BinairesAnalyse de Micrologiciel
GitHubucsb-seclab/bootstomp

BootStomp

BootStomp : un outil de recherche de vulnérabilités de bootloader

Voir le dépôt
4166613il y a 7 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

BootStomp

License

BootStomp est un chercheur de bugs dans les chargeurs d'amorçage. Il recherche deux types de bugs : les corruptions mémoire et les vulnérabilités de stockage d'état. Pour plus d'informations, veuillez consulter l'article sur BootStomp à l'adresse https://seclab.cs.ucsb.edu/academic/publishing/#bootstomp-security-bootloaders-mobile-devices-2017

Pour exécuter les analyses de BootStomp, veuillez lire les instructions suivantes. Notez que BootStomp fonctionne avec les chargeurs d'amorçage compilés pour les architectures ARM (32 et 64 bits) et que les résultats peuvent légèrement varier en fonction des versions d'angr et de Z3. Cela est dû au temps qu'angr prend pour analyser les blocs de base et aux résultats de concrétisation des expressions de Z3.


Structure du répertoire

  • analysis : Contient les résultats d'analyse (ex : IDA idbs, etc.) des images de démarrage de différents appareils.
  • tools : Contient des outils pouvant être utilisés pour travailler avec diverses images.

Prérequis

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

Comment l'exécuter

Exécuter BootStomp avec docker

La façon la plus simple d'utiliser BootStomp est de l'exécuter dans un conteneur docker. Le dossier docker contient un Dockerfile approprié. Voici les commandes à utiliser.

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

La sortie devrait ressembler à ceci :

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

Exécuter BootStomp manuellement

Détection automatique des sources et puits de contamination

  1. Chargez le binaire du chargeur d'amorçage dans IDA (nous avons utilisé la v6.95). Selon l'architecture CPU du téléphone dont il a été extrait, une version 32 ou 64 bits d'IDA est nécessaire.
  2. Depuis la barre de menu, exécutez File => Script file => find_taint.py
  3. Le résultat apparaîtra dans le fichier taint_source_sink.txt dans le même répertoire que le chargeur d'amorçage lui-même.

Fichier de configuration

Créez un fichier de configuration JSON pour le binaire du chargeur d'amorçage (voir les exemples dans config/), où :

  • bootloader : chemin du fichier du chargeur d'amorçage
  • info_path : chemin du fichier d'info des sources/puits du chargeur d'amorçage (c'est-à-dire taint_source_sink.txt )
  • arch : nombre de bits de l'architecture (options disponibles : 32 et 64)
  • enable_thumb : prendre en compte le mode thumb (si nécessaire) lors de l'analyse
  • start_with_thumb : démarre l'analyse avec le mode thumb activé
  • exit_on_dec_error : arrêter l'analyse si certaines instructions ne peuvent pas être décodées
  • unlock_addr : adresse de la fonction de déverrouillage. Ce champ est nécessaire uniquement pour trouver les vulnérabilités de stockage d'état non sécurisé.

Recherche de vulnérabilités de corruption mémoire

Exécutez

python bootloadertaint.py config-file-path

Les résultats seront stockés dans /tmp/BootloaderTaint_[boot-loader].out, où [boot-loader] est le nom du chargeur d'amorçage analysé. Notez que les chemins impliquant des boucles peuvent apparaître plus d'une fois.

Recherche de vulnérabilité de stockage d'état non sécurisé

Exécutez

python unlock_checker.py config-file-path

Les résultats seront stockés dans /tmp/UnlockChecker_[boot-loader].out, où [boot-loader] est le nom du chargeur d'amorçage analysé. Notez que les chemins impliquant des boucles peuvent apparaître plus d'une fois.

Vérification des résultats

Pour vérifier les résultats de BootStomp, utilisez le script result_pretty_print.py, comme suit :

python result_pretty_print.py results_file

Exploit pour CVE-2017-2729

Autres références

  • Source du noyau et de lk pour MediaTek MT65x2
  • Détails MediaTek : Partitions et Preloader
  • Reverse Engineering de l'Aboot d'Android
  • Chargeur d'amorçage Android basé sur (L)ittle (K)ernel
  • Aperçu du Little Kernel Boot Loader par Qualcomm
  • android: arm: bootloader: comment (L)ittle (K)ernel charge boot.img
  • BootUnlocker pour les appareils Nexus
  • Vérification du démarrage
  • Libérer ma tablette (hacking Android, logiciel et matériel)
  • Comment verrouiller le mode download Samsung en utilisant une fonctionnalité non documentée d'aboot
  • Attaques BIOS et Secure Boot dévoilées
  • Sécurité iOS d'Apple
  • Débogage des chargeurs d'amorçage des téléphones HTC
  • Débogueur pour HBOOT
  • Analyse de HBOOT
Télécharger l’outil