Osegi
Hardware·2 Min. Lesezeit

Xiaomi Mi Smart Speaker: Root und SSH per USB-Fenster im Bootloader

Ein Bastler hat auf dem Xiaomi Mi Smart Speaker mit Marusya Root und dauerhaften SSH-Zugang eingerichtet, über das USB-Fenster des Bootloaders und ein NAND-Komplettbackup.

Xiaomi Mi Smart Speaker with its board exposed and thin wires soldered to USB test pads, connected to a laptop.
Bild: Хабр

Ein Xiaomi Mi Smart Speaker mit der russischen Assistentin Marusya, 2021 als Zugabe zu einem Handy bekommen, läuft jetzt als kleiner Linux-Rechner, auf den man sich einloggen kann. Sein Besitzer hat Root und einen SSH-Server eingerichtet, der einen normalen Neustart überlebt, und sein Werkzeug dazu veröffentlicht: SpeakerLab 1.0.

Der Kniff steckt im Bootvorgang. Auf der Platine ist Secure Boot aktiv, doch der Original-Bootloader erlaubt nach erfolgreicher Prüfung des eigenen Boot-Images noch Zugriff auf den Arbeitsspeicher. Genau diese Lücke nutzt SpeakerLab. Kernel und Device Tree bleiben original, ersetzt wird nur das initramfs (ein kleines Start-Dateisystem) durch eine temporäre Variante mit Installer und dem öffentlichen SSH-Schlüssel des Besitzers. Signaturen werden nicht gefälscht, die OTP/eFuse-Schlüssel bleiben unangetastet.

Für welchen Xiaomi Mi Smart Speaker funktioniert das?

Nur für einen. Getestet wurde die Platine AS09A VER0201 mit Marusya: Amlogic-A113X-Chip, 512 MiB DDR3, NAND von Kioxia/Toshiba, Firmware 32.23.1, U-Boot 2015.01 und Linux 4.9.113. Das Tool prüft die SHA256-Summe des Bootloader-Codes gegen ein Profil und bricht bei Abweichung ab. Die globale Version mit Google Assistant hat ähnliche Hardware, aber andere Partitionen und andere Systemsoftware. Sie wird nicht unterstützt.

So läuft es ab

Beim Kaltstart meldet sich der Bootloader kurz per USB als Gerät 1b8e:c003. Das Tool wartet darauf: Man startet zuerst die Aktion, sieht „Warten auf USB“, trennt dann die Stromversorgung komplett und schaltet wieder ein. Ein Software-Reboot öffnete das Fenster beim Gerät des Autors nicht. Verbunden wird über USB-Lötpunkte auf der Platine, die 5-Volt-Leitung bleibt unverbunden und isoliert. Beschriftung und Kabelfarben soll man auf der eigenen Platine prüfen.

Vorab zieht das Tool ein vollständiges physisches NAND-Abbild samt OOB-Bereich und defekten Blöcken: 131.072 Seiten, 272 MiB pro Lesevorgang. Es wird in Häppchen auf den PC gestreamt und auf lückenlose Seitenabdeckung geprüft, nicht nur per Dateihash. Ein passender Hash beweise keine fehlerfreie Lesung, schreibt der Autor, einzelne Abweichungen traten auf. Das Abbild enthält Netzwerkeinstellungen, Schlüssel und Kennungen, deshalb veröffentlicht er seines nicht.

Der Installer bindet das Systemlaufwerk nur lesend und das vorhandene /data als UBIFS ein, ohne Formatieren und ohne Schreiben in Boot-Partitionen. Die SSH-Dateien liegen in /data/speakerlab, das ist trotzdem eine dauerhafte Änderung am NAND. Auch das Sperren von OTA-Updates beschreibt der Autor.

Apps, die sich lohnen

SUMO: das Zahlenrätsel

Tippe die richtigen Felder, addiere, triff das Ziel. Leicht zu lernen, schwer zu meistern. Kostenlos, für jedes Alter.

Schlagwörter:xiaomimi smart speakermaruskarootsshspeakerlab

Mehr von diesem Tag

Alle anzeigen →

Mehr aus: Hardware

Alle anzeigen →