|
|
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| <div style="margin-bottom:1em; padding:1em 1em 0.5em 1em; border:2px solid #dc0067;color:#000;">
| | === Installationsbeschreibung === |
| '''Achtung!'''
| |
|
| |
|
| Es sind verschiedene Versionen des '''Xiaomi Mi 4A Gigabit''' im Umlauf, von denen sich aktuell einige nicht mit OpenWRT / Freifunk betreiben lassen.
| | Hier: https://docs.freifunk-franken.de/hardware/xiaomi-mi-4a/ |
| | |
| Geräte die ab September 2021 gefertigt wurden sind mit einem anderen SPI Flash ausgestattet, der aktuell nicht vom Linux Kernel unterstützt wird. Eine Firmwareaktualisierung dafür ist bereits in Arbeit, diese Geräte werden bald nutzbar sein.
| |
| | |
| Geräte mit Stock-Firmware 2.30.20 sind eine neue Hardware-Revision ("v2", "Xiaomi Router AC1200"). Diese lassen sich aktuell nicht mit OpenWRT / Freifunk betreiben.
| |
| </div>
| |
| | |
| == Besonderheiten ==
| |
| === Xiaomi Mi 4A (Gigabit) ===
| |
| Keine Besonderheiten :-)
| |
| | |
| === Xiaomi Mi 4A (100m) ===
| |
| Der non-Gigabit Mi 4A muss zunächst per TFTP auf eine ältere Herstellerfirmware downgegraded werden, da die neuere Herstellerfirmware inkompatibel zum Partitionslayout von [[OpenWrt]] ist.
| |
| | |
| # Ältere Herstellerfirmware herunterladen: https://bigota.miwifi.com/xiaoqiang/rom/r4ac/miwifi_r4ac_firmware_e9eec_2.18.58.bin
| |
| # Mit gedrückter Reset-Taste Strom verbinden, warten bis die Led orange blinkt
| |
| # DHCP Server bereitstellen, mit LAN-Port verbinden
| |
| # Auf dem Default-Gateway TFTP Server starten, Firmware als <code>test.bin</code> dort ablegen
| |
| # Beispiel für TFTP unter Linux:
| |
| sudo dnsmasq --no-daemon --bind-interfaces -p0 --dhcp-authoritative --dhcp-range=192.168.1.100,192.168.1.200 --log-dhcp --enable-tftp --tftp-root=$(pwd) --listen-address 192.168.1.1
| |
| Einstellen von 192.168.1.1/24 als PC IP
| |
| # Warten, bis die [[LEDs|LED]] schnell blau blinkt
| |
| # Rebooten
| |
| | |
| == 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 ====
| |
| # Freifunk Firmware und OpenWrt für das Gerät herunterladen
| |
| | |
| ==== Router vorbereiten ====
| |
| # 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!)
| |
| # PC mit einem der beiden LAN-Ports verbinden, IP Adresse per DHCP beziehen
| |
| # Mit 192.168.31.1 verbinden und Router initial einrichten
| |
| # Stok auslesen: Erneut im Router einloggen. Die URL in der Adresszeile beinhaltet etwas wie <code>stok=3700b146c87e45fea51170f87f47d34c</code>
| |
| | |
| ==== Exploit ausnutzen ====
| |
| # Git Repository klonen: <code>git clone https://github.com/acecilia/OpenWRTInvasion.git</code>
| |
| # python3-pip installieren
| |
| # Im geklonten Repository "remote_command_execution_vulnerability.py" ausführen: <code>cd OpenWRTInvasion; python remote_command_execution_vulnerability.py</code>
| |
| # IP Adresse des Routers und Stok (nur den Part hinter dem =) eingeben
| |
| | |
| ==== OpenWrt flashen ====
| |
| # 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>
| |
| # Prüfe Checksum: <code>./busybox sha256sum firmware.bin</code>
| |
| # Installation mit <code>mtd -e OS1 -r write firmware.bin OS1</code>
| |
| | |
| Hier kann theoretisch auch direkt die Freifunk Firmware heruntergeladen und geflasht werden.
| |
| | |
| ==== Freifunk flashen ====
| |
| # Nach Reboot Login mit OpenWrt Defaults auf LAN Ports (192.168.1.1, Username: root, kein Passwort)
| |
| # Freifunk Firmware per scp nach /tmp kopieren
| |
| # Freifunk Firmware installieren: <code>sysupgrade -n /tmp/fff-firmware.bin</code>
| |
| | |
| </br>
| |
| Für Windows gibt es eine Dockervariante, beschrieben im OpenWRTInvasion-Git.
| |
| (Nicht getestet, [[Benutzer|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:
| |
| <pre>#FFF Client
| |
| config vlan '1'
| |
| option comment 'client'
| |
| option ports 'lan1:* lan2:*'
| |
| | |
| #WAN Uplink
| |
| config vlan '2'
| |
| option comment 'wan'
| |
| option ports 'wan:*'</pre>
| |