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 est un paquet Python qui offre un moyen plus simple de tester les appareils Bluetooth Low Energy (BLE) | Kitploit
Outils/GitHubGitHub/nccgroup/blesuite
Sniffing et Analyse de PaquetsSécurité BluetoothAnalyse des VulnérabilitésCollecte d'InformationsFuzzingSécurité Sans FilTests d'IntrusionSécurité Matériel et IoTTop en Sécurité Bluetooth n°5
1914345il y a 5 ansVérifié par Kitploit
GitHub
nccgroup/blesuite

BLESuite

BLESuite est un paquet Python qui offre un moyen plus simple de tester les appareils Bluetooth Low Energy (BLE)

Voir le dépôt

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