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
BLEBoy — BLEBoy is a training tool to teach users about BLE security by providing a single BLE peripheral that can be used to experiment with each BLE pairing method and demonstrates GATT security concepts. | Kitploit
Tools/GitHubGitHub/nccgroup/bleboy
Embedded Systems SecurityBluetooth SecurityIoT SecurityWireless SecurityLearning & EducationLabs & Practice
GitHubnccgroup/bleboy

BLEBoy

BLEBoy is a training tool to teach users about BLE security by providing a single BLE peripheral that can be used to experiment with each BLE pairing method and demonstrates GATT security concepts.

Repository anzeigen
499vor 6 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

BLEBoy

Ziel

Ein BLE-Peripheral erstellen, das alle BLE-Pairing-Methoden unterstützt, die für Training und Tests verwendet werden können, einschließlich Out-of-Band-Pairing (OOB). Das Peripheral muss konfigurierbar und mit handelsüblichen Bauteilen einfach nachzubauen sein.

Überblick

BLEBoy ist ein BLE-Peripheral, das mit dem Adafruit nRF52 Feather Board implementiert und aktualisiert wurde, um alle in der Bluetooth-Spezifikation beschriebenen BLE-Pairing-Methoden zu unterstützen (https://www.bluetooth.com/specifications/bluetooth-core-specification). BLEBoy ermöglicht die Aktualisierung der GAP-Sicherheitsparameter im laufenden Betrieb (LESC, OOB, MitM, IO-Fähigkeiten usw.), damit Benutzer mit den verschiedenen Pairing-Methoden (und dem jeweils gebotenen Sicherheitsniveau) experimentieren können. Es unterstützt außerdem das Senden von OOB-Daten über die serielle Schnittstelle, damit andere Tools BLE-OOB-NFC-Datensätze für das OOB-Pairing erstellen können.

Dieses Tool kann zusammen mit den Trainingsmodulen im Ordner „Training" verwendet werden, um mehr über BLE-Sicherheit zu lernen.

HINWEIS Dieses Gerät ist für das BLE-Sicherheitstraining gedacht. Verwenden Sie den Code nicht in sicheren Anwendungen. In dem Code werden mehrere Zufallszahlengeneratoren verwendet, die nicht als kryptografisch sicher gelten. Spätere Versionen des NRF52 Nordic SDK bieten sichere RNG-APIs, die bei Bedarf für diesen Zweck verwendet werden können.

Anforderungen

Erforderliche Hardware

  • nRF52 Feather (https://www.adafruit.com/product/3406)
  • OLED Featherwing (https://www.adafruit.com/product/2900)
  • Joy Featherwing (https://www.adafruit.com/product/3632)
    • Achten Sie darauf, Pin 27 kurzzuschließen (das Pad auf der Unterseite der Platine kann zu diesem Zweck verlötet werden), damit wir ihn als Interrupt-Pin konfigurieren können. Wenn ein anderer Interrupt-Pin gewünscht ist, muss der BLEBoy-Code geändert werden.
  • Feather Tripler (https://www.adafruit.com/product/3417)
    • Nicht unbedingt erforderlich, vereinfacht aber das Verbinden der Komponenten.
  • Micro-USB-Kabel für das Feather (erforderlich zum Hochladen des Codes und zur Unterstützung des Passkey-Entry-Assoziationsmodells des Peripherals)
  • Zugang zu einem Lötkolben für die Montage der Komponenten (Anlöten der Stiftleisten)
  • Ein Android-Telefon, das Bluetooth 4.0 unterstützt und bei dem die Entwickleroptionen aktiviert sind (https://developer.android.com/studio/debug/dev-options.html)
    • Dies kann auch mit einem jailbroken iOS-Gerät (Version <10) mit von Cydia installiertem BTCompanion durchgeführt werden. Der Einfachheit halber behandeln wir hier jedoch nur Android.

Hinweis: Um die Pairing-Assoziationsmodelle OOB und Passkey Entry (bei denen der Passkey auf dem Peripheral eingegeben wird) zu unterstützen, muss ein Micro-USB-Kabel mit dem nRF52 Feather verbunden werden und auf serielle Kommunikation (Baud 9600) gelauscht werden. Dieselbe serielle Verbindung wird verwendet, um Status- und Debug-Informationen auszugeben.

Optionale Hardware

  • Für das Nachvollziehen des OOB-NFC-Beispiels
    • PN532 Breakout (https://www.adafruit.com/product/364)
    • FTDI-Kabel (BLEBoy wurde mit einem Adafruit FTDI Friend getestet - https://www.adafruit.com/product/284)
    • NTAG213-NFC-Tags
  • Ein LIPO-Akku, um das Micro-USB-Kabel zur Stromversorgung des Feather überflüssig zu machen
  • Ein Hartschalenkoffer für die Lösung. Das OLED ist recht empfindlich und kann bei starkem Druck leicht brechen.

Erforderliche Arduino-Bibliotheken

Alle Bibliotheken können aus ihren jeweiligen Quellen installiert werden, mit Ausnahme von arduino-menusystem und Bluefruit52Lib, die modifiziert wurden. Ein Änderungsprotokoll der modifizierten Bibliotheken finden Sie in 3rdPartyChanges.txt.

Alternativ können Benutzer die im Ordner „libraries" dieses Projekts enthaltenen Bibliotheken verwenden, um sicherzustellen, dass dieselbe Version der während der Entwicklung verwendeten Bibliotheken verwendet wird.

  • Adafruit GFX (https://github.com/adafruit/Adafruit-GFX-Library)
  • Adafruit SSD1306 (https://github.com/adafruit/Adafruit_SSD1306)
  • Adafruit nRF52
    • Befolgen Sie zunächst die Installationsanweisungen unter https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide (Debian-Anweisungen finden Sie weiter unten). HINWEIS: Achten Sie darauf, die Board-Version 0.6.0 zu installieren.
    • Befolgen Sie anschließend die Anweisungen unter „Installieren der angepassten Bluefruit52Lib" weiter unten.
  • Micro-ecc (https://github.com/kmackay/micro-ecc)
  • Adafruit Seesaw (https://github.com/adafruit/Adafruit_Seesaw)
  • arduino-menusystem (https://github.com/jonblack/arduino-menusystem)
    • Verwenden Sie die modifizierte Version im Ordner „libraries".

Hardware-Einrichtung

Im Folgenden finden Sie die Einrichtungsanweisungen für den Aufbau von BLEBoy mit der oben in den Abschnitten aufgeführten erforderlichen Hardware:

  1. Löten Sie Stiftleisten (Male Header) auf jedes der Feather und Featherwings.
  2. Schauen Sie bei der Joy Featherwing auf die Unterseite der Platine und bringen Sie Lötzinn auf dem Pad Option Interrupt Pin vor Pin 27 an.
  3. Löten Sie Buchsenleisten (Female Header) auf das Tripler.
  4. Stecken Sie alle 3 Feather-Boards auf das Tripler (die Reihenfolge ist beliebig, aber der Einfachheit halber habe ich das OLED oben, das nRF52 in der Mitte und die Joy unten platziert).

Software-Installation

Um das nRF52 Feather mit dem BLEBoy-Code zu programmieren, führen Sie die folgenden Schritte aus:

  • Installieren Sie die Arduino-IDE.
  • Installieren Sie die Board-Ressourcen für das Adafruit nRF52 Feather in der Arduino-IDE (siehe https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup).
    • Entwickelt und getestet mit der nRF52-Board-Version 0.6.0. Der Erfolg mit anderen Versionen kann variieren.
  • Installieren Sie die Drittanbieter-Arduino-Bibliotheken (siehe Abschnitt „Erforderliche Arduino-Bibliotheken" oben).
  • Ersetzen Sie die Adafruit Bluetooth52Lib durch den Bluetooth52Lib-Ordner in diesem Repository.
  • Installieren Sie die modifizierte Bibliothek arduino-menusystem im Ordner „libraries" dieses Repository.
  • Laden Sie BLEBoy auf das nRF52 Feather hoch.
  • Richten Sie eine serielle Verbindung zum nRF52 Feather ein (9600 Baud).
  • (Optional) Richten Sie den PN532 für das OOB-NFC-Pairing ein.

Installieren von Arduino mit Adafruit-nRF52-Ressourcen unter Debian

  • Laden Sie die neueste Arduino-IDE herunter.
  • Befolgen Sie die Anweisungen unter https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup.
    • OSX und Linux: Achten Sie darauf, den nrfutil-Python-Wrapper zu installieren (befolgen Sie die Anweisungen zur Installation mithilfe der von der Arduino-IDE durchgeführten BSP-Installation).
    • Diese Seite enthält auch einige Schritte zur Fehlerbehebung, falls Probleme auftreten.
  • Befolgen Sie die Anweisungen unter https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-board-setup, um den cp260x-Treiber zu installieren.
  • Wenn Sie Linux verwenden, befolgen Sie die Anweisungen unter http://playground.arduino.cc/linux/all#permission, um die korrekten Berechtigungen für den Zugriff auf das serielle Gerät zu konfigurieren.

Installieren der angepassten Bluefruit52Lib

  • Kopieren Sie den Ordner der angepassten Bluefruit52Lib nach ( variiert je nach Installation):
    • OS X : ~/Library/Arduino15/packages/adafruit/hardware/nrf52/<version>/libraries
    • Linux : ~/.arduino15/packages/adafruit/hardware/nrf52/<version>/libraries
    • Windows: %APPDATA%\Local\Arduino15\packages\adafruit\hardware\nrf52\ <version> \libraries

Installieren von Drittanbieter-Bibliotheken

  • Installieren Sie die unter „Erforderliche Arduino-Bibliotheken" aufgeführten Drittanbieter-Bibliotheken.
  • Kopieren Sie arduino-menusystem aus dem libraries-Ordner von BLEBoy in Ihren Arduino-Bibliotheksordner.

ODER

  • Kopieren Sie die Ordner in „libraries" in den Arduino-Bibliotheksordner.
    • Üblicherweise zu finden unter ~/Arduino/libraries oder C:\Users\ <user> \Documents\Arduino\libraries

(OPTIONAL) Installation des PN352 für das OOB-Pairing per NFC

  • Installieren Sie Python nfcpy (https://nfcpy.readthedocs.io/en/latest/) und PySerial (http://pyserial.readthedocs.io/en/latest/pyserial.html).
  • Verbinden Sie den PN532 mit einem FTDI-Kabel (getestet mit einem Adafruit FTDI Friend) und verbinden Sie ihn mit Ihrem Host.
  • Verbinden Sie das BLEBoy-Gerät mit dem Host.
  • Notieren Sie sich die seriellen Ports aus den beiden vorherigen Schritten und aktualisieren Sie das Python-Skript zum OOB-Parsing, sodass es diese Ports verwendet.
Tool herunterladen