
Framework modulaire de test de vulnérabilités Bluetooth Classic (BR/EDR) avec reconnaissance, modules d'exploitation pour 43 attaques/CVE publiques et génération de rapports JSON structurés.
Documentation • Installation • Utilisation • Exploits • Matériel • À faire • Évaluation automobile • Ressources Bluetooth • Licence
BlueToolkit est un framework modulaire de tests de sécurité Bluetooth en boîte noire pour Bluetooth Classic (BR/EDR) et Bluetooth Low Energy (BLE). Il prend en charge les tests semi-automatisés et comprend trois modules principaux :
Nous avons évalué BlueToolkit sur 22 voitures de différents constructeurs (Audi, BMW, Chevrolet, Honda, Hyundai, Mercedes-Benz, Mini, Opel, Polestar, Renault, Skoda, Toyota, VW, Tesla) et découvert 128 vulnérabilités.
De plus, nous montrons comment détourner des comptes en ligne via MAP pour des connexions déjà établies ou avec une position MitM.
Ce travail a abouti à un article de recherche accepté à WOOT 25' : ajouter le lien manquant lorsque nous l'aurons
BlueToolkit peut être installé sur des systèmes Ubuntu/Debian en bare metal (recommandé) ou à l'aide d'une machine virtuelle. Dans les deux cas, l'installateur demandera d'installer les modules spécifiques pour Braktooth et BluetoothAssistant, qui nécessitent que des périphériques matériels spécifiques soient disponibles et branchés. L'installation des modules autonomes peut également être effectuée séparément en relançant l'installateur.
Prérequis :
Après l'installation :
* Vous devez autoriser la machine virtuelle à accéder au module Bluetooth ou à du matériel supplémentaire via USB, ce qui nécessite de faire ce qui suit :
* Le support USB est déjà activé, c'est pourquoi ouvrez VirtualBox
* Trouvez une machine virtuelle en cours d'exécution et cliquez sur "Show"
* Cliquez sur "Devices" -> "USB"
* Plusieurs appareils vous seront présentés, que vous pouvez activer pour la machine virtuelle
* Cochez tout appareil dont vous avez besoin (module Bluetooth, matériel, téléphone) ou cochez tous les appareils pour être sûr.
</details>
### Utilisation
Exécutez `bluekit -h` pour afficher les informations d'utilisation de BlueToolkit :```console
usage: bluekit [-h] [-t TARGET] [-l] [-c] [-ct] [-ch] [-v VERBOSITY] [-ex EXCLUDEEXPLOITS [EXCLUDEEXPLOITS ...]] [-e EXPLOITS [EXPLOITS ...]] [-r] [-re] [-rej] [-hh HARDWARE [HARDWARE ...]] ...
positional arguments:
rest
options:
-h, --help show this help message and exit
-t TARGET, --target TARGET
target MAC address
-l, --listexploits List exploits or not
-c, --checksetup Check whether Braktooth is available and setup
-ct, --checktarget Check connectivity and availability of the target
-ch, --checkpoint Start from a checkpoint
-v VERBOSITY, --verbosity VERBOSITY
Verbosity level
-ex EXCLUDEEXPLOITS [EXCLUDEEXPLOITS ...], --excludeexploits EXCLUDEEXPLOITS [EXCLUDEEXPLOITS ...]
Exclude exploits, example --exclude exploit1, exploit2
-e EXPLOITS [EXPLOITS ...], --exploits EXPLOITS [EXPLOITS ...]
Scan only for provided --exploits exploit1, exploit2; --exclude is not taken into account
-r, --recon Run a recon script
-re, --report Create a report for a target device
-rej, --reportjson Create a report for a target device
-hh HARDWARE [HARDWARE ...], --hardware HARDWARE [HARDWARE ...]
Scan only for provided exploits based on hardware --hardware hardware1 hardware2; --exclude and --exploit are not taken into account
Voici quelques exemples d'utilisation :
Lister tous les exploits disponibles (root non requis) :
bluekit -l
Lancer la reconnaissance :
sudo bluekit -t AA:BB:CC:DD:EE:FF -r
Tester la connectivité :
sudo bluekit -t AA:BB:CC:DD:EE:FF -ct
Tester un ou plusieurs exploits (séparés par des espaces) :
sudo bluekit -t AA:BB:CC:DD:EE:FF -e invalid_max_slot au_rand_flooding internalblue_knob
Une documentation complémentaire est disponible dans notre wiki
Certaines attaques nécessitent un matériel spécifique :
BlueToolkit télécharge automatiquement tous les modèles de vulnérabilités et de matériel. Le dépôt BlueToolkit templates fournit une liste complète de modèles prêts à l'emploi. De plus, vous pouvez écrire vos propres modèles et vérifications, ainsi qu'ajouter du nouveau matériel, en suivant le guide de création de modèles de BlueToolkit. La syntaxe de référence YAML est disponible ici
Nous avons collecté et classifié les vulnérabilités Bluetooth dans une optique « Awesome Bluetooth Security ». Nous avons utilisé les sources suivantes - ACM, IEEE SP, Blackhat, DEFCON, Car Hacking Village, NDSS et Google Scholars. Nous avons recherché les mots-clés suivants dans les moteurs de recherche comme Google, Baidu, Yandex, Bing - Bluetooth security toolkit, Bluetooth exploits github, Bluetooth security framework, bluetooth pentesting toolkit. Nous avons également analysé tous les dépôts Github à partir des paramètres suivants - topic:bluetooth topic:exploit, topic:bluetooth topic:security.