Pukan - stock.adobe.com

Bluetooth-Sicherheit: Security-Audits mit Open Source

Professionelle Bluetooth-Sicherheitsanalysen erfordern tiefe Einblicke in Funkprotokolle. BlueZ und Kali Linux ermöglichen die Identifikation sowie Manipulation von Endgeräten.

Bluetooth bleibt in vielen Sicherheitsprüfungen unterrepräsentiert, obwohl die Schnittstelle direkten Zugriff auf Endgeräte, industrielle Steuerungen und mobile Systeme erlaubt. Die Systeme akzeptieren Verbindungen auf Protokollebene ohne klassische Netzsegmentierung. Geräte senden regelmäßig Identifikationsdaten und Serviceinformationen, selbst ohne aktive Kopplung. Daraus ergeben sich Szenarien für Tracking, Profiling und Geräteimitation. Eine umfassende Analyse sollte daher nicht nur IP-basierte Kommunikation, sondern auch Funkprotokolle wie Bluetooth umfassen.

Grundlage aller Werkzeuge bildet der Stack BlueZ. Dieser implementiert die vollständige Bluetooth-Protokollkette im Linux-Kernel und stellt Schnittstellen für Diagnose, Kommunikation und Manipulation bereit. Kali Linux integriert diese Komponenten vollständig, allerdings ist der Dienst in vielen Installationen initial deaktiviert, da eine aktive Bluetooth-Schnittstelle zusätzliche Angriffsfläche erzeugt.

Aktivierung, Initialisierung und typische Fehlerbilder

Die Installation der benötigten Komponenten erfolgt über die Paketverwaltung. Der Befehl

sudo apt install bluetooth bluez bluez-tools rfkill

installiert sowohl den Kernel-Stack als auch Werkzeuge zur Steuerung und Diagnose. Das Paket bluetooth stellt den Dienst bereit, bluez implementiert die Protokollschicht und bluez-tools ergänzt Kommandozeilenfunktionen. rfkill dient zur Verwaltung von Hardwareblockaden auf Funkinterfaces.

Nach der Installation wird der Dienst über

sudo systemctl enable bluetooth.service

für den Systemstart registriert und mit

sudo systemctl start bluetooth.service

sofort aktiviert. Der Befehl

systemctl status bluetooth.service

zeigt, ob der Dienst läuft und ob Fehler auftreten.

Aktivieren von Bluetooth und verschiedenen Tools.
Abbildung 1: Aktivieren von Bluetooth und verschiedenen Tools für die Untersuchung des Bluetooth-Datenverkehrs in Kali Linux.

In der Praxis tritt häufig die Situation auf, dass kein Adapter erkannt wird. Die Meldung No default controller available weist darauf hin, dass kein HCI-Interface initialisiert wurde. Eine erste Diagnose erfolgt mit

lsusb | grep -i bluetooth

wodurch USB-basierte Adapter sichtbar werden. Fehlt ein Eintrag, liegt das Problem auf Hardware- oder Firmware-Ebene. Das Werkzeug hciconfig zeigt vorhandene Interfaces und deren Zustand. Ein Eintrag wie hci0 mit Status DOWN bedeutet, dass die Schnittstelle existiert, jedoch nicht aktiv ist. Die Aktivierung erfolgt über

sudo hciconfig hci0 up

wobei der Parameter up das Interface initialisiert und in den Betriebszustand versetzt. Erst danach stehen Scan- und Analysefunktionen zur Verfügung.

Erfassung der Bluetooth-Umgebung und Geräteidentifikation

Die erste Phase einer Analyse besteht in der Identifikation erreichbarer Geräte. Der Befehl

hcitool scan

führt eine klassische Inquiry durch und listet alle Geräte im Discoverable-Modus auf. Dabei liefert das Tool die Bluetooth-Adresse und den Namen des Geräts. Für Low Energy Geräte nutzt

hcitool lescan

einen anderen Scanmodus, da BLE-Geräte regelmäßig Broadcast-Pakete senden und nicht zwingend sichtbar geschaltet sein müssen.

