[Hacking] Fritz!Box hacken

Dieses Thema im Forum "Security Tutorials" wurde erstellt von chronixos, 1. September 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 1. September 2008
    Fritz!Box hacken

    Dieses Tutorial ist eher für erfahrene User gedacht. Solltet ihr fragen haben, schreibt bitte die Frage hier hinein. Dann muss ich die selbe Frage nicht immer X mal beantworten. Auf PM's gebe ich keine Antwort zurück. Sonst bekomme ich wie letztes mal mit Bifrost 10 Pm's pro Tag. Und das will ich wirklich nicht!!!
    Nun denn. Ich wünsche euch viel Spass beim ausführen und austesten




    Die Fritz!Box zählt zu einen der beliebtesten DSL-Routern in Deutschland. Gut abgeschirmt vom Anwender werkelt in ihrem Inneren Linux als Betriebssystem.

    Fritz!Box-Hack: Computer über das Internet starten und fernsteuern

    Mit WoL lassen sich selbst ausgeschaltete PCs über das Netzwerk hochfahren. Eine Erweiterung für die Fritz!Box ermöglicht den Fernstart und den Zugriff auf alle Dateien des PCs auch über DSL. Und dank SSH kommt die Sicherheit dabei nicht zu kurz.
    Wer kennt das nicht: Man sitzt in der Firma oder bei Freunden und benötigt dringend Daten, die auf dem heimischen PC liegen: Sei es eine Datei, eine E-mail oder eine Internet Seite aus den gespeicherten Favoriten. Doch leider ist keiner Daheim um den PC einzuschalten und zu bedienen, kommt man an die Daten nicht ran. Wer öfter Zugriff auf seinen PC aus der Ferne benötigt, mag sich überlegen, den PC rund um die Uhr laufen zu lassen.

    Heutzutage beherrscht aber fast jeder halbwegs aktuelle PC Wake on LAN (WoL). Damit kann der Administrator in Firmen die PCs starten und die darauf installierte Software updaten, wenn die Benutzer beispielsweise nachts nicht benötigen. Doch für WoL sind spezielle Datenpakete über das Netzwerk nötig, die die Fritz!Box wie viele andere Router auch nicht aus dem Internet weiterleiten. Ein Fernstart über das Web scheidet aus.

    Wenn man das Linux Betriebssystem der Fritz!Box-DSL-Router um entsprechende Module erweitert, lässt sich jeder angeschlossene PC aus der Ferne starten. Hat man darauf eine Remote-Desktop-Software installiert, kann man anschließend damit arbeiten.

    Als Vorraussetzung müssen Sie den telnet-Zugang freigeschaltet haben.

    Zum Fernstart eines PC's sendet der Administrator ein Magic Packet über das Netzwerk. Es enthält zunächst wie jedes Ethernet-Paket die MAC-Adresse des Ziels und des Empfängers sowie die Länger der darauf folgenden Datei. Im Datenteil muss dann an beliebiger Stelle sechs mal der Hexcode FF stehen. Darauf folgt 16 mal die Mac-Adresse des zu startenden Rechners.

    Laut Defination kann dieser komplette Magic-Block irgendwo im Datenteil stehen. Somit ist es kein Problem, dieses Magic-Packet in einem TCP/IP-Rahmen innerhalb des Ethernet-Frames unterzubrungen und damit auch routerbar zu machen.

    Doch in der Praxis ist es nicht ganz so einfach:

    - Ein ausgeschalteter Rechner, dessen Netzwerkkarte im Standby die Pakete analysiert, besitzt zwar eine in der Netzwerkkarte fest abgelegt MAC-Adresse, er hat aber keine gültige IP Adresse. Denn beispielsweise für einen DHCP-Server ist der Rechner offline.

    - Selbst wenn man feste IP-Adressen vergibt, läuft der Rechner meist im lokalen Netz und hat keine aus dem Internet erreichbare öffentliche Ip-Adresse. Somit ist eine Portweiterleitung im DSL-Router nötig.

    - Als Ausweg bieten manche DSL-Router (nicht die Fritz!Box) an, alle UDP-Pakete aus dem Internet beispielsweise auf Port 9 als Broadcast in das gesamte lokale Netzwerk zu schicken.

    Die sicherste und eleganteste Lösung für all diese Schwieirigkeiten ist es daher, das MAgic Packet als Ethernet-Paket direkt im lokalen Netzerk des einzuschaltenden Rechners zu erzeugen. In diesem Fall ist dies auch kein Problem, da die Fritz!Box selbst diese Aufgabge übernehmen wird. Für den Fritz!Box nötigen sicheren Zugang aus dem Internet werden wir einen SSH-Server installieren. Somit ensteht als Nebenprodukt ein sehr sicherer Weg, über den man die Fritz!Boy auch von extern über des Internet konfiguieren kann.

    Vorraussetzungen für Wake on Lan:

    - Ihr Netzteil muss den PC selbst im ausgeschalteten Zustand mit einer Hilfsspannung (Standby-Spannung) versorgen. Dies ist bei System, die nicht älter als vier Jahre sind fast immer der Fall.

    - Sie müssen im BIOS Ihres Rechners WoL aktivieren. Dies geschieht meist in den Powermanagment Optionen. Nicht immer taucht dabei die eigene Netzwerkkarte auf sondern mitunter verbirgt sich diese Einstellung unter dem Punkt "Power on by PCI Device".

    Damit Wake on Lan funktioniert, muss Windows einige Register im Lan-Controller passend setzen.

    Dazu folgendes machen:

    In den Geräte Manager gehen > Netzwerkkarte auswählen und Eigenschaften davon aufrufen > Auf den Reiter Energieverwaltung wechseln > Den Haken bei:

    Computer kann Gerät ausschalten, um Energie zu sparen
    und
    Gerät kann den Computer aus dem Standbymodus aktivieren

    setzen.


    Doch meist genügt das nicht..

    - Als letztes benötigen Sie noch die Mac-Adresse ihres PCs. Diese erhalten sie über den Befehl ipconfig /all in der CMD.

    Wenn sie jetzt den PC runterfahren, sollte er für WoL bereit sein. Falls sie einen zweiten PC im Netzwerk haben, können sie das mit dem WoL-Tool WakeUp! testen. Es benötigt beim Aufruf die Mac-Adresse des zu weckenden PCs und die Broadcost-Adresse Ihres Lokalen LANs, bei der Fritz!Box typischerweise die 192.168.178.255 ist.


    Falls das geklappt hat, loggen sie sich via telnet in die Fritz!Box ein. Wechseln sie in das Verzeichnis /var/tmp, das auf den Arbeitsspeicher der Box gemappt ist und laden Sie dann mit wget das Programm etherwake herunter. mit CHMOD müssen Sie anschließend noch die Rechte auf ausführbar setzen.


    Zum Start eines PCs benötigt etherwake neben der Option "-i" zwei weitere Parameter beim Aufruf, die Mac-Adresse und das zu benutzende Interface der Fritz!Box. Bei der Fritz!Box lautet dieses "intf" Ansonsten sind für das Netzwerk-Interface die Namen "eth0" und bei Boxen mit zwei Lan-Ports auch "eth1" vergeben. In diesem FAll startet die Fritz!Box den TEST-PC über

    ./etherwake -i eth0 00:0c:6e:93:23:87

    Vergessen sie nicht das "./" am Anfang, denn Linux startet Programme nur bei explizierter Pfadangabe.

    Jetzt können Sie einen PC via Telnet hochfahren, doch Telnet ist ziemlich unsicher und kann DSL-Kennung und die Passwörter für die VoIP Provider weiter geben.

    Die moderene Version von telnet ist SSH. Doch Fritz!Box beherrscht kein SSH. Also gilt es zunächst, einen SSH Server für die Fritz!Box nachzuladen.

    Als SSH-Server habe ich das Paket dropbear ausgewählt und auf meinem tecCHANNEL-Server hinterlegt. Mit folgenden Eingaben auf dem telnet-Promt laden Sie dropbear zunächst manuell zum Test auf die Fritz!Box:



    SSH arbeitet sowohl mit Public/Private Keys zur gegenseitigen Authentifizierung von Clients und Servern als auch mit Passwörtern. Stellen sie sich folgendes Szenario vor: Sie sitzen irgendwo auf dieser Welt und sind nicht darauf vorbereiter, auf ihren PC zugreifen zu müssen. Deshalb haben sie weder den Public Key ihres SSH-Servers noch ihren persönlichen Privat-Key mit sich.
    Somit laufen sie sich der Gefahr aus sich nicht an ihrer Fritz!Box anzumelden sondern auf einer gefälschten Seite, die ihr Passwort abfängt.

    SSH bietet für den Client die Möglichkeit, sich über ein Passwort oder über einen Private Key des Users einzuloggen.

    Der Deropbear SSH Server benötigt zum Start auf jeden Fall eine Datei mit seinen privaten Key, sonst verweigert er den Dienst. Einen passenden 512-Bit-RSA-Key in der Datei /var/tmp/ddropbear_rsa_hostkey erzeugen sie über folgende Kommandos:



    Eine Übersicht der Optionen beim Erzeugen erhalten sie mit

    /var/tmp/dropbearkey --help

    Vor dem Start des Servers müssen sie jetzt noch ein sicheres root-Passwort für den SSH-Login wählen und dieses selbst verschlüsseln. Dafür empfehle ich die Seite http://www.flash.net/cgi-bin/pw.pl.


    Da das Eintragen des Root-Passworts in die Shadow-Datei später bei jedem Reboot der Box automatisch ablaufen soll, ist das etwas kryptische Kommando sed erforderlich. Ersetzen sie in meinem Fall den Haswert "PBvr5tOlt/rao" durch ihren Hash


    Mit diesem Befehlen erzeugen sie eine Kopie der Shadow-Datei. Jetzt schreiben sie die geänderte Datei auf var/tmp/shadow zurück. Jetzt können sie den SSH Server starten. Beim Aufruf müssen Sie ihm die Position des vorher erzeugten RSA-Keys mitteilen



    Wenn sie sich jetzt mit ps die Prozessliste ansehen, sollte dropbear darin auftauchen.

    Nachdem der SSH-Server läuft, benötigen sie einen entsprechenden Client für den Login. Dafür empfiel ich putty. Testen sie den SSH Zugang in Ihrem lokalen Netzwerk und rufen sie dazu putty auf.

    Jetzt müssen sie die IP-Adresse der Fritz!Box eingeben, da Port 22 und SSH per Default gewählt ist. Im lokalen Netz läuft die Fritz!Box unter 192.168.178.1

    Nach dem Klick auf "Open" entahlten sie eine Warnmeldung. Na klar, Putty kennt den Host-Key des Servers nicht. Daher müssen wir jetzt die Verbindung manuell autorisieren.

    Jetzt brauchen wir ein Script, das den PC per etherwake startet. Prinzell kann man zwar etherwake über SSH auf der Kommandozeile aufrufen, doch wer hat schon die Mac-Adresse eines PC auswendig im Kopf?

    Zum erzeugen des Scripts start_pc1 im Verzeichnis /var/tmp genügt folgender Zweizeiler:

    Ersetzen sie dabei, die Mac-Adresse meines Test-PCs durch ihre ihres Rechners und ändern sie gegebenenfalls "eth0" durch den passenden Interface-Namen ihrer Fritz!Box.

    Nach einem Neustart der Fritz!Box hat diese wieder alles vergessen. Der einzigste Weg, Änderungen über den Reboot zu retten, ist die Datei debug.cfg im Verzeichnis /var/flash.

    Nun kommen wir zu einem Script.

    Gehen Sie zur Installation des neuen Start-Scripts per SSH oder telnet auf die Commandoline der Box. Wechseln sie in das Verzeichnis var/tmp/ und laden das Script mit folgendem Befehl von dem Server


    Dabei wird ein Script auf die Fritz!Box geladen. Und zwar folgendes:

    Nun müssen sie die drei entsprechenden kommentierten Stellen ihre persönlichen Daten eintragen.

    Falls sie die Datei am PC bearbeiten, seien sie gewarnt: der Editior muss unbedingt im Unix/Linux Format abspeichern können.

    Nach den Änderungen kopieren sie die Datei an ihren finalen Ort und starten die Box neu:

    Was der Fritzbox jetzt noch fehlt ist um weltweit von außen erreichbar zu sein, eine feste IP Adresse. Hier bietet sich Dynmaic DNS als Lösung an.

    Dabei legt man sich bei einem der Anbieter zunächst einen kostenlosen Dynamic-DNS Account zu. Mit den Zugangsdaten loggt sich die FritzBox in die regelmäßigen Abständen und nach jedem IP-Wechsel durch den DSL-Provider ein.

    Auf Managed DNS | Outsourced DNS | Anycast DNS registrieren.

    Hat man jetzt beispielsweise die Subdomain "hallo123" bei dyndns.org eingetragen, ist die Fritz!Box unter "hallo123.dyndns.org" jederzeit aus dem Internet erreichbar. Auch Putty benötigt diesen Domain - Namen um von außen auf die Fritz!Box zugreifen zu können.

    Wenn jetzt nur nicht diese dumme Firewall der Fritz!Box wäre. Aus Sicherheitsgründen erlaubt AVM über das Webinterface auch nicht, Zugänge von außen zur Box freizuschalten.

    Für die Firewall Regeln ist die Datei ar7.cfg im Verzeichnis /var/flash zuständig. Durch eine manuelle Änderung lässt sich der Zugang über das Internet öffnen. Bearbeiten sie dazu ar7.cfg mit nvi oder dem schon mehrmals beschrieben Umweg über eine temoräre Kopie. Suchen sie nach den forwardrules und ergänzen sie sie um folgende zeilen, um den SSH Port 22 vom WAN freizuschalten:

    Nach einem Reebot der Fritz!Box ist es vollbracht. Per SSH können sie sich über ihre dyndns Adresse von jedem Ort der Welt sicher auf die Fritz!Box einlogen. Anschließend wechseln sie in das Verzeichnis /var/tmp und können ihren PC mit dem Befehl ./start_pcl aufwecken.

    Jetzt läuft zwar der PC, aber darauf zugreifen kann noch niemand. Für Windows XP bietet sich dafür RDP an. Dieser integrierte Remite Desktop hat sich inzwischen zum beliebtesten Tool für die Fernwartung emausert.

    Um von Außen auf den RDP Dienst eines laufenden PCs zugreifen zu können, müssen sie die Firewall der Fritz!Box noch entsprechend freischalten. Geben sie ihrem Pc eine vorab feste Ip-Adresse im internen Netz, sonst funktioniert die Portfreigabe nicht. RDP läuft über den TCP-Port 3389, den sie in der Fritz!Box unter dem Menüpunkt Internet / Portfreigabe an die Ip-Adresse Ihres PCs weiterleiten.

    Jetzt können sie von jedem Windows-PC aus ihren PC fernsteuern. Wenn sie unter der Remotedesktopverbindung als Rechnernamen die DynDns Adresse eintragen, landen sie direkt auf dem Login - bildschirm Ihres Rechners. Vergessen sie daher auf keinen Fall ein sicheres Passwort zu benutzen.


    Hiermit bedanke ich mich für die Aufmerksamkeit von euch lesern.

    Quelle: Fritz!Box-Hack: Computer über das Internet starten und fernsteuern - Fritz!Box-Hack | TecChannel.de

    And Thx to Lil-Dome von dem ich das Tutorial übernommen habe.
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.