SOHO-Router jetzt mit versteckter Hintertür
Die von Eloi Vanderbeken zum Jahreswechsel 2013/14 entdeckte Hintertür in etlichen Routern, die auf Port 32764 auf Anfragen wartet, wurde von Netgear zum Beispiel für den DGN1000 offiziell durch ein Firmwareupdate geschlossen ("Fixed 32764 port issue"). Tatsächlich wurde die Backdoor aber nur versteckt, wie Eloi Vanderbeken bei erneuten Tests festgestellt hat (PDF).
Hintertür mit versteckter Türklinke
Eloi Vanderbeken hat das Dateisystem seines Netgear-Routers DGN1000
extrahiert und festgestellt, dass das für die Hintertür
zuständige Programm scfgmgr
weiterhin vorhanden ist. Es
wird auch gestartet, allerdings mit einer neuen Option -l
.
Das Programm lauscht damit an einen Unix-Domain-Socket und stellt so keine
Gefahr mehr dar.
Es gibt aber auch noch die Option -f
, durch die das Programm
wieder an einen TCP-Port lauscht. Was ja noch nicht verwerflich wäre,
sofern das Programm nicht mit dieser Option aufgerufen wird.
Der Aufruf "scfgmgr -f"
wird von der Router-Firmware jedoch
ebenfalls verwendet, und zwar vom Programm ft_tool
. Das
öffnet einen Raw-Socket und wartet auf Pakete mit dem EtherType
0x8888, die von der Ethernet-Karte oder als Broadcast empfangen wurden.
Ist die Payload dieser Pakete der MD5-Hashwert von "DGN1000" und der
Paket-Typ 0x201 wird "scfgmgr -f"
gestartet.
Die Hintertür kann also aus dem lokalen Netz eingeschaltet werden. Und auch der ISP kann die Hintertür aktivieren, da jeder, der nur einen Hop entfernt ist, die Ethernet-Header fälschen kann.
Die neue Hintertür hat noch weitere Funktionen: Der Router antwortet zum Beispiel auf den Paket-Typ 0x200 mit seiner MAC-Adresse, und mit dem Paket-Typ 0x202 kann die LAN-IP-Adresse geändert werden. Er kann auch dazu gebracht werden, bei der 33., 34. und 35. Nachricht mit den LEDs zu blinken. Ich wüsste ja zu gerne, wozu das gut sein soll.
Damit dürfte auch klar sein, dass die Hintertür nicht nur während der Entwicklung verwendet und nur versehentlich nach Abschluss der Entwicklung vergessen wurde. Denn zumindest jetzt wurde sie absichtlich eingebaut.
Spuren zu SerComm
Wie schon bei der ersten Hintertür führen die Spuren auch diesmal zum Hersteller SerComm: Der EtherType 0x8888 und die verwendete Paket-Struktur werden in einem alten Update-Tool von SerComm verwendet, anscheinend wurde für die Hintertür vorhandener Code wiederverwendet. Netgear führt Gespräche mit seinem Lieferanten, um die Hintergründe auf zu klären.
Welche Router sind betroffen?
Während es zur ersten Hintertür eine Liste betroffener Router (die SerComm-Hardware wird von Cisco, Diamond, Linksys und NetGear verwendet) gab, ist die Sache diesmal nicht so einfach: Da der MD5-Hashwert zumindest in diesem Fall vom Router-Namen abhängt, aber auch andere Werte möglich sind, lassen sich die Router nicht einfach scannen.
Zum Testen von DGN1000-Routern gibt es einen Proof of Concept. Für alle anderen Router ist eine manuelle Analyse nötig:
- Zuerst muss mittels
"binwalk -e"
das Dateisystem extrahiert werden. - Darin muss entweder nach dem Programm
ft_tool
gesucht werden oder nach einen Aufruf von"scfgmgr -f"
. Letzteres erledigt ein einfacher grep-Aufruf:
grep -r 'scfgmgr -f'
- Ob das Programm wirklich aufgerufen wird lässt sich nur durch eine Analyse mit dem Disassembler und Debugger IDA prüfen.
Und nun?
Netgear untersucht den Fall, von den anderen Router-Herstellern gibt es keine Reaktionen. Der einzig logische Schluss wäre dann wohl, zumindest bis zur Aufklärung des Vorfalls auf von SerComm produzierte Netzwerkhardware zu verzichten. Die Frage ist nur, ob nicht auch andere Hersteller Hintertüren einbauen, die aber besser verstecken.
Trackbacks
Dipl.-Inform. Carsten Eilers am : Wie vertrauenswürdig ist "Hardware" eigentlich?
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : Unerfreuliches zu Routern und dem IoT
Vorschau anzeigen