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
BLESuite — BLESuite is a Python package that provides an easier way to test Bluetooth Low Energy (BLE) device | Kitploit
Outils/GitHubGitHub/nccgroup/blesuite
Packet Sniffing & AnalysisBluetooth SecurityVulnerability AnalysisInformation GatheringFuzzingWireless SecurityPenetration TestingHardware & IoT Security
GitHubnccgroup/blesuite

BLESuite

BLESuite is a Python package that provides an easier way to test Bluetooth Low Energy (BLE) device

Voir le dépôt
19143il y a 5 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

BLESuite README

Vue d'ensemble

BLESuite est un paquet Python qui rend la communication avec les périphériques Bluetooth Low Energy (BLE) plus conviviale et permet de tester rapidement les périphériques BLE. La version 2 de BLESuite supprime la dépendance à PyGattlib et BlueZ et utilise à la place une version modifiée de PyBT (https://github.com/mikeryan/PyBT) pour implémenter et gérer notre propre pile BLE. Cette version accroît la fiabilité des communications, augmente la flexibilité des communications, améliore l'analyse des périphériques et permet le fuzzing des périphériques au niveau des couches hôtes de la pile Bluetooth. La pile utilisée par BLESuite permet intentionnellement l'envoi de requêtes/réponses malformées aux périphériques afin de permettre le test de ces derniers.

Fonctionnalités :

  • Inclut 2 outils CLI pour faciliter les opérations de base de BLESuite : blesuite et ble-replay
  • Prise en charge des rôles BLE Central et Périphérique
  • Prise en charge de plusieurs périphériques HCI (comme un adaptateur Bluetooth USB)
  • Avec un périphérique HCI utilisé en rôle central, prise en charge de nombreuses connexions simultanées à des périphériques (limitée par le nombre maximal de connexions du contrôleur HCI)
  • Rechercher des périphériques BLE
  • Rechercher toutes les entités GATT des périphériques BLE
  • Envoyer rapidement et facilement des requêtes ATT à un périphérique pair
  • Construire et envoyer des paquets L2CAP et ATT soigneusement élaborés (ou intentionnellement malformés) à des périphériques cibles
  • Prise en charge de l'appairage JustWorks LE Legacy. D'autres méthodes d'appairage seront disponibles dans une version ultérieure
  • Mettre rapidement en place un serveur GATT à l'aide d'une définition d'objet abstraite et de nombreuses fonctions utilitaires
  • Prise en charge de l'import et de l'export de serveur GATT
  • Prise en charge de l'import et de l'export de la base de données de clés à long terme (Long Term Key) du Security Manager
  • En option, installer une version de l'outil BDADDR de BlueZ adaptée à l'API Python (https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools/bdaddr.c) qui permet à un utilisateur d'usurper l'adresse BD_ADDR de l'adaptateur Bluetooth de son hôte (ne prend en charge que certains chipsets. Il s'agit d'une version modifiée du bdaddr.c de BlueZ)

Note au lecteur :

Pour accéder aux fonctionnalités Bluetooth Low Energy, vous devez disposer d'un adaptateur Bluetooth qui prend en charge le BLE.

Pourquoi BLESuite ?

L'objectif de BLESuite est de fournir une méthode simplifiée pour scripturer rapidement les communications avec les périphériques BLE cibles lors d'évaluations de sécurité. Combiné au passage de PyGattlib et BlueZ à PyBT, nous pouvons désormais avoir davantage de contrôle sur la pile BLE et l'utiliser pour tester les différentes couches de la pile BLE d'un périphérique cible.

De plus, BLESuite n'est plus limité au seul rôle Central. BLESuite prend désormais en charge le rôle Périphérique et permet aux utilisateurs de configurer et de déployer rapidement un serveur GATT pouvant être utilisé pour tester les périphériques BLE à rôle Central (ou les périphériques à double rôle).

Installation

Voici les instructions d'installation du paquet Python BLESuite.

Prérequis

Systèmes d'exploitation pris en charge :

BLESuite a été développé et testé sur Debian 9.3. La bibliothèque peut être prise en charge par d'autres distributions Linux, mais cette prise en charge n'est pas garantie pour le moment.

Remarque : De récentes tentatives d'utilisation de BLESuite avec Fedora 28 ont abouti en installant les éléments suivants :

  • dnf install bluez-libs-devel python2-devel python2-sphinx python2-gevent
  • suivre le reste des instructions d'installation pour installer la version fournie de Scapy et BLESuite

Avec Fedora 28, un problème non reproductible a été signalé avec BLESuite, lié à une TypeError qui n'est pas présente dans les installations Debian 9.3 lors d'une tentative de gestion d'une requête ATT entrante.

Les contributions pour corriger ce problème sont les bienvenues !

Logiciels requis

Voici les exigences pour utiliser BLESuite :

  • libbluetooth-dev
  • libpython-dev
  • python-sphinx
  • gevent (https://pypi.org/project/gevent/)
  • Scapy (https://github.com/secdev/scapy/) (POUR L'INSTANT, DOIT ÊTRE INSTALLÉ À PARTIR DE LA COPIE DE CE DÉPÔT)
    • Cette version de Scapy inclut plusieurs modifications de la couche bluetooth.py qui prend en charge plusieurs nouveaux types de paquets et ferme proprement le BluetoothUserSocket. Ces changements ne sont actuellement pas disponibles dans la version principale de Scapy.
  • pycrypto (https://pypi.org/project/pycrypto/)
  • pyshark (https://github.com/KimiNewt/pyshark/)
  • prettytable (https://pypi.org/project/PrettyTable/)
  • sphinx_rtd_theme (https://pypi.org/project/sphinx_rtd_theme/) - Pour la compilation de la documentation

Après avoir installé libbluetooth-dev, libpython-dev et python-sphinx, exécutez la commande suivante pour installer les dépendances Python restantes :

root@kitploit:~
pip install -r requirements.txt

Documentation

Depuis le dossier docs, exécutez :

root@kitploit:~
make html

Ensuite, dans docs/_build/html, un ensemble complet de documentation et de guides de référence sera disponible.

Installation complète

Exécutez la commande suivante pour installer le paquet Python :

root@kitploit:~
python setup.py install

Si vous ne souhaitez pas installer l'API Python BDADDR ou si vous rencontrez des problèmes pour l'installer, commentez la ligne suivante dans setup.py et réexécutez la commande ci-dessus :

root@kitploit:~
ext_modules = [c_ext],

Projets futurs

Prise en charge complète de l'appairage

Pour l'instant, BLESuite ne prend en charge que l'appairage LE Legacy JustWorks. Le Security Manager est en grande partie défini, mais la programmation cryptographique restante pour LESC et les modèles d'association alternatifs doit encore être implémentée.

Prise en charge de l'écriture signée (Signed Write)

L'opération d'écriture signée (signed write) ATT n'est actuellement pas prise en charge par BLESuite. Ce n'est pas une opération couramment utilisée, mais pour prendre en charge le mode de sécurité 2, elle devrait l'être.

Prise en charge supplémentaire des adresses privées

BLESuite ne prend actuellement en charge que les adresses Publiques (Public) et Aléatoires statiques (Random static). Cependant, les adresses Random peuvent être de deux sous-types : statique ou privée. Une adresse Random privée peut également être décomposée en deux sous-types actuellement non pris en charge par BLESuite : l'adresse privée non résoluble (Non-resolvable Private address) et l'adresse privée résoluble (Resolvable Private address), résolue à l'aide de l'IRK échangé lors de l'appairage.

Par conséquent, la fonctionnalité permettant de définir ces types d'adresses sur l'adaptateur hôte n'est actuellement pas exposée par BLESuite. De plus, la capacité à résoudre les adresses Random résolubles d'un pair sur la base d'un IRK échangé n'est pas encore implémentée.

Outils supplémentaires construits avec BLESuite

La bibliothèque étant construite, la prochaine étape consiste à développer des outils d'évaluation de sécurité qui utilisent cette bibliothèque.

Un exemple d'un tel outil inclus avec cette bibliothèque est ble-replay, qui peut accepter une capture de paquets BLE et rejouer le trafic GATT vers un périphérique cible. ble-replay peut rapidement aider à identifier les failles de sécurité de la couche application liées aux attaques par rejeu (replay attacks).

Ce type d'outils réduit le temps passé à analyser manuellement les captures de paquets et à scripturer manuellement les cas de test de communication BLE.

Télécharger l’outil