Reverse Engineering eines Bluetooth-LE-LED-Beleuchtungscontrollers, oder: Wie ich meine Weihnachtsbeleuchtung ruiniert habe
- Geräte, die über Bluetooth LE kommunizieren und eine App haben, sind es wert, in ein Heimautomatisierungssystem integriert zu werden.
- Es wurde viel Zeit darauf verwendet, preisgünstige LED-Lichtstreifen durch Reverse Engineering zu automatisieren.
- Kürzlich gelang es, den billigsten Bluetooth-LE-gesteuerten 5M-nicht-adressierbaren Streifen für £2.38 in nur wenigen Stunden mit Home Assistant zu verbinden.
Schritt 1. Bytes über Drähte
- Um ein Gerät mit eigener Software zu steuern, ist der erste Schritt, die Bluetooth-Bytes zu untersuchen, die die App an das Gerät sendet.
- Android macht diesen Prozess einfach. Den Entwicklermodus aktivieren, die Beleuchtungs-App installieren und dann in den Entwickleroptionen
Bluetooth HCI snoop aktivieren, um ein Log aufzuzeichnen.
- Das Log kann in Wireshark geöffnet werden, um die genauen Bytes zu sehen, Wertemuster zu finden und die Byte-Serien für jede Aktion zu identifizieren.
Schritt 2. Replay-Angriff
- Wenn das Ziel einfach nur ist, das Licht ein- und auszuschalten, können die beobachteten sich wiederholenden Byte-Serien für die Stromsteuerung ausreichen.
- Mit
gatttool kann eine Verbindung zu einem BLE-Gerät hergestellt und das Senden von Bytes getestet werden.
Schritt 3. Android-App dekompilieren
- Die APK der App herunterladen und in jadx öffnen, um die Geheimnisse im Inneren zu untersuchen.
- Im Quelltext wurde ein Verweis auf AES gefunden, was auf ein mögliches verschlüsseltes Protokoll hindeutet.
- Die verschlüsselten Daten ändern sich nicht bei jedem Mal, benötigen auf einem Low-Power-MCU eine schnelle Entschlüsselung und verwenden möglicherweise einen festen Schlüssel, der nicht für jedes Gerät einzigartig ist.
Schritt 4. Alle Funktionen
- Jede App-Funktion durchgehen und die gesendeten Bytes aufzeichnen.
- Das hilft dabei, jede Aktion zu protokollieren, sie zu wiederholen, Muster zu entdecken und die erfassten Bytes mit Notizen in Beziehung zu setzen.
Schritt 5. Automatisierter Elektronikschrott-Erzeuger
- Während der Untersuchung von Farbänderungen wurde beobachtet, dass die App für Rot, Grün und Blau keine Werte über 0x1F sendet.
- 8-Bit-Werte wurden ausprobiert, und es zeigte sich, dass hellere Farben problemlos funktionieren.
- Aus Neugier, ob es zusätzliche Effekte gibt, wurde das mit einer einfachen Schleife getestet.
- Bis zum 10. Effekt funktionierte alles gut, beim 11. wurde ein geheimer Modus entdeckt, und beim 12. kam die Dunkelheit.
- Ein Neustart wurde versucht, aber die Beleuchtung ging nicht wieder an und sendete auch keine Bluetooth-Werbung mehr, sodass keine Verbindung mehr möglich war.
- Vermutlich wurde die Firmware durch einen Buffer Overflow beschädigt.
- Die LEDs selbst sind jedoch standardmäßige adressierbare LEDs und können daher mit einem anderen Mikrocontroller weiterverwendet werden.
Wie könnte ich meine Beleuchtung ruinieren
- Trotz des Problems wurde der Großteil des Protokolls dokumentiert und ein Github-Projekt erstellt, einschließlich einer benutzerdefinierten Home-Assistant-Komponente.
- Es funktioniert, aber nur auf eigene Gefahr.
Meinung von GN⁺
- Das Wichtigste an diesem Artikel ist der DIY-Geist und die Begeisterung für Reverse Engineering, mit denen jemand versucht, die zu Hause verwendete smarte Beleuchtung in ein Automatisierungssystem zu integrieren.
- Der Reverse-Engineering-Prozess erfordert nicht nur technisches Wissen, sondern auch Problemlösungsfähigkeit und Kreativität, was ihn auch für angehende Softwareingenieure zu einem äußerst spannenden Thema macht.
- Die Erfahrung eines Fehlschlags zu teilen, hilft anderen, denselben Fehler nicht zu wiederholen, und dieser offene Wissensaustausch ist einer der Kernwerte der Open-Source-Community.
1 Kommentare
Hacker-News-Kommentare
Analyse der entschlüsselten Pakete
Problem mit der Stromversorgung
Versuch des Reverse Engineering verschlüsselter Leuchten
Meinung zu BLE-Leuchten
Versuch der Automatisierung BLE-verbundener Weihnachtsbeleuchtung
Frage zur Nachrichtenverschlüsselung
Kommentar zur Verschlüsselung
Humorvoller Kommentar zum Hacken von Lichtern
Anfängerfrage zum Reverse Engineering von Govee-Leuchten