Zum Hauptinhalt springen

Voraussetzungen

Hardware-Anforderungen

Essentiell

HardwarePreisVerwendung
nRF52840 USB Dongle~10€BLE-Sniffing, PoC-Entwicklung
Linux-System-Analyse-Workstation
BLE-TestgerätvariiertAnalyseziel (eigenes Gerät!)

Optional

HardwarePreisVerwendung
Ubertooth One~150€Erweitertes Sniffing, Legacy Pairing
Android-SmartphonevariiertApp-Installation, Traffic-Generierung
Raspberry Pi~50€Dedicated Sniffing Station

Software-Stack

Basis-Installation

# Ubuntu/Debian
sudo apt update
sudo apt install -y \
python3 python3-pip python3-venv \
wireshark \
adb \
git \
default-jdk # Für JADX

Python-Bibliotheken

# Virtuelle Umgebung (empfohlen)
python3 -m venv ble-security
source ble-security/bin/activate

# Kernbibliotheken
pip install blatann pycryptodome

# Zusätzliche Tools
pip install scapy pyserial

Reverse Engineering Tools

ToolInstallationZweck
JADX-GUIGitHub ReleaseAPK Decompilierung
GhidraNSA GitHubNative Library Analyse
Fridapip install frida-toolsRuntime Hooking (optional)

nRF Sniffer Setup

# nRF Util installieren
pip install nrfutil

# Sniffer-Plugin installieren
nrfutil install ble-sniffer

# Firmware flashen (Dongle im Bootloader-Modus)
nrfutil ble-sniffer bootstrap --serial-number <SERIAL>

Kenntnisse-Check

✅ Erforderlich

  • Linux-Kommandozeile navigieren
  • Python-Skripte ausführen und modifizieren
  • Package Manager verwenden (apt, pip)
  • Wireshark grundlegend bedienen

📚 Wird hier vermittelt

  • BLE-Protokoll (GATT, ATT, Services)
  • UUID-System verstehen
  • Pairing-Mechanismen
  • APK Reverse Engineering
  • PoC-Entwicklung mit blatann

🎯 Hilfreich (nicht erforderlich)

  • AES/Kryptographie-Grundlagen
  • ARM Assembly (für Ghidra)
  • Android-Entwicklung

Testumgebung einrichten

Verzeichnisstruktur

mkdir -p ~/ble-research/{captures,apks,reports,scripts}

# Struktur:
# ~/ble-research/
# ├── captures/ # Wireshark .pcapng Dateien
# ├── apks/ # Extrahierte APK-Dateien
# ├── reports/ # Security Reports
# └── scripts/ # PoC-Skripte

Nächster Schritt

Weiter zur Testmethodik, um den systematischen Ansatz zu verstehen.