Firmwareinstallation/Xiaomi Mi Router 4A
Installation
Da die OpenWrt-Firmware des Routers noch nicht final ist, sollte zuerst auf der offiziellen OpenWrt Seite nachgelesen werden: https://openwrt.org/inbox/toh/xiaomi/xiaomi_mi_router_4a_gigabit_edition#openwrt_support
Aktuell (Dezember 2021) ist dieser Firmware Exploit der einfachste Weg: https://github.com/acecilia/OpenWRTInvasion
Zusätzlich gibt es eine Videozusammenfassung, welche als Refernz dienen kann. bitte beachtet aber die Hinweise im oben verlinkten Git Repository: https://www.youtube.com/watch?v=VxzEvdDWU_s
Hier die Zusammenfassung (für Linux):
- Testing-FFF-Firmware herunterladen: https://fw.sgstbr.de/testing/20210829/layer3/
- OpenWrt-Firmware herunterladen: https://openwrt.org/inbox/toh/xiaomi/xiaomi_mi_router_4a_gigabit_edition#installation
- Router WAN-port mit Internet verbinden
- PC per LAN-Kabel mit einem der beiden LAN-Ports verbinden
- Mit 192.168.31.1 verbinden und Router initial einrichten
- Stok auslesen: Erneut im Router einloggen. Die URL beinhaltet etwas wie
stok=3700b146c87e45fea51170f87f47d34c
- Git Repository klonen https://github.com/acecilia/OpenWRTInvasion
- python3-pip installieren
- Im geklonten repository "python3 remote_command_execution_vulnerability.py" ausführen
- IP Adresse des Routers und Stok (nur den Part hinter dem =) eingeben
- telnet auf den Router (root:root)
- Firmware nach /tmp/firmware.bin
- Prüfe Checksum: ./busybox sha256sum firmware.bin
- Installation mit mtd -e OS1 -r write firmware.bin OS1
- Nach Reboot Login mit OpenWrt Defaults (192.168.1.1 Username: root kein Passwort)
- FFF-Testing-FW installieren: sysyupgrade -n --force /tmp/fff-testing-firmware.bin
Für Windows gibt es eine Dockervariante, beschrieben im OpenWRTInvasion-Git.
(Nicht getestet, SebaBe, Dezember 2021)
Konfiguration
Die Testing-FW läuft bereits mit DSA.
Die Namen der Interfaces von links nach rechts sind "wan", "lan1" und "lan2". Bei DSA gilt die Syntax <if-name>:* für untagged, bzw. <if-name>:t für tagged:
Beispiel:
config gateway 'meta' option config_version '2' #FFF Client config vlan '1' option comment 'client' option ports 'wan:t lan1:* lan2:*' #WAN Uplink config vlan '2' option comment 'wan' option ports 'wan:*' #Client Konfiguration config client option vlan '1' list ip6addr 'fd43:5602:29bd:XXXX::1/64' list ip6addr '2a0b:f4c0:XXXX:XXXX::1/64' list ipaddr '10.83.XXX.1/24' option dhcp_start '10.83.XX.50' option dhcp_limit '200' option essid 'name.freifunk' option chan2ghz '11' option chan5ghz '36' #Vlan für WAN festlegen config wan option vlan '2' #DNS Konfiguration config dns list server 'fd43:5602:29bd:ffff::42' list server 'fd43:5602:29bd:ffff:a:a:a:a' list server 'fd43:5602:29bd:ffff::252' #Wireguard Peering config wireguardpeer 'f3n' option endpoint_host 'HOST' option endpoint_port 'PORT' option persistent_keepalive '25' option remote_public_key 'XXXX' option local_private_key 'XXXX' option rxcost '16384' #Anpassen je nach Anbindung option mtu '1420'