Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
Whisper_Bully — Dreistufige Bluetooth-BDADDR-Extraktion, DoS & Hijack auf Fast-Pair-Geräten; ungepatchte Primitive außerhalb des CVE-2025-36911-Bereichs (kein Ubertooth erforderlich) | Kitploit
Tools/GitHubGitHub/ymsniper/whisper_bully
AufklärungBluetooth-SicherheitExploitationInformationsbeschaffungDrahtlose SicherheitPenetrationstestsRed Teaming
GitHubymsniper/whisper_bully

Whisper_Bully

Dreistufige Bluetooth-BDADDR-Extraktion, DoS & Hijack auf Fast-Pair-Geräten; ungepatchte Primitive außerhalb des CVE-2025-36911-Bereichs (kein Ubertooth erforderlich)

Repository anzeigen
34111vor 2 MonatenVon 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

Whisper Bully

Bluetooth-BDADDR-Extraktion, Denial-of-Service & Hijack-Forschungswerkzeug

© 2026 @Ymsniper — Nur für autorisierte Sicherheitsforschung.


Übersicht

Whisper Bully ist ein dreistufiges Bluetooth-Sicherheitsforschungswerkzeug, das Geräte anvisiert, die Google Fast Pair (Dienst-UUID fe2c) bewerben. Es demonstriert zwei ungepatchte Angriffsprimitive, die außerhalb des Anwendungsbereichs des CVE-2025-36911-Firmware-Patches liegen:

  • Ungepatchter BDADDR-Leak — permanente Identitätsadresse wird über eine einfache BLE-Verbindung preisgegeben, keine GATT-Interaktion erforderlich, funktioniert auf vollständig gepatchten Geräten
  • SMP-Authentifizierungsumgehung über Reset-Fenster — persistenter Bond wird während der BT-Stack-Wiederherstellung nach L2CAP-Flood mittels Standard-SMP Just Works aufgebaut, ohne Fast-Pair-GATT-Handshake

⚠️ Dieses Werkzeug implementiert NICHT das Whisper Pair (Fast Pair GATT)-Protokoll. Es schreibt nie auf die Key-Based Pairing-Charakteristik (UUID 1236) oder Account-Key-Charakteristik (UUID 1238). Die hier beschriebene Angriffsfläche ist getrennt von und nicht adressiert durch den CVE-2025-36911-Pairing-Mode-Check-Patch.


https://github.com/user-attachments/assets/67f2bcb6-38ad-4ba0-80c5-36dbb54f3f11

Angriffsstufen

Stufe 1 — BDADDR-Extraktion (Ungepatchte Informationspreisgabe)

Grundursache: Wenn eine BLE-Verbindung hergestellt wird, verarbeitet der Linux-BlueZ-Host-Stack das LL_CONNECTION_COMPLETE-Ereignis und löst die auflösbare private Adresse (RPA) des Geräts in seine permanente Identitätsadresse auf, die er in der BlueZ-Gerätetabelle zwischenspeichert. Dies geschieht auf der Link-Layer-/HCI-Ebene, bevor eine GATT-Dienstinteraktion stattfindet. Kein Fast-Pair-Protokoll ist beteiligt.

Was der Code tatsächlich tut:

  1. Führt einen aktiven BLE-Scan (BleakScanner) nach Geräten durch, die die Fast-Pair-Dienst-UUID fe2c bewerben – wird nur zur Zielidentifikation verwendet, keine Protokollinteraktion
  2. Stellt eine einfache BLE-Verbindung über BleakClient.connect() her – keine GATT-Schreibvorgänge jeglicher Art
  3. Setzt den BlueZ-Agenten auf NoInputNoOutput als Vorbereitung für Schritt 4
  4. Überprüft, ob der Fast-Pair-GATT-Dienst auf dem Ziel vorhanden ist – diese Prüfung ist nur empfehlend; das Werkzeug fährt unabhängig vom Ergebnis fort (Zeile 452 von wb.py)
  5. Führt bluetoothctl pair <rpa_addr> aus – Standard-Bluetooth-SMP-Pairing-Versuch, nicht Fast Pair
  6. Überwacht die Standardausgabe von bluetoothctl auf die Ausgabe Bonded: yes, die die gebondete Adresse enthalten kann
  7. Primärer Rückfall: Ruft bluetoothctl devices auf und vergleicht mit der ursprünglichen RPA – jeder Eintrag mit demselben Gerätenamen, aber einer anderen Adresse, ist die permanente Identitätsadresse, die in Schritt 2 von BlueZ preisgegeben wurde

Warum der Patch dies nicht behebt:

Der CVE-2025-36911-Firmware-Fix fügt eine Pairing-Mode-Prüfung zum Fast-Pair-GATT-Key-Based-Pairing-Charakteristik-Handler auf dem Zubehör hinzu. Dieses Werkzeug schreibt nie auf diese Charakteristik. Der Identitätsadressen-Leak tritt auf dem Linux-Host des Angreifers über den eigenen BlueZ-Geräte-Cache auf – vollständig außerhalb der Firmware des Zubehörs.

