Pentesting BLE - Bluetooth Low Energy
Einführung
Seit der Bluetooth 4.0-Spezifikation verwendet BLE nur 40 Kanäle im Bereich von 2400 bis 2483,5 MHz. Im Gegensatz dazu verwendet herkömmliches Bluetooth 79 Kanäle in diesem Bereich.
BLE-Geräte kommunizieren, indem sie Werbe-Pakete (Beacons) senden, die die Existenz des BLE-Geräts anderen nahegelegenen Geräten mitteilen. Diese Beacons senden manchmal auch Daten.
Das empfangende Gerät, auch Zentralgerät genannt, kann auf ein Werbepaket mit einer SCAN-Anforderung antworten, die speziell an das werbende Gerät gesendet wird. Die Antwort auf diesen Scan verwendet die gleiche Struktur wie das Werbe-Paket mit zusätzlichen Informationen, die nicht in der ursprünglichen Werbe-Anfrage enthalten waren, wie z.B. der vollständige Gerätename.
Das Präambelbyte synchronisiert die Frequenz, während die vier Byte lange Zugriffsadresse ein Verbindungsidentifikator ist, der in Szenarien verwendet wird, in denen mehrere Geräte versuchen, Verbindungen auf denselben Kanälen herzustellen. Als Nächstes enthält die Protocol Data Unit (PDU) die Werbedaten. Es gibt mehrere Arten von PDU; die am häufigsten verwendeten sind ADV_NONCONN_IND und ADV_IND. Geräte verwenden den PDU-Typ ADV_NONCONN_IND, wenn sie keine Verbindungen akzeptieren, und übertragen Daten nur im Werbepaket. Geräte verwenden ADV_IND, wenn sie Verbindungen zulassen und nachdem eine Verbindung hergestellt wurde, keine Werbepakete mehr senden.
GATT
Das Generic Attribute Profile (GATT) definiert, wie das Gerät Daten formatieren und übertragen soll. Bei der Analyse der Angriffsfläche eines BLE-Geräts konzentrieren Sie sich oft auf das GATT (oder GATTs), da es auslöst, wie die Gerätefunktionalität ausgelöst wird und wie Daten gespeichert, gruppiert und geändert werden. Das GATT listet die Merkmale, Deskriptoren und Dienste eines Geräts in einer Tabelle als 16- oder 32-Bit-Werte auf. Ein Merkmal ist ein Datenwert, der zwischen dem Zentralgerät und dem Peripheriegerät gesendet wird. Diese Merkmale können Deskriptoren haben, die zusätzliche Informationen über sie bereitstellen. Merkmale sind oft in Diensten gruppiert, wenn sie mit der Ausführung einer bestimmten Aktion zusammenhängen.
Enumeration
GATTool
GATTool ermöglicht es, eine Verbindung zu einem anderen Gerät herzustellen, die Eigenschaften dieses Geräts aufzulisten und seine Attribute zu lesen und zu schreiben.
GATTTool kann eine interaktive Shell mit der Option -I
starten:
Bettercap
Last updated