Firmwareinstallation/Xiaomi Mi Router 4A: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
Zeile 24: Zeile 24:
# telnet auf den Router (User: root, Passwort: root): <code>telnet 192.168.31.1</code>
# telnet auf den Router (User: root, Passwort: root): <code>telnet 192.168.31.1</code>
# OpenWrt sysupgrade Image nach /tmp/firmware.bin kopieren, z.B. per <code>cd /tmp; wget <firmware-url></code>
# OpenWrt sysupgrade Image nach /tmp/firmware.bin kopieren, z.B. per <code>cd /tmp; wget <firmware-url></code>
# Prüfe Checksum: ./busybox sha256sum firmware.bin
# Prüfe Checksum: <code>./busybox sha256sum firmware.bin</code>
# Installation mit mtd -e OS1 -r write firmware.bin OS1
# Installation mit <code>mtd -e OS1 -r write firmware.bin OS1</code>


Hier kann theoretisch auch direkt die Freifunk Firmware heruntergeladen und geflasht werden.
Hier kann theoretisch auch direkt die Freifunk Firmware heruntergeladen und geflasht werden.

Version vom 22. Dezember 2021, 13:17 Uhr

Installation

Weitere Informationen findet man immer im OpenWrt Wiki: https://openwrt.org/inbox/toh/xiaomi/xiaomi_mi_router_4a_gigabit_edition

Aktuell (Dezember 2021) ist das Flashen mit diesem 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

Vorbereitung

  1. Freifunk Firmware und OpenWrt für das Gerät herunterladen

Router vorbereiten

  1. WAN-Port mit Internet verbinden (wichtig, da beim Installationsvorgang zusätzliche Daten vom Router aus dem Internet geladen werden müssen!), alternativ geht auch WiFi Client (Modus "WiFi Access Point", hier ändert sich allerdings die IP Adresse!)
  2. PC mit einem der beiden LAN-Ports verbinden, IP Adresse per DHCP beziehen
  3. Mit 192.168.31.1 verbinden und Router initial einrichten
  4. Stok auslesen: Erneut im Router einloggen. Die URL in der Adresszeile beinhaltet etwas wie stok=3700b146c87e45fea51170f87f47d34c

Exploit ausnutzen

  1. Git Repository klonen: git clone https://github.com/acecilia/OpenWRTInvasion.git
  2. python3-pip installieren
  3. Im geklonten Repository "remote_command_execution_vulnerability.py" ausführen: cd OpenWRTInvasion; python remote_command_execution_vulnerability.py
  4. IP Adresse des Routers und Stok (nur den Part hinter dem =) eingeben

OpenWrt flashen

  1. telnet auf den Router (User: root, Passwort: root): telnet 192.168.31.1
  2. OpenWrt sysupgrade Image nach /tmp/firmware.bin kopieren, z.B. per cd /tmp; wget <firmware-url>
  3. Prüfe Checksum: ./busybox sha256sum firmware.bin
  4. Installation mit mtd -e OS1 -r write firmware.bin OS1

Hier kann theoretisch auch direkt die Freifunk Firmware heruntergeladen und geflasht werden.

Freifunk flashen

  1. Nach Reboot Login mit OpenWrt Defaults auf LAN Ports (192.168.1.1, Username: root, kein Passwort)
  2. Freifunk Firmware per scp nach /tmp kopieren
  3. Freifunk Firmware installieren: sysyupgrade -n /tmp/fff-firmware.bin


Für Windows gibt es eine Dockervariante, beschrieben im OpenWRTInvasion-Git. (Nicht getestet, SebaBe, Dezember 2021)

Konfiguration

Die Firmware 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:*'