Hallo!

Am 2016-05-16 um 10:48 schrieb Stefan Schultheis (home):
Hallo,

ich hab' mal meine Erkenntnisse und Vorschläge zur raschen Lösung hier zusammengefasst:
https://stefan.schultheis.at/2016/ubiquiti-airos-hack-funkfeuer/
Danke!

Ist quick & dirty, soll eher helfen, das Problem mal zu erfassen und bietet einen Lösungsansatz zum Entfernen, wobei ich glaube, dass des nur eine Sofortmaßnahme ist und eher ein Reset auf Werkeinstellungen zu bevorzugen ist.
Ich würde auch eher einen Factory-Flash (nicht nur einen Factory-Reset) empfehlen, um auf Nummer Sicher zu gehen. (Wir wissen ja nicht, ob eine spätere Version der Malware nicht auch den ROM manipulieren wird - völlig abwegig ist das nicht.).

Sobald Chris etwas für die Migration zum EdgeRouter hat, würde ich das gerne als dauerhafte Lösung dort verlinken.
Eine Zwischenlösung für jene, die einen Linux-Router auf Basis eines Raspi mit Debian/Ubuntun-Derivaten oder in einer VM betreiben, könnte sein, den Router als Bridge mit VLAN zu konfigurieren, etwa so:










/etc/network/interfaces:
# The loopback network interface
auto lo
iface lo inet loopback

# Wenn Tunnel genützt wird und Debian/Ubuntu auch gleich den Tunnel machen soll, # Route zum Tunnelserver anlegen, falls die nicht über das Default-GW erreichbar ist
# und openvpn starten.
#
#auto xyz
#iface xyz inet static
# ...+ zwei Zeilen:
#        up /sbin/ip r a 78.41.115.228/32 dev [Gateway-Dev] via  metric 0
#        up /etc/init.d/openvpn restart

# Funkfeuer / OLSR (Device für "interne" Verbindung zu anderen OLSR-Geräten)
auto vlan20
iface vlan20 inet static
        vlan_raw_device eth0
        address [2. FF IP]
        netmask 255.255.255.255
up ip -6 a a 2a02:60:10[... nach www.ipv6.wien.funkfeuer.at-Schema ...]/64 dev vlan20

# Funkfeuer / OLSR (IP für OLSR über die WLAN-Bridge
auto vlan25
iface vlan25 inet static
        vlan_raw_device eth0
        address [ 0xFF-IP für WLAN-Bridge ]
        netmask 255.255.255.255
up ip -6 a a 2a02:60:10[... nach www.ipv6.wien.funkfeuer.at-Schema ...]/64 dev vlan25

/etc/openvpn/funkfeuer-tap0.conf:
dev             tap0
proto           udp
remote          78.41.115.228
port            [zugewiesener Port]
up-restart
verb 3
comp-lzo
script-security 2
nobind
ping 10
ping-restart 60
ping-timer-rem
fast-io
sndbuf 393216
rcvbuf 393216
# siehe unten...:
up              /etc/openvpn/openvpn-webif-if-up.sh


/etc/openvpn/openvpn-webif-if-up.sh:
#!/bin/bash
# Beispielskript: Was bei Tunnelstart passieren soll.
/bin/sleep 3
/sbin/ip a a [Deine zugewiesene Tunnel-IP]/32 dev tap0
/sbin/ip -6 a a 2a02:60:10[... nach www.ipv6.wien.funkfeuer.at-Schema ...]/64 dev tap0
/sbin/ip link set link dev tap0 up
/etc/init.d/olsrd stop
# eventuell
# /etc/init.d/olsrd6 stop
killall -9 olsrd
/etc/init.d/olsrd start
# eventuell
#/etc/init.d/olsrd6 start
exit 0


/etc/olsrd/olsrd.conf (erst einmal nur ipv4):
AllowNoInt                      yes
ClearScreen                     yes
DebugLevel                      2
FIBMetric                       "flat"
IpVersion                       4
LinkQualityAlgorithm            "etx_ff"
LinkQualityFishEye              1
LinkQualityLevel                2
MainIp                          [Deine Haupt-IP]
MprCoverage                     1
Pollrate                        0.1
TcRedundancy                    2
TosValue                        16
UseHysteresis                   no
Willingness                     3
InterfaceDefaults
{
        AutoDetectChanges       yes
        HelloInterval           5.0
        HelloValidityTime       100.0
        HnaInterval             5.0
        HnaValidityTime         500.0
        Ip4Broadcast            255.255.255.255
        LinkQualityMult         default 1.0
        MidInterval             3.0
        MidValidityTime         500.0
        Mode                    "mesh"
        TcInterval              3.0
        TcValidityTime          500.0
# Um auf allen Devices die Priorität mittels LQ herabzusetzen, bis auf jene, die wird bevorzugen wollen:
        LinkQualityMult         default 0.33
}
Hna4
{
}
Hna6
{
}
LoadPlugin "/usr/lib/olsrd/olsrd_httpinfo.so.0.1"
{
  PlParam "Port" "8080"
  PlParam "Net" "0.0.0.0 0.0.0.0"
}
# nicht notwendig - txtinfo:
LoadPlugin "/usr/lib/olsrd/olsrd_txtinfo.so.0.1"
{
  PlParam "port"   "2006"
  PlParam "accept" "127.0.0.1"
}
#eventuell jsoninfo:
LoadPlugin "/usr/lib/olsrd/olsrd_jsoninfo.so.0.0"
{
  PlParam "port"   "9090"
  PlParam "accept" "0.0.0.0"
  PlParam "UUIDFile" "/etc/olsrd/olsrd.uuid"
}
# Wenn Ihr zusätzlich einen Tunnel betreibt/Openvpn tap0:
Interface "tap0"
{
        AutoDetectChanges       yes
# Wenn wir Traffic bevorzugt über den Tunnel laufen lassen wollen (siehe auch InterfaceDefaults).
        LinkQualityMult         default 1.0
        Mode    "ether"
}
# Eventuell ein VLAN für andere OLSR-Geräte:
Interface "vlan20"
{
        AutoDetectChanges       yes
        Mode    "ether"
}
# Das dedizierte VLAN der jeweiligen Bridge - für jede ein eigenes VLAN minimiert zusätzlich die Angriffspunkte, falls es doch eine im Netz wieder erwischt.
Interface "vlan25"
{
        AutoDetectChanges       yes
}



Zur Info,
LgS

Ich hoffe, dass ich mit dieser Schablone helfen konnte.

Wer noch einen TL-WR1043Nd o.ä. herumliegen hat, kann diesen in gleicher Weise nützen (insbesondere mit Tunnel) Via LuCi VLANs anlegen, disesen (tagged) Ports zuweisen, Interfaces dafür anlegen und über OLSRd eine Schnittstelle pro Device anlegen.

Vorsicht ist bei den TL-WR740/741ND geboten, da die Nummerierung der Ports in Software und am Router abweicht. Einfach durchprobieren und aufschreiben. Für den Tunnel wird der Flash zu klein sein, wenn aktuelle Builds (Chaos Calmer) zum Einsatz kommen.

Wenn jemand wissen will, wie genau das geht, bitte einfach fragen. Ich denke, dass im alten Wiki dazu sonst genug Infos waren.

Verbesserungsvorschläge sind willkommen.

[...]


    [...]


LG
Erich
--
Wien mailing list
[email protected]
https://lists.funkfeuer.at/mailman/listinfo/wien

Antwort per Email an