Kontaktieren Sie mich unter info@tiemerding.com

Xiaomi Token einfach auslesen (Tutorial)

Xiaomi Token einfach auslesen (Tutorial)

Xiaomi-Geräte werden immer häufiger im Smart Home eingesetzt. Der chinesische Hersteller bietet neben Staubsaugern* (Roborock), Luftreiniger* auch Lüfter* an. Um die Geräte in typische Automationsumgebungen wie Apple Homekit oder FHEM einzubinden wird ein sog. Token des Gerätes benötigt.

Die typischen Wege das Token zu erhalten sind nicht trivial. Sie erfordern oft einen Computer mit iTunes um ein Backup zu erstellen, ein Android-Telefon mit Apps aus dubiosen Quellen oder einen Jailbreak. Ebendieser stellt ein großes Sicherheitsrisiko dar und wird zudem immer seltener. Hacker verkaufen ihrer gefundenen Sicherheitslücken lieber, als diese der Allgemeinheit für einen Jailbreak zur Verfügung zu stellen.

In der hier vorgestellten Methode wird kein Jailbreak, kein Backup und kein Computer benötigt. Es kann zudem die aktuellste Version der Mi Home App eingesetzt werden. Es wird lediglich eine sog. Proxy-App benötigt, welche den (verschlüsselten) Netzwerkverkehr zwischen Gerät und App analysiert um den Token auszulesen. Das Tutorial beschreibt das Vorgehen auf Apple iOS. Unter Android ist das Vorgehen ähnlich.

Vorgehen

1) Apps installieren

Neben der Mi Home App wird wir die Proxy-App HTTP Catcher eingesetzt. Beide Apps sind zunächst kostenlos. Um den verschlüsselten Netzwerkverkehr mitzuschneiden, wird die Vollversion von HTTP Catcher benötigt. Diese kann via In-App-Kauf freigeschaltet werden. Alternativ wird auch eine Testversion für drei Tage angeboten. Diese ist für dieses Tutorial vollständig ausreichend (siehe Abschnitt 2).

‎HTTP Catcher
‎HTTP Catcher
Entwickler: MESS LAB LTD
Preis: Kostenlos+

2) Gerät einrichten

Das Xiaomi-Gerät wird wie gewohnt in der Mi Home App eingerichtet. Im Anschluss sollte die die App wird nach der Einrichtung beendet.

3) VPN-Konfiguration einrichten

Auf der Startseite von HTTP Catcher wird auf das mittlere Symbol (An) geklickt. Die App fragt nun um Erlaubnis eine VPN-Konfiguration zur Analyse der Netzwerkaktivitäten hinzuzufügen. Die Anfrage wird erlaubt.

4) Zertifikatsprofil einrichten

Um verschlüsselten Netzwerkverkehr mitzuschneiden wird zusätzlich ein Zertifikatsprofil benötigt. Nachdem das VPN-Profil aktiviert wurde muss der Schalter “HTTPS-Verkehr entschlüsseln” eingeschaltet werden. Hierbei wird ein Zertifikatsprofil installiert. Die Schritte sind selbsterklärend und werden nicht weiter beschrieben.

In diesem Schritt wird auch die Vollversion bzw. Testversion von HTTP-Catcher benötigt (siehe letzter Screenshot). Wie zuvor erwähnt, ist die angeboten Testversion für dieses Tutorial vollständig ausreichend.

5) Zertifikatsprofil aktivieren

Aus Sicherheitsgründen ist das Zertifikatsprofil standardmäßig nach der Installation nicht aktiv.

Um Zertifikatsprofil zu aktivieren wird zunächst die Einstellungen App geöffnet.
Allgemein -> Info -> Zertifikatsvertrauenseinstellungen.
Dort wird das “HTTP Catcher CA (01 Jul, 2o20)” Zertifikat aktiviert.

6) Netzwerkverkehr mitschneiden und Token auslesen

Zurück in der HTTP Catcher kann nun der verschlüsselte Netzwerkverkehr zwischen dem bereits eingerichteten Xiaomi-Gerät und Mi Home App mitgeschnitten werden. Der Mitschnitt wird über das mittlere Symbol (An) aktiviert. Dabei ist es wichtig das auch der Schalter “HTTPS-Verkehr  entschlüsseln” aktiv ist.

Nun wird die Mi Home App gestartet. Nachdem dem vollständigen Start wird die App auch schon direkt wieder geschlossen und zu HTTP Catcher gewechselt. Dort wird der Mitschnitt gestoppt. Im Verlauf der Aufzeichnung wird nach “/app/v2/home/device_list_page” von “de.api.io.mi.com” gesucht (hier Post #62). In den Details unter Antwort findet man das gesuchte Token innerhalb eines JSON-Bodies.

7) VPN-Konfiguration und Zertifikatsprofil entfernen

Aus Sicherheitsgründen sollte die VPN-Konfiguration und das Zertifikatsprofil nach dem Auslesen des Tokens entfernt werden.

Um die Daten zu entfern wird zunächst die Einstellungen App geöffnet.

  1. VPN-Konfiguration: Allgemein ->VPN -> HTTP Catcher -> VPN löschen
  2. Zertifikatsprofil (installiert via Profil): Allgemein ->Profile -> HTTP Catcher CA -> Profil entfernen

 

Die mit Sternchen (*) gekennzeichneten Verweise sind sogenannte Provision-Links. Wenn du auf so einen Link klickst und darüber einkaufst, bekomme ich von deinem Einkauf eine Provision. Für dich verändert sich der Preis nicht.