Wichtige Verhaltenshinweise:

  • Die Extraktion kann selbst dann erfolgreich sein, wenn der Schritt bluetoothctl pair fehlschlägt oder zeitlich ausläuft
  • Die Prüfung auf das Vorhandensein des FP-GATT-Dienstes in Schritt 4 blockiert den Angriff nicht
  • Es erscheint kein PIN-Bestätigungsfenster – NoInputNoOutput bedeutet keine Benutzerinteraktion auf beiden Seiten für Just Works

Stufe 2 — L2CAP-Flooding (EMP-Burst-Reconnect-Modus)

Sobald die permanente Adresse bekannt ist, kann optional ein anhaltender L2CAP-Denial-of-Service unter Verwendung einer modifizierten Version von l2flood ausgeführt werden.

Zwei Modi werden im gesamten Werkzeug verwendet:

-R-Flag — EMP-Modus (Stufe 2 Flood) Stiller Fire-and-Forget-Burst-Reconnect. Alle Threads synchronisieren ihre Connect→Burst→Forced-Close-Zyklen, sodass das Ziel periodisch vollständige ACL-Takedowns erhält, anstatt gestaffeltes L2CAP-Kanal-Shuffling, das es absorbieren könnte. Verwendet SO_LINGER {1,0} für sofortigen RST-Takedown bei jedem Schließen. Erzeugt während des normalen Betriebs keine Ausgabe auf stdout – Verbindungsfehler werden nach stderr unterdrückt und nur periodisch ausgegeben.

Normalmodus (Stufe 3 Hijack-Probe) Wird ohne -R verwendet, um zu prüfen, ob das Ziel noch antwortet. Dieser Modus wurde ebenfalls verbessert – er behandelt jetzt automatisch Wiederverbindungen und gibt no response from <addr>: id N aus, wenn das Ziel nicht mehr antwortet, was wb.py überwacht, um den Hijack auszulösen.

Ergebnis: Das Zielgerät wird während des aktiven Floods unerreichbar für normale Verbindungsversuche. Das Gerät erholt sich vollständig, wenn der Angriff stoppt – kein dauerhafter Schaden.

Multithread-Verhalten:

  • Threads synchronisieren sich nach jedem Burst-Zyklus, sodass der Druck gleichzeitig auf das Ziel trifft
  • Effektiv bis zu ~16 Threads auf typischer Hardware; abnehmender Nutzen darüber hinaus
  • Mehrere HCI-Adapter können gleichzeitig verwendet werden, um den Druck zu erhöhen

Stufe 3 — Hijack über SMP Just Works während des Reset-Fensters (Ungepatchter Auth-Bypass)

Grundursache: Der anhaltende L2CAP-Flood führt dazu, dass der Bluetooth-Stack des Zielgeräts abstürzt oder zurückgesetzt wird. Während des Wiederherstellungsfensters – bevor der Fast-Pair-GATT-Dienst erneut registriert wurde und bevor der Security Manager vollständig neu initialisiert wurde – akzeptiert das Gerät einen standardmäßigen SMP Just Works Bond von NoInputNoOutput, ohne den Fast-Pair-GATT-Handshake zu erfordern, der normalerweise den Bond blockieren würde. Der resultierende Bond ist persistent: Er überlebt BT-Adapter-Resets und zeigt Paired: yes / Bonded: yes in bluetoothctl info an.

Warum dies ein separater Befund von CVE-2025-36911 ist:

Der CVE-2025-36911-Patch erzwingt eine Pairing-Mode-Prüfung im FP-GATT-Key-Based-Pairing-Charakteristik-Handler. Stufe 3 greift nie auf diese Charakteristik zu. Der Bond wird auf der SMP-Ebene während eines Fensters hergestellt, in dem der FP-GATT-Server nicht neu initialisiert wurde, sodass das Fast-Pair-Sicherheitstor nie erreicht wird. Ein vollständig gepatchtes Gerät bleibt dafür anfällig, da der Patch während der Stack-Wiederherstellung keine Sichtbarkeit auf die SMP-Ebene hat.

Was der Code tatsächlich tut:

  1. Sendet eine L2CAP-Probe (l2flood -c -1 -t 2), um zu bestätigen, dass das Gerät nicht reagiert – sucht nach no response from <addr>: id N in der Ausgabe
  2. Sobald der nicht reagierende Zustand bestätigt ist, führt es bluetoothctl connect <permanent_addr> in einer Wiederholungsschleife aus
  3. SMP verhandelt NoInputNoOutput / NoInputNoOutput → Just Works-Assoziationsmodell → Bond wird abgeschlossen
  4. bluetoothctl connect gibt bei Erfolg den Exit-Code 0 zurück
  5. Bond bleibt bestehen, nachdem der Angriff gestoppt wurde

Erfolgswahrscheinlichkeit nach Gerätezustand:

GerätezustandErwartetes Ergebnis
Aktiv im Flood / nicht reagierendHöchste Erfolgswahrscheinlichkeit – Stack in degradiertem Zustand während der Wiederherstellung
Erholung vom FloodHohe Erfolgswahrscheinlichkeit – temporäres SM-Neuinitialisierungsfenster
Vollständig erholtGeringere Erfolgswahrscheinlichkeit – normale Sicherheit wiederhergestellt
AusgeschaltetFehlschlag

Beziehung zu CVE-2025-36911

Tool herunterladen