
BLE-Replay is a Bluetooth Low Energy (BLE) peripheral assessment tool
BLE-Replay ist ein Tool zur Bewertung von Bluetooth-Low-Energy-(BLE)-Peripheriegeräten. Es ruft Bluetooth-HCI-Logs von Ihrem Mobilgerät ab/verarbeitet sie und extrahiert alle Schreibvorgänge, die das Central-Gerät an ein Peripheriegerät vornimmt.
Diese Daten können mit den meisten Bluetooth-Dongles von einem Linux-Host aus abgespielt oder zur Änderung auf der Festplatte gespeichert werden. Dieses Tool bringt Sie direkt zum Testen eines Peripheriegeräts, ohne Daten mit Wireshark zu extrahieren oder Dinge mit Tools wie gatttool zu skripten. Es ermöglicht das manuelle Erstellen eigener Sequenzen von Characteristic-Schreibvorgängen, um sie gegen ein Gerät zu testen, einschließlich Unterstützung für Byte-Level-Fuzzing.
Dieses Tool ist nützlich, wenn eine mobile App einige Characteristics auf dem BLE-Gerät schreibt, um eine Funktion zu konfigurieren/entsperren/deaktivieren oder eine andere zustandsändernde Aktion auf dem Gerät auszuführen.
Linux mit BlueZ-Stack.
BLESuite -> https://github.com/nccgroup/BLESuite
python ble-replay.py -h
["000e", "58e96f71ac901b55", [0,1,5,7], 2]
["002c", "627474686f6c65", [], 1]
["0002", "01", [0], 40]
Jede Zeile enthält eine JSON-Liste mit 4 Parametern:
HCI-Log vom Android-Gerät abrufen und unverändert abspielen:
python ble-replay.py -f -r
Ein HCI-Log von Ihrem Computer parsen und unverändert abspielen:
python ble-replay.py -p btsnoop_hci.log -r
HCI-Log vom Android-Gerät abrufen und modifizierbare Replay-Daten auf der Festplatte speichern:
python ble-replay.py -f -of replaydata.json
Ändern Sie die Hex-Werte nach Bedarf und spielen Sie die Datei dann mit folgendem Befehl ab:
python ble-replay.py -if replaydata.json -r