hciconfig, hcitool und bluetoothctl im Kali Linux für die Bluetooth-Analyse
Abbildung 2: Verwenden von hciconfig, hcitool und bluetoothctl im Kali Linux für die Analyse des Bluetooth-Datenverkehrs.

Das Tool bluetoothctl erweitert diese Funktionalität durch eine interaktive Steuerung. Nach Start mit

bluetoothctl

aktiviert der Befehl scan on eine kontinuierliche Suche. Geräte erscheinen in Echtzeit. Mit info <MAC-Adresse> lassen sich Detailinformationen wie unterstützte Profile oder Signalstärke abrufen. Diese interaktive Arbeitsweise eignet sich für gezielte Untersuchungen einzelner Geräte.

Für langfristige Überwachung bietet sich bluelog an. Der Aufruf

bluelog -nmtc

startet eine kontinuierliche Erfassung im Hintergrund. Die Parameter definieren, welche Informationen protokolliert werden. Der Parameter n speichert Gerätenamen, m ergänzt Herstellerinformationen, t fügt Zeitstempel hinzu und c erfasst die Geräteklasse. Dadurch entsteht ein fortlaufendes Log, das Bewegungsmuster und wiederkehrende Geräte sichtbar macht.

Tiefgehende Analyse ohne Kopplung mit btscanner

Das Werkzeug btscanner geht über einfache Discovery hinaus und greift direkt auf HCI- und SDP-Daten zu. Nach Installation über

sudo apt install btscanner

wird es mit

btscanner

gestartet. Die ncurses-Oberfläche ermöglicht eine strukturierte Analyse. Mit der Eingabe von i wird ein Inquiry-Scan ausgelöst. Gefundene Geräte erscheinen in einer Liste, aus der sich einzelne Einträge auswählen lassen.

Anzeigen von Bluetooth-Geräten mit btscanner.
Abbildung 3: Anzeigen von Bluetooth-Geräten mit btscanner.

Im Gegensatz zu einfachen Scan-Tools hält btscanner eine Verbindung zum Zielgerät aufrecht. Dadurch lassen sich Parameter wie RSSI und Linkqualität kontinuierlich auswerten. Zusätzlich extrahiert das Tool Serviceinformationen über das SDP-Protokoll. Diese Kombination erlaubt Rückschlüsse auf Gerätetyp, Entfernung und unterstützte Funktionen, ohne dass eine Kopplung erforderlich ist.

Analyse des Datenverkehrs auf Protokollebene

Für die Untersuchung des eigentlichen Datenverkehrs wird btmon eingesetzt. Dieses Werkzeug arbeitet direkt auf der HCI-Schnittstelle und zeichnet die Kommunikation zwischen Betriebssystem und Bluetooth-Controller auf. Der Befehl

btmon -i hci0 -w bttraffic.log

startet die Aufzeichnung. Der Parameter -i legt die zu überwachende Schnittstelle fest. -w definiert eine Datei im btsnoop-Format, in der alle Pakete gespeichert werden. Die gespeicherten Daten lassen sich später mit

btmon -r bttraffic.log

auslesen. Der Parameter -r weist btmon an, eine bestehende Datei zu analysieren. Ergänzend liefern -t und -T Zeitinformationen, wodurch sich Paketabfolgen zeitlich einordnen lassen. Die Option -a führt eine Analyse der Datei durch und gruppiert Pakete nach Typ, was die Interpretation erleichtert.

Für eine grafische Auswertung wird Wireshark eingesetzt. Die zuvor erzeugte Datei enthält sämtliche Protokollebenen und ermöglicht eine detaillierte Analyse von L2CAP, RFCOMM oder SDP-Kommunikation.

Interaktion mit BLE-Geräten über GATT

BLE-Geräte arbeiten im Modus Bluetooth Low Energy und sind auf kurze Datenübertragungen mit geringer Energieaufnahme ausgelegt. In vielen Umgebungen senden solche Geräte regelmäßig Statusinformationen oder Sensordaten, ohne dass eine klassische Kopplung erforderlich ist. Dazu zählen Sensoren, Steuerkomponenten, mobile Geräte und Peripherie, die über Bluetooth konfiguriert oder überwacht werden. Für Sicherheitsanalysen spielt dieser Gerätetyp eine zentrale Rolle, da sich Funktionen und Zustände direkt über die Funkverbindung auslesen oder beeinflussen lassen.

