Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
BLESuite — BLESuite ist ein Python-Paket, das eine einfachere Möglichkeit zum Testen von Bluetooth-Low-Energy-Geräten (BLE) bietet. | Kitploit
Tools/GitHubGitHub/nccgroup/blesuite
Paket-Sniffing & AnalyseBluetooth-SicherheitSchwachstellenanalyseInformationsbeschaffungFuzzingDrahtlose SicherheitPenetrationstestsHardware- & IoT-SicherheitTop in Bluetooth-Sicherheit Nr.5
1914346vor 5 JahrenVon Kitploit geprüft
GitHub
nccgroup/blesuite

BLESuite

BLESuite ist ein Python-Paket, das eine einfachere Möglichkeit zum Testen von Bluetooth-Low-Energy-Geräten (BLE) bietet.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

BLESuite README

Übersicht

BLESuite ist ein Python-Paket, das die Kommunikation mit Bluetooth-Low-Energy-Geräten (BLE) benutzerfreundlicher macht und schnelle Tests von BLE-Geräten ermöglicht. Version 2 von BLESuite entfernt die Abhängigkeit von PyGattlib und BlueZ und verwendet stattdessen eine modifizierte Version von PyBT (https://github.com/mikeryan/PyBT), um einen eigenen BLE-Stack zu implementieren und zu verwalten. Diese Version erhöht die Zuverlässigkeit der Kommunikation, erweitert die Flexibilität der Kommunikation, verbessert das Gerätescanning und ermöglicht Fuzzing von Geräten auf den Host-Schichten des Bluetooth-Stacks. Der von BLESuite verwendete Stack erlaubt es absichtlich, fehlerhafte Anfragen/Antworten an Geräte zu senden, um Gerätetests zu ermöglichen.

Funktionen:

  • Enthält 2 CLI-Werkzeuge zur Unterstützung grundlegender BLESuite-Operationen: blesuite und ble-replay
  • Unterstützung für die Central- und Peripheral-Rollen von BLE
  • Unterstützt mehrere HCI-Geräte (z. B. einen USB-Bluetooth-Adapter)
  • Mit einem HCI-Gerät in der Central-Rolle Unterstützung für zahlreiche gleichzeitige Verbindungen zu Peripheriegeräten (begrenzt durch die maximale Anzahl von Verbindungen des HCI-Controllers)
  • Scannen nach BLE-Geräten
  • Scannen von BLE-Geräten auf alle GATT-Entitäten
  • Schnelles und einfaches Senden von ATT-Anfragen an ein verbundenes Peripheriegerät
  • Erstellen und Senden sorgfältig konstruierter (oder absichtlich fehlerhafter) L2CAP- und ATT-Pakete an Zielgeräte
  • Unterstützt JustWorks-LE-Legacy-Pairing. Weitere Pairing-Methoden werden in einer späteren Version verfügbar sein
  • Schnelles Einrichten eines GATT-Servers mithilfe einer abstrakten Objektdefinition und zahlreicher Hilfsfunktionen
  • Unterstützung für den Import und Export von GATT-Servern
  • Unterstützung für den Import und Export der Long-Term-Key-Datenbank des Security Managers
  • Optional kann eine Python-API-freundliche Version des BDADDR-Tools von BlueZ installiert werden (https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools/bdaddr.c), die es einem Benutzer ermöglicht, die BD_ADDR des Bluetooth-Adapters seines Hosts zu spoofen (unterstützt nur einige Chipsätze. Dies ist eine modifizierte Version der bdaddr.c von BlueZ)
  • Hinweis an den Leser:

    Um die Bluetooth-Low-Energy-Funktionalität nutzen zu können, benötigen Sie Zugriff auf einen Bluetooth-Adapter, der diese unterstützt.

    Warum BLESuite?

    Das Ziel von BLESuite ist es, eine vereinfachte Methode bereitzustellen, um schnell Kommunikation mit Ziel-BLE-Geräten für Sicherheitsbewertungen zu skripten. In Kombination mit dem Wechsel von PyGattlib und BlueZ zu PyBT haben wir nun mehr Kontrolle über den BLE-Stack und können ihn zum Testen verschiedener BLE-Stack-Schichten eines Zielgeräts verwenden.

    Darüber hinaus ist BLESuite nicht mehr nur auf die Central-Rolle beschränkt. BLESuite unterstützt nun die Peripheral-Rolle und ermöglicht es Benutzern, schnell einen GATT-Server zu konfigurieren und aufzusetzen, der zum Testen von BLE-Geräten in der Central-Rolle (oder Dual-Role-Geräten) verwendet werden kann.

    Installation

    Im Folgenden finden Sie Installationsanweisungen für das Python-Paket BLESuite.

    Voraussetzungen

    Unterstützte Betriebssysteme:

    BLESuite wurde mit Debian 9.3 entwickelt und getestet. Die Bibliothek wird möglicherweise von anderen Linux-Distributionen unterstützt, die Unterstützung ist jedoch derzeit nicht garantiert.

    Hinweis: Aktuelle Versuche, BLESuite mit Fedora 28 zu verwenden, wurden durch die Installation der folgenden Pakete ermöglicht:

    • dnf install bluez-libs-devel python2-devel python2-sphinx python2-gevent
    • Befolgen Sie die restlichen Installationsanweisungen, um die mitgelieferte Version von Scapy und BLESuite zu installieren

    Unter Fedora 28 wurde ein nicht reproduzierbares Problem mit BLESuite gemeldet, das im Zusammenhang mit einem TypeError steht, der bei Debian-9.3-Installationen nicht auftritt, wenn versucht wird, eine eingehende ATT-Anfrage zu verarbeiten.

    Beiträge zur Fehlerbehebung sind willkommen!

    Erforderliche Software

    Die folgenden Anforderungen gelten für die Verwendung von BLESuite:

    • libbluetooth-dev
    • libpython-dev
    • python-sphinx
    • gevent (https://pypi.org/project/gevent/)
    • Scapy (https://github.com/secdev/scapy/) (MUSS VORLÄUFIG AUS DER KOPIE IN DIESEM REPOSITORY INSTALLIERT WERDEN)
      • Diese Version von Scapy enthält mehrere Änderungen an der bluetooth.py Schicht, die mehrere neue Pakettypen unterstützt und den BluetoothUserSocket ordnungsgemäß schließt. Diese Änderungen sind derzeit nicht im Hauptentwicklungszweig (Mainline) von Scapy verfügbar.
    • 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/) - Zum Kompilieren der Dokumentation

    Nach der Installation von libbluetooth-dev, libpython-dev und python-sphinx führen Sie den folgenden Befehl aus, um die restlichen Python-Abhängigkeiten zu installieren:

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

    Dokumentation

    Führen Sie im docs-Ordner Folgendes aus:

    root@kitploit:~
    make html
    

    Anschließend ist unter docs/_build/html eine vollständige Sammlung von Dokumentation und Referenzhandbüchern verfügbar.

    Alles installieren

    Führen Sie den folgenden Befehl aus, um das Python-Paket zu installieren:

    root@kitploit:~
    python setup.py install
    

    Wenn Sie die BDADDR-Python-API nicht installieren möchten oder Probleme bei der Installation haben, kommentieren Sie die folgende Zeile in setup.py aus und führen Sie den obigen Befehl erneut aus:

    root@kitploit:~
    ext_modules = [c_ext],
    

    Zukunftspläne

    Vollständige Pairing-Unterstützung

    Derzeit unterstützt BLESuite nur das LE-Legacy-JustWorks-Pairing. Der Security Manager ist weitgehend skizziert, aber die verbleibende kryptografische Programmierung für LESC und die alternativen Assoziationsmodelle müssen noch implementiert werden.

    Unterstützung für signierte Schreibvorgänge

    Die signierte Schreiboperation (Signed Write) von ATT wird derzeit von BLESuite nicht unterstützt. Dies ist keine häufig verwendete Operation, aber um Sicherheitsmodus 2 zu unterstützen, sollte sie unterstützt werden.

    Weitere Unterstützung für private Adressen

    BLESuite unterstützt derzeit nur öffentliche (Public) und zufällige (Random, statische) Adressen. Random-Adressen können jedoch in zwei Untertypen unterteilt werden: statisch (Static) oder privat (Private). Eine zufällige private Adresse (Random Private Address) kann weiter in zwei Untertypen unterteilt werden, die derzeit von BLESuite nicht unterstützt werden: nicht auflösbare private Adresse (Non-resolvable Private Address) und auflösbare private Adresse (Resolvable Private Address, aufgelöst anhand des während des Pairings ausgetauschten IRK).

    Daher werden Funktionen zum Festlegen dieser Adresstypen für den Host-Adapter derzeit von BLESuite nicht bereitgestellt. Auch die Möglichkeit, zufällige auflösbare Adressen eines Peers anhand eines ausgetauschten IRK aufzulösen, ist noch nicht implementiert.

    Zusätzliche Werkzeuge auf Basis von BLESuite

    Mit der erstellten Bibliothek besteht der nächste Schritt darin, Sicherheitsbewertungswerkzeuge zu entwickeln, die diese Bibliothek nutzen.

    Ein solches Beispiel, das wir dieser Bibliothek beigefügt haben, ist ble-replay, das eine BLE-Paketaufzeichnung entgegennehmen und den GATT-Verkehr an ein Zielgerät erneut abspielen kann. ble-replay kann schnell dabei helfen, Sicherheitslücken auf der Anwendungsschicht im Zusammenhang mit Replay-Angriffen zu identifizieren.

    Solche Werkzeuge verringern den Zeitaufwand für die manuelle Analyse von Paketaufzeichnungen und das manuelle Skripten von BLE-Kommunikationstestfällen.

    Tool herunterladen