Seit gestern Nachmittag wissen wir, dass auch FRITZ!Boxen ohne aktivierten Remote-Admin-Zugang per Drive-by-Download auf präparierten Websiten angreifbar sind. Insbesondere Benutzer von funktionell erweiterten Freetz-Firmware-Versionen müssen nun schnellstmöglich selbst aktiv werden, sofern sie für ihre Fritzbox nicht auf die von AVM bereit gestellten, fehlerberinigten Original-Firmware-Updates zurück greifen wollen oder können.
Man verwendet Freetz ja nicht ohne triftigen Grund. Oftmals möchte man die Router-Funktionalität aufbohren: Es gibt unzählige Dinge, die sich mit dem MIPS-Linux auf der FRITZ!Box im Rahmen des Freetz-Projekts realisieren lassen. Ein Wechsel auf die Stock-Firmware von AVM ohne Freetz wäre hierbei ein deutlicher Rückschritt.
Manchmal ist die fehlerbereinigte Stock-Firmware von AVM aber auch schlichtweg nicht installierbar: Freetz eignet sich nämlich auch dazu, OEM-DSL-Router mit AVM-Innenleben in „fast“ echte Fritzboxen umzuflashen. So steckt doch beispielsweise im auch heute noch weit verbreiteten Speedport W701V-DSL-WLAN-Router der T-Com eine AVM-Hauptplatine, die funktionell der einer deutlich teureren FRITZ!Box 7170 sehr ähnlich ist – die jedoch durch die Telekom-Firmware stark kastriert wird. Freetz schaltet hier also lediglich die regulären Fritzbox-Funktionen frei, die durch den Internet-Provider im Rahmen der gesponserten Router-Hardware brach liegen.
Freetz liegt seit dem 01.07.2012 in der stabilen Version 1.2 vor. Sie ist bewährt und arbeitet tadellos, basiert aber auf den heute als angreifbar bekannten AVM-Firmwares. Denn: Beim Compilieren der Freetz-Firmware wird diese vom AVM-Server heruntergeladen und mit den erweiterten Freetz-Funktionen neu zum flashbaren Image verpackt – egal ob echte Fritzbox oder umgeflashter Speedport-Router.
So kommt es also nicht von ungefähr, dass die so genannte „Alien-Firmware“ für den o.a. Speedport W701V die noch angreifbare FRITZ!Box 7170-Firmware 29.04.87 verwendet – und damit den Freetz-Router ebenso angreifbar macht wie eine ungepatchte „echte“ Fritzbox 7170. Mit dem entscheidenden Unterschied, dass man auf den Speedport eben nicht so ohne weiteres die gepatchte Firmware 29.04.88 flashen kann.
Caveat: Im Folgenden gehe ich davon aus, dass der geneigte Leser sich bereits mit dem Compilieren einer Freetz-Firmware beschäftigt hat und folglich weiß, „auf welcher Seite der Lötkolben heiß wird“.
Im Detail empfiehlt sich, wie für die meisten Freetz-User, die Verwendung von freetz-linux – eines Ubuntu-basierenden, maßgeschneiderten Linux-Images, das als virtuelle Maschine unter VMware, VirtualBox oder Parallels Desktop läuft und alle für die Freetz-Compilierung benötigten Werkzeuge bereits vorinstalliert mitbringt. … Bei mir läuft das derzeit aktuelle freetz-linux 1.3.1.
Im Netz kursieren Hinweise, wonach man Freetz 1.2 tatsächlich die AVM-Firmware 29.04.88 unterschieben kann. Mein nachfolgender Vorschlag geht einen anderen Weg: Statt des alten 1.2er-Freetz checken wir den Trunk der aktuellen Freetz-Entwicklung aus und verwenden diesen zur Compilierung unserer neuen, gepatchten Alien-Firmware für den Speedport.
Und das geht so: freetz-linux bringt SVN mit, folglich bekommt man mit
svn checkout http://svn.freetz.org/trunk
nach kurzem Nachdenken den Hinweis
Ausgecheckt, Revision 11757.
(bzw. die jeweils aktuelle Revision), mitsamt eines Verzeichnisses namens „trunk“, das alles Nötige enthält.
Liefert nun aber anschließend das gewohnte
make menuconfig
die unschöne Fehlermeldung
ERROR: The header file sys/acl.h was not found in /usr/(local/)include.
ERROR: The header file sys/capability.h was not found in /usr/(local/)include.
so fehlen ein paar benötigte Pakete. Es wird daher Zeit, das freetz-linux zu aktualisieren (was man eh sporadisch machen sollte), und anschließend die fehlende Pakete nachzuinstallieren. Das geht so:
sudo apt-get update
sudo apt-get -d upgrade
sudo apt-get -y upgrade
sudo apt-get install libacl1-dev libcap-dev
Anschließend sollte die Freetz-Konfiguration sauber laufen. (Danke vielmals für den Tipp, Heise-Forum-User Baguette!)
Obacht: Meine erste Idee war, meine frühere Freetz-Konfiguraton aus dem alten 1.2er-Arbeitsverzeichnis zu sichern und plump als Basiskonfiguration für die aktuelle Trunk-Version zu verwenden. Das funktionierte aber leider nicht. Es empfiehlt sich also, die Konfiguration komplett durchzugehen und von Grund auf neu aufzubauen.
Meine Empfehlung: Man halte die Konfiguration des neuen trunk-Freetz und die des alten 1.2-Freetz nebeneinander in zwei Terminal-Fenstern. So kann man hin und her klicken und die neue Konfiguration analog zur alten wiederherstellen – auch wenn die Reihenfolge der Konfigurations-Optionen teilweise gravierend voneinander abweicht.
Der Lohn der Mühe: Mein Speeport W701V läuft weiterhin verkleidet als FRITZ!Box 7170 mit der aktuellen „Alien“-AVM-Firmware 29.04.88.
Es bleibt die Frage, ob man nun sicherheitshalber alle alten Speedport-Router „freetzen“ sollte. Denn: Die „aktuellste“ Firmware der T-Com für den Speedport W701V Version 33.04.57 ist laut Google etwa fünf Jahre (!) alt. Ob diese unter der Haube dieselbe Anfälligkeit wie die Original-AVM-Firmware der FRITZ!Box 7170 enthält, möchte ich mir nicht einmal vorstellen.
Hallo Gero
Danke für die sehr ausführliche und sauber funktionierende Anleitung!
Hab meine „congstar DSL Box“, worunter sich ein „Speedport W 701V“ versteckt, auf die AVM-Firmware 29.04.88 gefreezt bekommen!
Weiter so!
Danke für die Blumen!
Schöner Artikel
„Ob diese unter der Haube dieselbe Anfälligkeit wie die Original-AVM-Firmware der FRITZ!Box 7170 enthält, möchte ich mir nicht einmal vorstellen.“ => zumindest ist laut Telekom der Speedport W701V nicht betroffen…
bei mir ist auf jedenfall mittlerweile alles gefreetzed