Router Hacking

Die letzten beiden Tage habe ich mich damit beschäftigt, einen Sinus W500V Router mit alternativer Firmware auszustatten. Konkret geht es um das Freetz Projekt, welches auf dem Speedport2Fritz (Anleitung) Projekt aufbaut. Letzteres erlaubt es AVM Fritzbox Firmware auf bestimmte Speedport und Sinus Router zu packen, während das Freetz Projekt die AVM Firmware verändert bzw. um sogenannte Packeges erweitert. So ist es dann z.B. möglich einen Webserver oder FTP Server laufen zu lassen.

Bei mir laufen der lighttpd (HTTP Server), bftpd (FTP Server), knockd (Knock Daemon) und dropbear (SSH Daemon). Für Ruby und PHP hat der begrenzte Speicher des Sinus W500V leider nicht gereicht. Aber bis dahin war es ein langer Weg. Vorneweg: Vergesst es gleich, den Krams mit dem Mac machen zu wollen. Ich habe da mehrere Stunden dran gesessen und nacheinander Fehlermeldungen abgearbeitet, aber hatte irgendwann keine Lust mehr. Zum Glück gibts in der oben verlinkten Anleitung ein fertiges Ubuntu Image, welches man in einer VirtualBox oder im VMWare Player laufen lassen kann und wo bereits alles vorbereitet ist. Im Prinzip läuft das ganze so ab, dass man zuerst ein speed2fritz Image erstellt, also Fritzbox Firmware für den Router. Danach mit start-freetz ein Image, dass die entsprechenden Packages enthält (das Erstellen kann schonmal längere Zeit dauern, da alles erst aus dem Netz geladen werden wird und ggf. auch noch kompiliert werden muss) und danach nochmal mit speed2fritz aus den vorher erstellten Images ein Finales erstellt. Das einfach über das Web Interface als neue Firmware installieren, die Warnmeldungen ignorieren, ein bisschen warten und den Router neu starten. Und schon hat man ein neues Spielzeug. Nach dem Neustart gibts im Fritzbox Webinterface nen neuen Menüpunkt, der das Freetz Webinterface aufruft, von dem man alles wichtige Verwalten kann. Dienste starten und beenden oder Einstellungen verändern. Ich hab das ganze nicht auf unserer Fritzbox gemacht, die wir für den Internetzugang nutzen, das war mir dann doch zu riskant, wollte dann doch erstma einfach nur rumspielen. Da jetzt auf dem Sinus Teil ne Fritzbox läuft, lässt sich dieser vielleicht sogar mit unserer original Fritzbox verbinden (als Repeater oder so, mal sehn) und dann damit auch Internetzugang bekommen. Ein always-on Jabber Client wär schon cool – mcabber gibts ja als Package…

Problematisch bzw. aufwendig ist es leider nur, dass man immer wieder das Image komplett erstellen und installieren muss, wenn man ein neues Package hinzufügen möchte. Aber naja, was solls. Vielleicht werde ich dann die nä. Version noch mit PHP oder Ruby als Package erstellen, um dann z.B. dynamische Statusseiten zu erstellen, die von außerhalb erreichbar sind. Geschützt durch den Port Knocking Daemon. Port Knocking funktioniert grob gesagt wie folgt: Der Client “klopft” nacheinander eine bestimmte Sequenz von Ports auf dem Zielrechner an. Der Daemon erkennt die Sequenz und führt eine vorher definierte Aktion durch. Bei mir ist es das (de)aktivieren von SSH. Ebenso ließe sich der lighttpd starten und beenden. Liefert einen gewissen Schutz, da durch Port Scannings keine offenen Ports entdeckt werden, solang die richtige Sequenz nicht gesendet wurde.

Inwiefern die Telefonfunktion noch geht, kann ich leider keine Auskunft geben, das Sinus W500V hat zwar ne Telefonfunktion, die wir aber nicht nutzen. Aber ich vermute, dass es auf jeden Fall mit der Fritzbox Firmware läuft, ob die Freetz Firmware daran etwas ändert, weiß ich nicht, müsste man vielleicht ausprobieren.

Für jeden der Spaß am rumhacken hat und vielleicht noch nen Sinus oder Speedport Router nutzlos rumstehen hat, kann so vielleicht noch mal ein bisschen Späße treiben. Hab irgendwo was von LED Lauflicht mit den Statuslämpchen gesehn, das werd ich nochmal ausprobieren, sieht bestimmt lustig aus :D

One thought on “Router Hacking

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>