Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !
BlueToolkit — 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. | Kitploit
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.
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 :
Recon : collecte les capacités Bluetooth et la configuration de sécurité.
Exploit : exécute des tests pour (actuellement) 43 exploits publics (MitM, RCE, DoS, etc.). Les modèles de vulnérabilités se trouvent dans le dossier exploits. La prise en charge d'autres vulnérabilités peut être ajoutée via TODO.
Report : génère des rapports JSON structurés, lisibles par machine et par l'homme.
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.
Ce travail a abouti à un article de recherche accepté à WOOT 25' : ajouter le lien manquant lorsque nous l'aurons
Installation
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.
Installation normale
Installation : ```sh
git clone https://github.com/sgxgsx/BlueToolkit
chmod +x ./BlueToolkit/install.sh
sudo ./BlueToolkit/install.sh [-dev]
```
Installation de la VM
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
Une documentation complémentaire est disponible dans notre wiki
Matériel
Certaines attaques nécessitent un matériel spécifique :
ESP-WROVER-KIT-VE pour les vulnérabilités Braktooth
Téléphone Nexus5 pour Internalblue. Il peut être remplacé par un CYW20735, mais deux exploits ne fonctionneront pas et un nouveau profil matériel serait nécessaire.
CYW920819M2EVB-01 pour les attaques BIAS, BLUR et BLUFFS.
Vulnérabilités et attaques Bluetooth disponibles
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.
Actuellement, BlueToolkit vérifie les vulnérabilités et attaques suivantes :
Pour les attaques manuelles, reportez-vous à la documentation.
Vulnerability
Category
Type
Verification type
Hardware req.
Tested
Always pairable
Chaining
Chaining
Manuelle
✓
Only vehicle can initiate a connection
Chaining
Chaining
Manuelle
✓
Fast reboot
Chaining
Chaining
Manuelle
✓
SC not supported
Chaining
Info
Automatisée
✓
possible check for BLUR
Chaining
Info
Automatisée
✓
My name is keyboard
Critical
RCE
Semi-automatique
✓
CVE-2017-0785
Critical
Memory leak
Automatisée
✓
CVE-2018-19860
Critical
Memory execution
Automatisée
✓
V13 Invalid Max Slot Type
DoS
DoS
Automatisée
✓
✓
V3 Duplicated IOCAP
DoS
DoS
Automatisée
✓
✓
NiNo check
MitM
MitM
Semi-automatique
✓
Legacy pairing used
MitM
MitM
Automatisée
Attaques inédites
Ces attaques sont inédites/nouvelles et sont testées par le framework
Vulnerability
Category
Type
Verification type
Hardware req.
Tested
Insecure NC implementation
MitM
MitM
Manuelle
✓
Vehicular NiNo
MitM
Info
Manuelle
✓
Contact Extractor
Critical
BAC
Manuelle
✓
Vulnérabilités à ajouter prochainement
Vulnerability
Category
Type
Verification type
Hardware req.
Tested
Scheduled to be added
BLUR
MitM
?
-
✓
✓
BIAS
MitM
?
-
✓
✓
BLUFFS
MitM
?
-
✓
✓
BlueRepli
Critical
BAC
-
CVE-2020-26555
MitM
MiTM
-
Liste des tâches à faire
Ajouter la prise en charge du BLE (Bluetooth Low Energy)
Implémenter les fonctionnalités BLE pour améliorer les capacités de connectivité du projet.
Développer (ou redévelopper) en continu des preuves de concept (PoC)
Développer de nouveaux PoC pour explorer des cas d'utilisation ou des fonctionnalités supplémentaires.