Die interne Struktur dieser Geräte folgt dem GATT-Protokoll. Funktionen sind dort in Services organisiert, die wiederum einzelne Attribute enthalten. Ein Attribut repräsentiert einen konkreten Wert, etwa einen Messwert, einen Status oder eine Konfiguration. Diese Struktur lässt sich gezielt ansprechen.

Der Zugriff erfolgt mit dem Tool gatttool. Der Befehl

sudo gatttool -I -i hci0 -b AA:BB:CC:DD:EE:FF

stellt eine Verbindung zu einem BLE-Gerät her und öffnet eine interaktive Sitzung. Die Option -I aktiviert die Kommandooberfläche, -i legt das lokale Interface fest und -b definiert die Zieladresse, die zuvor durch Scan-Tools ermittelt wurde.

gatttool zur Untersuchung von BLE-Geräten
Abbildung 4: Das gatttool zur Untersuchung von BLE-Geräten nutzen.

Nach Aufbau der Verbindung über den Befehl connect bleibt die Sitzung aktiv. Über die bekannten Handles (eindeutige Adresse oder Kennnummer für ein bestimmtes Datenelement) lassen sich einzelne Attribute adressieren. Mit

char-read-hnd <handle>

wird der aktuelle Wert eines Attributs ausgelesen. Der Handle dient als eindeutige Referenz innerhalb der GATT-Struktur. Mit

char-write-req <handle> <wert>

lassen sich Werte setzen und damit Gerätezustände verändern. Dieser Zugriff erfolgt direkt auf Protokollebene und ermöglicht die Analyse oder Manipulation von Funktionen, sofern das Zielgerät entsprechende Rechte zulässt.

Manipulation der Geräteidentität mit Spooftooph

Ein zentrales Werkzeug für aktive Tests ist Spooftooph. Es ermöglicht die vollständige Veränderung der Geräteidentität. Nach Installation über

sudo apt install spooftooph

kann ein Adapter mit neuen Parametern konfiguriert werden.

Der Befehl

sudo spooftooph -i hci0 -n LabSpeaker -a 00:11:22:33:44:55 -c 0x1c010c

setzt Name, Adresse und Geräteklasse neu. Der Parameter -i definiert das Interface. -n überschreibt den Gerätenamen, -a setzt die Bluetooth-Adresse und -c legt die Geräteklasse fest.

Mit

sudo spooftooph -i hci0 -s -w devices.csv

wird ein Scan durchgeführt und in einer CSV-Datei gespeichert. Der Parameter -s aktiviert die Suche, -w schreibt die Ergebnisse in eine Datei. Diese enthält vollständige Geräteprofile.

Die Wiederverwendung erfolgt über

sudo spooftooph -i hci0 -r devices.csv

wobei -r gespeicherte Profile einliest. Dadurch lässt sich ein reales Gerät exakt imitieren. Alternativ erzeugt

sudo spooftooph -i hci0 -R

zufällige Identitäten.

Kombinierter Einsatz im Analyseablauf

Ein durchgängiger Analyseprozess kombiniert mehrere Werkzeuge. Nach Aktivierung des Interfaces über hciconfig beginnt die Erfassung der Umgebung mit hcitool und bluelog. Parallel zeichnet btmon den Datenverkehr auf. btscanner liefert zusätzliche Detailinformationen und ermöglicht die Bewertung einzelner Geräte. Die gewonnenen Daten fließen anschließend in spooftooph ein, um Geräteprofile zu reproduzieren. Ergänzend erlaubt gatttool direkte Interaktion mit BLE-Geräten.

Diese Kombination führt zu einer vollständigen Abdeckung von Discovery, Analyse und Manipulation. Bluetooth zeigt sich damit als eigenständiger Angriffsvektor mit direktem Zugriff auf Systeme außerhalb klassischer Netzwerkgrenzen.

Erfahren Sie mehr über Netzwerksicherheit