Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 21 bis 40 von 46

Thema: Kennwörter aus der FRITZ!Box-Konfiguration auslesen für Firmware ab 06.10

  1. #21
    IPPF-Fan
    Registriert seit
    26.11.2005
    Ort
    Österreich
    Beiträge
    362
    Hallo,
    hat jemand einen Tipp wie ich aus einem config-export (vom avm-webif) oder von einem freetz-export die voip-passwörter rausbekomme? Ist das überhaupt machbar, oder geht das nur von der aktuellen Installation?
    alte allcfgconv (und webdavcfginfo) habe ich mir bereits aus 06.10 organisiert, mit der klappt des auch für die laufende installation.
    Box ist eine 7490, aus dieser kommt auch der export.

    Das script hier bekomme ich jedoch nicht zum laufen, ausgabe ist "unsupported config-parameter - abort"

    Code:
    mount -o bind /var/media/ftp/webdavcfginfo  /bin/webdavcfginfo
    grep -o -E '"[$]{4}.*"' /var/media/ftp/voip.cfg | sh decode_passwords.sh
    Hab ich was übersehen oder wird es nicht klappen?

    Edit: Habe testweise im skript den pfad zur binary angepasst, scheinbar lässt sich die binary nicht /bin/ mounten (?).
    Bekomme nun keine fehlermeldung mehr, sondern "/var/media/ftp/webdavcfginfo: not found" - die binary ist aber definitiv dort.
    Geändert von berndy2001 (24.09.2015 um 14:34 Uhr)
    Connected by UPC (75/7,5)
    FRITZ!Box Fon WLAN 7490
    Cisco SPA525G (SIP)

  2. #22
    IPPF Siebentausend-VIP Avatar von PeterPawn
    Registriert seit
    10.05.2006
    Ort
    Berlin
    Beiträge
    7.747
    Da das in einen chroot-Jail abläuft und das erst im Skript eingerichtet wird, mußt Du schon diesen Teil anpassen ... daher klappt auch weder bind-Mount noch das einfache Anpassen des Pfades, solange der nicht unterhalb von /bin liegt - das wird einfach nicht in das Jail übernommen oder ist von dort nicht erreichbar.

    Du müßtest das Skript etwas ergänzen, bei mir sieht die aktuelle Variante im Vergleich zu der vom Server so aus (diff-File):
    Code:
    --- /dev/null
    +++ decode_passwords
    @@ -207,7 +207,10 @@
     #
     # the "abused" AVM binary
     #
    -decode=/bin/webdavcfginfo
    +myself="$0"
    +mypath=$(realpath $myself)
    +mypath=${mypath%/*}
    +decode=$mypath/decoders/$CONFIG_PRODUKT
     if [ ! -x $decode ]; then
            # LAM-EXCLUDE 1
            echo "Missing $decode executable ..." 1>&2
    @@ -404,11 +407,13 @@
     # E     <dst>               create empty file (with "echo -n" for correct character device handling at TFFS) <dst>
     # M     <type> <src> <dst>  mount file system of type <type> from <src> at <dst>
     # B     <src> <dst>         bind mount from <src> to <dst>
    +# F     <src> <dst>         copy file to from <src> to <dst>
       D var/flash
       E $cfg
       M proc none proc
       B bin $1/bin
       B lib $1/lib
    +  F $decode $1/decoder
     EOT
     }
     #
    @@ -434,6 +439,9 @@
                            B)
                                    s=/$(rel_path $2); d=/$(rel_path $3); mkdir -p $d; mount -o bind $s $d
                                    ;;
    +                       F)
    +                               s=/$(rel_path $2); d=/$(rel_path $3); cp $s $d
    +                               ;;
                            *)
                                    ;;
                    esac
    @@ -480,7 +488,7 @@
                            # prepare config file
                            echo -n -e "$client {\n\t$username = \"\$in\";\n}" >$cfg
                            # let it decode
    -                       out="\$($decode -p username)"
    +                       out="\$(/decoder -p username)"
                            # if the decoded text is empty, no escaping is needed
                            if [ \${#out} -gt 0 ]; then
                                    # backslash is escape, we've to double each occurence
    Damit das funktioniert, wird noch ein Unterverzeichnis "decoders" (auf der Ebene, wo das Skript liegt) benötigt, in dem per Symlink unter dem Produktnamen der FRITZ!Box (bei der 7490 wäre das "Fritz_Box_HW185") das korrekte Programm (sollte sich wie das webdavcfginfo von AVM über "programmname -p username" aufrufen lassen und das Format der "usb.cfg" verstehen - was bei Dir mit dem originalen webdavcfginfo von AVM ja kein Problem wäre) zum Dekodieren verlinkt ist.

    PS: Ansonsten kannst Du natürlich (nachdem die beiden anderen Änderungen drin sind) auch einfach nur den Pfad zum "decode" anpassen und bei der ersten Änderung die drei "my..."-Zeilen einfach auslassen. Die sind nur drin, damit ich das mit einem Download für mehrere Boxen/Firmwareversionen und von beliebigen Stellen aus aufrufen kann und nicht jedesmal etwas anpassen muß.
    Geändert von PeterPawn (24.09.2015 um 15:31 Uhr)

  3. #23
    IPPF-Fan
    Registriert seit
    26.11.2005
    Ort
    Österreich
    Beiträge
    362
    Vielen Dank für deine Hilfe! Habs hinbekommen.

    Patchen ließ sich nur Hunk 1 & 2, 3 & 4 wurde nicht genommen, hab diese Teile manuell eingebaut.

    Ich weiß nicht wie es sehr die anderen Firmware-Version von anderen Boxen abgesichert sind, aber das freetz-Paket macht zumindest für die 7490 in dieser Form nicht viel Sinn. Praktisch wäre, denn man den Pfad zur binary als Parameter übergeben könnte, dann bräcuhte man sich nur die binary organisieren...
    Ist keine Kritik, sondern eine Anregung. Anderseits ist es vielleicht eh nicht schlecht, wenn nicht ganz so einfahch geht
    Connected by UPC (75/7,5)
    FRITZ!Box Fon WLAN 7490
    Cisco SPA525G (SIP)

  4. #24
    IPPF Siebentausend-VIP Avatar von PeterPawn
    Registriert seit
    10.05.2006
    Ort
    Berlin
    Beiträge
    7.747
    Ich habe das Ganze bei mir eben als Archiv mit den notwendigen Programmen (die AVM's webdavcfginfo als Interface nachbilden) für verschiedene Architekturen liegen (mips, mipsel, puma5, puma6_arm, puma6_atom) und eigentlich sucht sich das Skript (wenn es den Symlink gibt) eben automatisch das richtige Binary für die Box raus. Da wäre ein zusätzlicher Parameter (der auch nicht ganz einfach zu implementieren ist bei Wahrung der Kompatibilität) irgendwie unnötig.

    Aber es war ja ohnehin nur eine Fingerübung als Zwischenlösung ... ob es eine neue Version geben wird, steht noch in den Sternen.

    Das Dekodieren einzelner Werte ist aber nach wie vor auch von Hand möglich (z.B. als WLAN-Schlüssel oder Pushmail-Adresse) und insofern schrecken die Änderungen seitens AVM am webdavcfginfo (und schon vorher am allcfgconv) eben auch nur "Gelegenheitsdiebe" und sind kein Sicherheitsgewinn für den Besitzer der Box - wenn die z.B. beschlagnahmt würde oder wenn ein Angreifer einfach eine TFFS-Partition über's Netz auf sein eigenes System kopiert und das dann später genüßlich auseinandernimmt.

    Das Freetz-Paket funktioniert für Versionen < 06.25 nun mal "out of the box" ... und das eigentlich nicht nur bei der 7490. Wenn das zusätzliche "webdavcfginfo" (ich bevorzuge das bzw. ein eigenes Programm mit identischem Interface ggü. dem allcfgconv immer noch, weil es im Verein mit "decode_passwords" eben auch einzelne Werte aus "ar7cfgctl" entschlüsseln kann für Automatisierungen) unterhalb von /bin bereits beim Build des Images unter einem passenden Namen abgelegt wird, braucht man auch bloß den Namen anpassen, wie Du es im ersten Anlauf versucht hast. Gescheitert bist Du ja nur daran, daß das bind-Mount an dieser Stelle nicht greift und beim zweiten Versuch daran, daß /var/media/ftp eben nicht zum Jail gehörte. Wenn das richtige "webdavcfginfo" unter einem passenden Namen schon in /bin gelegen hätte, wäre schon Deine erste Anpassung von Erfolg gekrönt worden.

    PS: Zum Patch-Problem: Vermutlich habe ich aus einer PuTTY-Session nur den Bildschirminhalt kopiert und hier eingefügt, dabei sind dann die Tabs bei den tiefer eingerückten Stellen verloren gegangen und daher haben die anderen Hunks wohl nicht gegriffen (der passende Parameter hilft auch hier sicherlich).

  5. #25
    IPPF-Einsteiger
    Registriert seit
    05.11.2015
    Beiträge
    5
    Zitat Zitat von nqfe Beitrag anzeigen
    Ich habe es mir jetzt einfach gemacht.

    * Habe das decode_passwords Script von PeterPawn "downgeloadet" (http://yourfritz.de/decode_passwords.tgz) und lokal entpackt.
    * Dann per FRITZ!NAS der FRITZ!Box Weboberfläche das Script auf den USB Stick an der Box kopiert. (Wäre auch per FTP gegangen.)
    * Verbindung per Putty zur Box hergestellt. (Ist auch bei der Lösung mit wget nötig)
    * Per cd in das Verzeichnis des Sticks gewechselt. (# cd /var/InternerSpeicher/NameDesSticks)
    * Zum Schluss mit "# sh decode_passwords < /var/flash/ar7.cfg" bzw. "# sh decode_passwords < /var/flash/ar7.cfg >> ausgabe.txt" die Konfiguration mit den entschlüsselten Kennwörtern ausgeben lassen. Die ausgabe.txt befindet sich auf dem Stick und kann über FRITZ!NAS oder FTP gelesen oder kopiert werden.

    Bd
    nqfe
    Hallo

    Ich bin absoluter Neuling hier und absoluter Laie mit dem Auslesen von Daten aus der FB. Habe eine 7490 mit 6.23, die ich von meine PRovider Sunrise (Schweiz) bekommen habe.
    Darüber läuft Internet, TV und eine IP Telefonnummer. Und genau die muss ich irgendwie in die Box meiner Firma bekommen, weil das die zentrale Anlage ist und alles da angemeldet wird, damit ich auch intern telefonieren kann mit Geräten an diversen Standorten.
    Damit ich die Nummer dort rein bekomme, brauche ich das VoIP Passwort.
    Mit Deiner Anleitung habe ich zwar 43 Seiten ausgelesenen Code bekommen und sehe meine Internet und Dyndns-Passwörter, doch das VoIP-Passwort finde ich nirgends.
    Muss ich das mit einem speziellen Befehl auslesen oder ist das Entschlüsseln von AVM blockiert? Fehlermeldungen gibts nicht.
    Wenn Du ne Idee hast, bin ich Dir sehr dankbar.
    FG hampi52

  6. #26
    IPPF-Fan
    Registriert seit
    26.11.2005
    Ort
    Österreich
    Beiträge
    362
    hast du die voip.cfg genommen?
    Connected by UPC (75/7,5)
    FRITZ!Box Fon WLAN 7490
    Cisco SPA525G (SIP)

  7. #27
    IPPF-Einsteiger
    Registriert seit
    05.11.2015
    Beiträge
    5
    Spannenderweise gibts die nirgends. Habe die 43 ausgedruckten Codeseiten fast mit der Lupe gelesen. Und dennoch habe ich mein Telefon via IP vom Provider auf der FritzBox.
    Ist Dir bekannt, dass es verfahren gibt, wo das Telefon ohne VoIp im herkömmlichen Sinn vom Provider in die Box gepisht wird und sich gar nicht dort drin abspeichert?
    Ich werde das Prozedere mal in der Firmenbox machen. Dort habe ich "echtes" Voip von Switzernet. Und wenn dann dort eine voip.cfg auftaucht, kommt man wohl an die VoIPSunrise.PWs nicht ran.
    Danke Dir für die Hilfe
    hampi52

  8. #28
    IPPF Siebentausend-VIP Avatar von PeterPawn
    Registriert seit
    10.05.2006
    Ort
    Berlin
    Beiträge
    7.747
    Die voip.cfg ist eine andere Datei als die ar7.cfg. Wenn Du also nur die ar7.cfg hast dekodieren lassen (egal auf welchem Weg), stehen dort die VoIP-Credentials logischerweise nicht drin.

    BTW: Wer druckt denn so etwas aus? Internet-Ausdrucker?

  9. #29
    IPPF-Einsteiger
    Registriert seit
    05.11.2015
    Beiträge
    5
    Hall PeterPawn

    Ich kann halt nicht wirklich gut am Bildschirm lesen, hat was mit Augen zum tun...
    Also soweit ist mir das klar.
    Wenn ich denn also - im Skript oben bei meinem Zitat - den Eintrag ar7.cfg durch voip.cfg ersetze und den Rest so lasse, dann sollte es gehen?

    Also exakt so stimmt das Skript für VoIP? # sh decode_passwords < /var/flash/voip.cfg" bzw. "# sh decode_passwords < /var/flash/voip7.cfg >>

    Sorry, ich bin mit den Skripten nicht vertraut, weil kein Programmierer. Immerhin habe ich dank Euch gelernt wie das anzuwenden geht und was Telnet ist und was man damit machen kannn )
    Ihr seid eine super Community.

    Danke
    hampi52

  10. #30
    IPPF Siebentausend-VIP Avatar von PeterPawn
    Registriert seit
    10.05.2006
    Ort
    Berlin
    Beiträge
    7.747
    Die erste Variante ... die Datei heißt "voip.cfg" ohne 7.

    Hast Du keinen "Vorleser"? Gerade für Leute mit "disabilities" ist doch Technik das probatere Mittel ... aber das nur nebenbei.

    Deine SIP-Credentials findest Du jedenfalls mit der ersten Variante der angegebenen Kommandos.

  11. #31
    IPPF-Einsteiger
    Registriert seit
    05.11.2015
    Beiträge
    5
    Oh, die 7 war bloss ein Verschreiber)
    Vorleser brauche ich dann doch noch nicht - bin halt noch Old School und ja, auch mit E-Books am PC tue ich mich schwer. Darum drucke ich aus (nicht die E-Books, dafür habe ich einen Reader jedoch so Skripts kann ich dann für mich bequem durcharbeiten. Dafür habe ich Druckerpapier, was einseitig schon bedruckt ist und so nochmals gebraucht wird...
    Werde also das Skript zuhause mal laufen lassen und gucken, was passiert. Melde mich dann wieder.

    FG hampi52

  12. #32
    IPPF-Einsteiger
    Registriert seit
    05.11.2015
    Beiträge
    5
    So, das hat auf den ersten Blick geklappt - die VoIP-PWs sind da. Jetzt muss ich gucken, ob ich in der Firmen FB die VoIP Nummer einbauen kann. Möglicherweise gibts da ein Problem, denn ich habe irgendwo gelesen, dass Sunrise VoIP nur im Sunrise Internet eingerichtet werden kann. In der Firma habe ich Swisscom...

  13. #33
    IPPF-Einsteiger
    Registriert seit
    09.06.2015
    Beiträge
    23
    Hallo allerseits.

    weiß jemand von euch wie ich von einer AVM 7360 augelesene M-Net Zugangsdaten auf eine AVM 7330 bekomme, so dass ich mit dieser ordnungsgemäßen Interzugang bekomme ?
    Die Zugangsdaten sind zwar in die 7330 übertragen, MTU steht auf 1492 und die Vlan id auf 40, aber ich bekomme keine Internetverbindung.
    Meiner Meinung nach muss etwas im Menüpunkt "IPv6" eingestellt werden, der jedoch bei der M-Net AVM 7360 nicht sichtbar ist.
    Zwar gelingt der Versuch alle Einstellungen von der AVM7360 zu sichern und in die 7330 zurückzuspielen, selbst mit Zugangsdaten,
    aber man bekommt dennoch keine Verbindung zum WWW.
    Auch hier meine Meinung, was menütechnisch bei der M-net 7360 nicht sichbar ist, lässt sich wohl nicht kopieren.


    Lässt sich eigentlich mit:

    IPv4 DSLAFTR-Gateway :: + IPv6 verbindungsadressen + IPv6 Präfix + genutzte DNS Server

    etwas anfangen, die im Online-Montior der M-Net AVM 7360 stehen ?
    Kann man diese Daten ggf. in einer AVM 7330 in dem IPv6 Menü verwenden ?


    LG Al
    Geändert von al stone (17.11.2015 um 15:40 Uhr)

  14. #34
    IPPF Viertausend-Club
    Registriert seit
    28.10.2010
    Ort
    NRW
    Beiträge
    4.967
    Versuch' mal unter Internet, Zugangsdaten, IPv6, native IPv6-Verbidung, AFTR-Adresse "aftr.prod.m-online.net" einzutragen.

  15. #35
    IPPF-Einsteiger
    Registriert seit
    09.06.2015
    Beiträge
    23
    Zitat Zitat von thtomate12 Beitrag anzeigen
    Versuch' mal unter Internet, Zugangsdaten, IPv6, native IPv6-Verbidung, AFTR-Adresse "aftr.prod.m-online.net" einzutragen.
    Guten Abend.

    Danke für die Info.
    Hatte ich bereits ohne Erfolg versucht.


    LG Al

  16. #36
    IPPF Siebentausend-VIP Avatar von PeterPawn
    Registriert seit
    10.05.2006
    Ort
    Berlin
    Beiträge
    7.747
    Eine neue Version 0.2 ist jetzt über GitHub (https://github.com/PeterPawn/decode_passwords/releases) verfügbar, die als Decoder auf das AVM-Binary (oder einen beliebigen anderen eigenen Decoder) über den Symlink "/var/decoder" versucht zuzugreifen. Um auch diese Version von einer "normalen FRITZ!Box" aus laden zu können (das "wget" der Busybox kann keine HTTPS-Verbindungen benutzen und das AVM-Programm "httpsdl" kommt mit GitHub-URLs irgendwie auch nicht klar), habe ich noch einen zusätzlichen Download-Link unter http://yourfritz.de/decode_passwords...code_passwords bereitgestellt. Die Kommandos aus #1 muß man dann eben entsprechend anpassen.

    Indem man auf irgendeinem Weg einen entsprechenden Link einrichtet (wie das bei funktionierendem Shell-Zugriff und bei Vorhandensein einer älteren AVM-Firmware auch vollkommen ohne eine Verletzung der Lizenzbedingungen von AVM geht, beschreibe ich weiter unten), kann man nun mittels "decode_passwords" auch dann noch Konfigurationsdateien entschlüsseln (eigene und - bei Kenntnis von "wlan_key" und "maca" - auch die aus anderen Boxen), wenn AVM inzwischen "webdavcfginfo" so abgeändert hat, daß der Datenaustausch zwischen "davfs2" und den AVM-Komponenten rundherum nur noch über "shared memory" läuft. Für eine "regelmäßige" Benutzung ist allerdings damit nun auch "webdavcfginfo" zu "unhandlich" geworden. Also schafft man sich entweder ein eigenes Programm zum Entschlüsseln an (das Interesse daran - bzw. an einer Diskussion daran, ob man so etwas braucht/machen sollte - hielt sich in sehr überschaubaren Grenzen) oder man muß eben auf ältere AVM-Versionen (irgendwas zwischen 06.10 und 06.25) zurückgreifen, wenn man "decode_passwords" weiterhin nutzen will.

    Gegenüber "allcfgconv" hat es (zumindest in meinen Augen) immer noch einige Vorteile, insbesonders weil man es in der Kombination mit "ar7cfgctl" zum Auslesen (und Dekodieren) einzelner Einstellungen benutzen kann. Zwar geht theoretisch auch "der andere Weg" über die komplette Dekodierung mittels "allcfgconv", aber dann wird das (automatische) Parsen einer bestimmten Einstellung aus der so erzeugten Datei wieder komplexer. Liest man hingegen mit "ar7cfgctl" einen solchen Wert erst aus, kann hinterher "allcfgconv" (meines Wissens) damit nichts mehr anfangen.

    Ein (ziemlich einfaches) Auslesen von Daten ist so nicht mehr möglich ... ich brauche z.B. regelmäßig das Auslesen der Credentials für die Aktualisierung eines DynDNS-Accounts, was mit dem folgenden "snippet" sehr leicht zu realisieren ist:
    Code:
    [...]
    cfgvar()
    {
            local n="$1" i p="$2" v
            v="$(echo -e "$n" | ar7cfgctl -w 2>/dev/null)"
            [ $(expr index "$v" '\$\$\$\$') -gt 0 ] && v="$(echo "$v" | decode_passwords)"
            if ! test -z "$p"; then
                    p="${p//\[/\\[}"
                    p="${p//\"/\\"}"
                    p="${p//\./\\.}"
                    p="${p//\$/\\\$}"
                    v="$(echo "$v" | sed -n -e "s|$p||p")"
            fi
            echo "$v" | sed -n -e 's|^\([^ ]*\) = \(\".*\"\)|\1=\2|p'
    }
    eval $(cfgvar "ddns.accounts.username\nddns.accounts.passwd" "ddns.accounts.")
    Das ergibt nach dem "eval" dann den Benutzernamen und das Kennwort für den ersten DynDNS-Account aus der ar7.cfg in den Shell-Variablen "username" und "passwd" (die Namen gibt der Einfachheit halber AVM in der ar7.cfg vor) - das muß man mir auf einem anderen Weg erst einmal in ähnlicher "Länge" zeigen ... die "cfgvar()"-Funktion kann man natürlich auch mit anderen Werten nutzen (z.B. den E-Mail-Credentials für die Push-Mails).


    Bleibt also die Frage, wie man sich ohne die Verletzung der AVM-Lizenzbedingungen ein passendes Binary beschafft ... die erwähnten Lizenzbestimmungen verbieten (ob wirksam oder nicht, lassen wir einfach dahingestellt, weil es in diesem Zusammenhang uninteressant ist) das Extrahieren einzelner AVM-Programme aus der Firmware. Das sollte für das Erzeugen einer temporären Kopie in einem chroot-Jail nicht gelten, da diese (a) nicht dauerhaft gespeichert und (b) bereits nach dem Ende der Abarbeitung von "decode_passwords" wieder gelöscht wird, wenn man so vorgeht, wie ich es vorschlage.

    Dazu greift man sich einfach eine ältere Firmware und extrahiert aus dieser das SquashFS-Image mit dem Root-Dateisystem. Diesen Schritt muß man - nach meiner Überzeugung - nur einmal ausführen, da auch die Speicherung einer Kopie des kompletten Root-Dateisystems noch durch die GPL abgedeckt sein sollte. Je nachdem, um was für ein FRITZ!Box-Modell es sich handelt, sind dazu folgende Schritte erforderlich (ich gehe davon aus, daß alle Kommandos direkt auf einer FRITZ!Box ausgeführt werden - wie man den Zugriff auf die Shell erreicht, soll hier mal nicht das Thema sein, das ist anderweitig oft genug durchgekaut):

    1. (optional) Download einer passenden Firmware ... nachdem AVM selbst ältere Versionen nicht mehr bereitstellt, muß man eben woanders auf die Suche gehen, wenn man selbst kein passendes Archiv hat - für den weiteren Ablauf nehme ich mal die Firmware-Version 06.20 an und die Modelle 7490 (als NAND-Box mit dem Firmware-Image "FRITZ.Box_7490.113.06.20.image") und 7390 (als NOR-Box mit der Firmware "FRITZ.Box_Fon_WLAN_7390.AnnexB.84.06.20.image ").

    2. Entpacken des AVM-Images

      Variante A - NAND-Box mit Firmware < 06.36 (Kernel 2.6.xx)
      Code:
      # mkdir /var/media/ftp/firmware_06.20
      # tar -O -x -f FRITZ.Box_7490.113.06.20.image ./var/tmp/filesystem.image >/var/wrapper.image
      # mkdir /var/wrapper
      # mount -t squashfs /var/wrapper.image /var/wrapper
      # cp -a /var/wrapper/filesystem_core.squashfs /var/media/ftp/firmware_06.20/rootfs.squashfs
      # umount /var/wrapper
      # rmdir /var/wrapper
      # rm /var/wrapper.image
      Variante B - NOR-Box (der verwendete Kernel muß das SquashFS-Format der alten Firmware - also SquashFS3 - kennen) ... das ist etwas aufwändiger, weil das Dateisystem und der Kernel in einer einzigen Datei zusammengefaßt sind:
      Code:
      # mkdir /var/media/ftp/firmware_06.20
      # tar -O -x -f FRITZ.Box_Fon_WLAN_7390.AnnexB.84.06.20.image ./var/tmp/kernel.image >/var/kernel.image
      # b=$(date +%s);f=/var/kernel.image;i=$(( 0x140000 ));s=$(stat -c %s $f);while [ $i -lt $s ]; do [ $(testvalue $f 4 $i) -eq 1936814952 ] && printf "\noffset = 0x%08x\n" $i && break;i=$(( i + 4096 ));printf "\r0x%08x of 0x%08x" $i $s;done;printf "duration=%u seconds\n" $(( $(date +%s) - b ));dd if=$f of=/var/media/ftp/firmware_06.20/rootfs.squashfs bs=4096 skip=$(( i / 4096 ));rm /var/kernel.image
      0x00152000 of 0x00ebdb3a
      offset = 0x00152000
      duration=25 seconds
      3435+1 records in
      3435+1 records out
      14072634 bytes (13.4MB) copied, 4.574045 seconds, 2.9MB/s
      
      Das Aufsuchen des Beginns des SquashFS-Images ist sicherlich nicht die schnellste Lösung, dafür funktioniert sie mit den Mitteln, die selbst eine originale AVM-Firmware "onboard" hat ... allerdings muß das tatsächlich alles in einer einzelnen Eingabe erfolgen (copy&paste hilft da sicherlich - der blaue Teil sind dann schon Ausgaben der Kommandos bei der Abarbeitung).

      Wenn man die ungefähre Größe des Kernels der eigenen Box besser kennt, kann man durch einen anderen Startwert für "i" (die rote Stelle oben) natürlich auch später in der Datei mit der Suche beginnen.

      Der gesuchte Wert 1936814952 ist in hexadezimaler Schreibweise nebenbei bemerkt 0x73717368, was für "sqsh" steht und das ist die Signatur eines SquashFS-Images im BE-Format. Wenn die verwendete FRITZ!Box LE-Speicherung verwendet, muß dieser Wert auf 0x68737173 geändert werden, was in dezimaler Schreibweise dann 1752396147 wäre - wobei meines Wissens bisher(!) keine LE-Modelle mit einer Firmware > 06.25 ausgerüstet werden können (mal vom ATOM-Core einer 6490 abgesehen - welche Endianess die 4080 (und die 4020?) verwendet, weiß ich allerdings auch nicht und auch die 5490 ist m.W. von den "Innereien" her noch ein großes Fragezeichen).

      Anschließend wird dann einfach das SquashFS-Image aus der Kernel-Datei in das Zielverzeichnis kopiert und die extrahierte "Gesamtdatei" gelöscht.

      Wenn das verwendete Modell keinen NAND-Flash unter /var/media/ftp bereitstellt (also keine 7390 ist), kann man natürlich stattdessen auch ein Verzeichnis auf einem USB-Stick benutzen ... wenn der ein Linux-Dateisystem hat, schadet das sicherlich nicht, es ist aber keine Bedingung.

      Variante C - NAND-Box mit neuerem Kernel, der das alte SquashFS-Format nicht mehr kennt ... hier brauchen wir dann eine Version von "unsquashfs", die das alte Dateiformat unterstützt (z.B. aus dem "modfs"-Paket) und ein "mksquashfs" für das neue Format; wir packen uns das Root-Dateisystem ganz einfach um auf das aktuellere Format (braucht etwas Zeit). Dabei müssen wir aber auch den nicht allzu üppigen Hauptspeicher im Hinterkopf behalten, daher sollten die Zwischenergebnisse nicht im tmpfs abgelegt werden ... wir brauchen also genug freien Speicher in der NAND-Partition unter /var/media/ftp oder einen USB-Stick mit einem Linux-Dateisystem.
      Code:
      # mkdir /var/media/ftp/firmware_06.20
      # tar -O -x -f FRITZ.Box_7490.113.06.20.image ./var/tmp/filesystem.image >/var/wrapper.image
      # unsquashfs3 -d /var/wrapper /var/wrapper.image /filesystem_core.squashfs
      Filesystem on /var/wrapper.image is ZLIB compressed (3:0)
      Parallel unsquashfs: Using 2 processors
      1 inodes (336 blocks) to write
      [====================================\] 336/336 100%
      created 1 files
      created 1 directories
      created 0 symlinks
      created 0 devices
      created 0 fifos
      # rm /var/wrapper.image
      Hier stehen wir jetzt am Scheideweg und müssen uns zusammenreißen, daß wir den sauberen Weg nehmen und nicht einfach mittels
      Code:
      # unsquashfs3 -d /var/rootfs /var/wrapper/filesystem_core.squashfs /bin/webdavcfginfo
      # mv /var/rootfs/bin/webdavcfginfo /var/media/ftp/firmware_06.20/decoder
      # rm -r /var/rootfs /var/wrapper
      das benötigte Programm aus dem Image kopieren, denn das wäre zwar eine Abkürzung, aber auch genau der bereits erwähnte Verstoß gegen die AVM-Lizenzbestimmungen.

      Das ist aber nicht notwendig, denn wir können ja einfach wieder das gesamte Root-Dateisystem in einem Format zusammenpacken (wenn wir es nicht gleich in der ausgepackten Form - auch dabei sind ja keine einzelnen AVM-Programme vom Rest der Firmware getrennt - weiter verwenden wollen, weil es schade um den vergeudeten Platz ist ... immerhin sind es bei einer 7490 ca. 56 MB, die das Root-Dateisystem auf die Waage bringt), welches unser neuer Kernel dann auch wieder mounten kann.
      Code:
      # unsquashfs3 -d /var/media/ftp/repackfs /var/wrapper/filesystem_core.squashfs
      Filesystem on /var/wrapper/filesystem_core.squashfs is ZLIB compressed (3:0)
      Parallel unsquashfs: Using 2 processors
      3770 inodes (4278 blocks) to write
      [====================================\] 4278/4278 100%
      created 3175 files
      created 219 directories
      created 509 symlinks
      created 86 devices
      created 0 fifos
      # mksquashfs4 /var/media/ftp/repackfs /var/media/ftp/firmware_06.20/rootfs.squashfs
      Parallel mksquashfs: Using 2 processors
      Creating 4.0 filesystem on /var/media/ftp/firmware_06.20/rootfs.squashfs, block size 65536.
      [============================================================================\] 3683/3683 100%
      Exportable Squashfs 4.0 filesystem, xz compressed, data block size 65536
              compressed data, compressed metadata, compressed fragments, no xattrs
              duplicates are removed
      Filesystem size 18464.95 Kbytes (18.03 Mbytes)
              33.12% of uncompressed filesystem size (55749.34 Kbytes)
      Inode table size 31418 bytes (30.68 Kbytes)
              23.27% of uncompressed inode table size (134998 bytes)
      Directory table size 37300 bytes (36.43 Kbytes)
              40.04% of uncompressed directory table size (93150 bytes)
      Number of duplicate files found 1357
      Number of inodes 3989
      Number of files 3175
      Number of fragments 244
      Number of symbolic links  509
      Number of device nodes 86
      Number of fifo nodes 0
      Number of socket nodes 0
      Number of directories 219
      Number of ids (unique uids + gids) 1
      Number of uids 1
              root (0)
      Number of gids 1
              root (0)
      # rm -r /var/wrapper /var/media/ftp/repackfs
      Das Packen mit "mksquashfs4" dauert zwar ein wenig (ca. 5 Minuten auf einer 7490), aber das gute Gefühl auch in Zukunft die AVM-Lizenzbedingungen einzuhalten, entschädigt uns dafür.

      Jetzt haben wir jedenfalls bei allen Varianten irgendwo (im Beispiel unter /var/media/ftp/firmware_06.20/rootfs.squashfs) ein Image liegen, das vom aktiven System gemountet werden kann und die Kommandos von diesem Punkt an, wären nach jedem Neustart der FRITZ!Box vor der Verwendung von "decode_passwords" auszuführen.

    3. Mounten des Dateisystems unter irgendeinem Pfad in der Box
      Code:
      # mkdir /var/firmware_06.20
      # mount /var/media/ftp/firmware_06.20/rootfs.squashfs /var/firmware_06.20

    4. Verlinken des im neu gemounteten Dateisystem enthaltenen "webdavcfginfo"-Binaries unter dem Namen "/var/decoder"
      Code:
      # ln -s /var/firmware_06.20/bin/webdavcfginfo /var/decoder



    Nun kann man das "decode_passwords"-Skript verwenden, als hätte das System selbst weiterhin eine passende "webdavcfginfo"-Version.
    Geändert von PeterPawn (11.02.2016 um 12:30 Uhr)

  17. #37
    IPPF-Einsteiger
    Registriert seit
    17.12.2014
    Beiträge
    5
    Servus aus Österreich,
    Hallo PeterPawn,

    Ich lesen nun seit tage/nächte alles in diesem forum und auch auf verlinkte seiten zu diesem thema, traue mich aber noch nicht mit der "tatsächen" umsetzung.
    Ich bitte um kurze Antwort ob mein "Vorhaben" technisch möglich und realisierbar ist:

    meine Konfiguration gestaltet sich wie folgt:

    internet, tv und telefonie bekomme ich über einen lokalen Kabelanbieter in Ö.

    Fakten:
    > Modem ist eine Fritzbox 6490 mit der Firmware 6.50 - nicht gebrandet, keinerlei Einschränkungen seitens Anbieter (inkl. Nutzung von DVB-C Streaming)
    > auf dem Modem ist die eigene Rufnummer registriert und das Telefonieren (über DECT) geht natürlich, die Einstellung sind nicht erkennbar (bis auf die Tel. Nummer)

    das Modem steht aber im Kellergeschoß, daher habe ich noch weitere Fritzboxen (2x 7390 und eine 7490) als IP-Clinet boxen im Haus verstreut.

    Mein Ziel:
    Die SIP - Zugangsdaten über eine Sicherung von der 6490 (Sicherung kann direkt über das WEBIF der 6490 erstellt werden - mit passwort) auslesen.
    Nach erfolgreichem Auslesen der Zugangsdaten würde ich danach die SIP - Einstellungen an den IP-Clinet Boxen einstellen - um auch von diesen Boxen aus mittels
    DECT telefonieren zu können.

    Dazu wollte ich wie folgt vorgehen:

    > Sicherung aus der 6490 auf einer 7390 bzw. 7490 einspielen und die daten mittels deinem skript/programm decode_passwords auslesen

    FRAGE:
    - ist die Sicherung der 6490 überhaupt auf die 7390 bzw. 7490 flashbar?
    - die 1. FritzBox 7390 ist noch auf einen alten Softwarestand: FRITZ.Box_7390.84.05.54.image
    - die 2. FritzBox 7390 ist etwas neuer: FRITZ.Box_Fon_WLAN_7390.AnnexB.84.06.03.image

    - die 3. Fritzbox ist die 7490: auf der habe ich die letzte Laborversion oben: FRITZ!OS:06.55-33130 BETA


    würde anstelle deines skriptes auch die variante über allcfgconv -C auf meine 7390 gehen?

    Über deine ausführliche Darstellung im letzen Artikel (Variante C) auf meine 7490 traue ich mich nicht so recht. abgesehen davon finde ich auch nicht benötigte firmware:
    für die 7490 las downgrade.

    Bitte um einen Ratschlag wie es gehen könnte!

  18. #38
    IPPF Viertausend-Club
    Registriert seit
    28.10.2010
    Ort
    NRW
    Beiträge
    4.967
    Zitat Zitat von r.benamin Beitrag anzeigen
    keinerlei Einschränkungen seitens Anbieter
    [...]
    die Einstellung sind nicht erkennbar (bis auf die Tel. Nummer)
    Was denn jetzt?

  19. #39
    IPPF-Einsteiger
    Registriert seit
    17.12.2014
    Beiträge
    5
    Es gibt ja keine Einschränkungen, kann beliebig viele neue Nummer eintragen.
    Nur die seitens Anbieter voreingestellte VoipNummer ist eben nicht einsehbar - Einstellungen können nicht bearbeitet werden, sind eben nicht sichtbar.
    Modem: FritzBox 6490
    IP-Client Box 1: FritzBox 7390
    IP-Client Box 2: FritzBox 7390
    IP-Client Box 3: FritzBox 7490

  20. #40
    IPPF Achttausend-VIP Avatar von koyaanisqatsi
    Registriert seit
    24.01.2013
    Ort
    Berlin (Neukölln)
    Beiträge
    8.712
    Moin


    Eine Nummer vom Anbieter 1&1 zeigt mir beim Bearbeiten auch nicht alles an.
    Erst wenn statt 1&1 Anderer Anbieter gewählt wird, naja, fast alles.
    ...schonmal probiert?
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt (Albert E.) mfg koy
    Anschluss: 1&1 Komplett VDSL 50/10 DS
    Fritz!Box: 7560 FRITZ!OS 6.83 & 6.52 & 1x 7112 (WDS Basis), 3x 7113 (Repeater)
    Telefonie: Rotes Posttelefon, 2x snom320-SIP 8.7.5.44, 2x (billig) DECT, 1x Fax (MuFuG)

    SmartHome: SensorAndSwitch auf Rasperry Pi mit OSMC/KODI (Jessie/Sarge)

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

  1. Konfiguration auslesen
    Von LAnd im Forum AVM-Software
    Antworten: 7
    Letzter Beitrag: 28.03.2014, 17:08
  2. Fritz!OS 06.03: Konfiguration per HTTP auslesen
    Von Jense31 im Forum FRITZ!Box tot? Recover, Firmware Up-/ Downgrade
    Antworten: 4
    Letzter Beitrag: 26.02.2014, 21:53
  3. Konfiguration auslesen der Fritzbox 7050
    Von reimundko im Forum FRITZ!Box Fon mit internem ISDN-S0-Bus
    Antworten: 1
    Letzter Beitrag: 01.08.2013, 20:17
  4. msn adresse und kennwörter sind nach pc neustart gelöscht
    Von msnproblem im Forum MSN Messenger/ Windows Live Messenger
    Antworten: 4
    Letzter Beitrag: 09.02.2010, 09:38
  5. VPN Konfiguration aus FBF auslesen
    Von Arctic1986 im Forum FRITZ!Box Fon: DSL, Internet und Netzwerk
    Antworten: 0
    Letzter Beitrag: 30.03.2009, 21:37

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •