3 Punkte von GN⁺ 2025-09-16 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Ich habe eine Tapo-Kamera gekauft, um meinen Hund im Haus zu beobachten, und dabei unerwartet die Funktionsweise von TP-Link-Geräten und der App rückwärts analysiert
  • Um den Onboarding-Prozess und die Struktur der verschlüsselten API-Kommunikation zu untersuchen, kamen verschiedene Techniken zum Einsatz, darunter MITM, APK-Decompiling und das Erstellen von Entschlüsselungsskripten
  • Durch die Entdeckung des initialen Administrator-Passworts und des Ableitungsprozesses für Sitzungsschlüssel konnten verschlüsselte Nachrichten entschlüsselt und Probleme mit der unzuverlässigen Synchronisierung zwischen Gerät und Cloud-Konto erkannt werden
  • Durch die Analyse des gesamten Onboarding-Ablaufs wurden die wichtigsten API-Aufrufe, Kontenerstellung, Passwortänderung und der Wi‑Fi-Verbindungsprozess per Bash-Skript automatisiert
  • Es werden Schwachstellen im Sicherheitsdesign der Tapo-Firmware, eine wenig ausgereifte Verschlüsselungsimplementierung und eine unregelmäßige Kontensynchronisierung aufgezeigt – typische Merkmale günstiger IoT-Geräte

Projektüberblick

  • Der Autor kaufte und nutzte eine günstige Tapo-Kamera zur Beobachtung seines Hundes in der Wohnung
  • Während der Nutzung führten umständliche Einrichtung und mangelnde verfügbare Informationen im Netz dazu, dass er die Funktionsweise des Produkts genauer untersuchte
  • Unerwartete Probleme bei der Integration mit frigate und beim Aktivieren von 2way audio weckten das Interesse an einer direkten Onboarding-Methode ohne Cloud-Anbindung

Analyse von Onboarding- und Authentifizierungsstruktur

  • Um den Verbindungsprozess der Tapo-Kamera zu analysieren, wurden MITM proxy und das dynamische Hooking-Tool frida verwendet, um den Datenverkehr zwischen App und Kamera abzufangen
    • Da aktuelle Apps häufig Schutzmechanismen wie Proxy-Ignorierung und certificate pinning besitzen, ist ein Ansatz mit dynamischen Tools wirksam
  • Nach dem Einrichten dieser Umgehungsstruktur konnte im Onboarding-Flow der Kamera der Vorgang des Default-Logins mit dem Administrator-Konto genau nachvollzogen werden
  • Es wurde festgestellt, dass die Default-Login-API unabhängig vom Passwort des Cloud-Kontos mit einem gerätespezifischen Standardpasswort arbeitet

Verschlüsselungsstruktur und Suche nach dem Standardpasswort

  • Durch APK-Decompiling (mit JADX) und Codeanalyse wurde das Standardpasswort des admin-Kontos (TPL075526460603) ermittelt
  • Dass bereits verknüpfte Kamerageräte selbst nach einer Änderung des Cloud-Passworts diese Änderung nicht erkennen, bestätigte die fehlerhafte Passwortsynchronisierung zwischen App und Kamera
  • Nachdem das Standardpasswort bekannt war, konnte durch Implementierung der Ableitungslogik für die Sitzungsschlüssel (lsk, ivb) die verschlüsselte API-Kommunikation in Echtzeit entschlüsselt werden

mitmproxy-Skripting und API-Analyse

  • Unter Bezug auf das Open-Source-Projekt PyTapo wurde der tatsächliche API-Ablauf des Tapo-Onboardings präzise analysiert
  • Mit dem Skript tapo_decrypt_pretty.py wurden
    • der Login-Handshake erkannt
    • Sitzungsschlüssel extrahiert
    • verschlüsselte APIs entschlüsselt und gut lesbar ausgegeben sowie als JSON gespeichert
  • Aus der vollständigen Liste der Onboarding-API-Aufrufe wurden nur die relevanten Hauptschritte ausgewählt und daraus ein automatisierter Workflow erstellt
    • Wi‑Fi-Liste abrufen (scanApList)
    • RTSP/ONVIF-Konto aktivieren
    • Administrator-Passwort ändern
    • Wi‑Fi verbinden

Automatisierung und Ergebnisse

  • Mit dem Bash-Skript (tapo_onboard.sh) wurde der gesamte oben beschriebene Onboarding-Prozess vollautomatisch ausgeführt
    • Standard-Login als admin
    • Wi‑Fi auswählen und verbinden
    • Logo aus dem Kamerafeed entfernen
    • RTSP/ONVIF aktivieren
    • Administrator-Passwort zurücksetzen
  • In der Struktur der Kamera-Firmware wurden folgende Eigenschaften und Schwachstellen festgestellt
    • Einige APIs verwenden SHA-256-Hashes, andere behalten veraltete Verfahren wie MD5 bei
    • Es existieren 2 öffentliche Schlüssel, aber es ist unklar, in welcher Situation welcher Schlüssel verwendet werden soll
    • Die Passwortsynchronisierung zwischen App und Gerät ist äußerst instabil

Fazit und Eindruck

  • Die Sicherheitsstruktur von Tapo-Kamera-Firmware und API wirkt provisorisch und wenig ausgereift
  • Das Projekt vermittelte indirekt praktische Einblicke in Sicherheitslücken günstiger IoT-Geräte und die Realität unvollständiger Onboarding-Systeme
  • Das eigentliche Ziel des Projekts – den Hund zu überprüfen – wurde erreicht; zu sehen war meist, wie der Hund auf dem Sofa oder dem Bett schläft

Noch keine Kommentare.

Noch keine Kommentare.