.titleBar { margin-bottom: 5px!important; }

Rätsel um dropbear 0.52

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von TriaxMan, 27 Nov. 2008.

  1. TriaxMan

    TriaxMan Neuer User

    Registriert seit:
    13 Nov. 2006
    Beiträge:
    119
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich stehe z.Z. vor einem Rätsel!

    Ich benutze seit vielen Monaten dropbear 0.50 (Binary fand ich irgendwo hier in Forum) der von meinem Webspace per wget auf die Box kommt und über /var/flash/debug.cfg installiert wird.

    Ich identifieziere mich per Passwort. Das 16-stellige Passwort habe ich hier erstellt: http://home.flash.net/cgi-bin/pw.pl

    Der zuständige Code aus der debug.cfg:
    Code:
    cd /var/tmp/bin
    wget http://meinwebspace/dropbearmulti
    mv /var/tmp/bin/dropbearmulti /var/tmp/bin/dropbear
    chmod +x /var/tmp/bin/dropbear
    ln -s /var/tmp/bin/dropbear dropbearkey
    if [ ! -f dropbear_rsa_hostkey ]
    then
      /var/tmp/bin/dropbearkey -t rsa -f /var/tmp/bin/dropbear_rsa_hostkey -s 2048 >/dev/null 2>&1
    fi
    cp -p /var/tmp/shadow /var/tmp/tmp_shadow
    
    sed -e "/root:/s#^root:[^:]*:#root:XXXXXXXXXXX:#" /var/tmp/tmp_shadow > /var/tmp/shadow
    /var/tmp/bin/dropbear -r /var/tmp/bin/dropbear_rsa_hostkey -p 22
    
    Alles funzt prima bis auf die Tatsache, dass mein 16-stelliges Passwort von dropbear 0.50 nach der Eingabe der 8. Stelle bereits als korrekt angenommen wird und mir den Zugang zu FB gewährt!

    Nun wollte ich auf dropbear 0.52 umsteigen in der Hoffnung dass ich das Problem löse, denn ich fahre diese Methode schon ein Weilchen so und es gefällt mir nicht ganz.

    So, dann habe ich mal schnell dropbear 0.52 selber per Chaintool auf meinem Kanotix Linux statisch kompiliert.
    Code:
    $ wget -P dropbear http://matt.ucc.asn.au/dropbear/dropbear-0.52.tar.gz
    $ tar -xvzf dropbear-0.52.tar.gz
    $ cd dropbear-0.52
    $ ./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux
    $ make ARCH=mipsel-linux CROSS_COMPILE=mipsel-linux- PROGRAMS="dropbear dropbearconvert dropbearkey scp ssh dbclient" MULTI=1 STATIC=1
    
    Ich ersetzte auf meinem Webspace die alte dropbearmulti Datei mit der neuen. Also ich habe keine Änderung am debug.cfg vorgenommen!

    Die Fritzbox startet. Nach einer Weile ist sie da, samt dropbear 0.52. Leider komme ich nicht mehr rein. Entweder mag er das Passwort nicht oder die Verbindung wird abgelehnt.

    Da ich wissen wollte ob dropbear 0.52 überhaupt läuft, habe ich mich parallel per Telnet eingeloggt und ein ps ausgeführt. Klar, dropbear 0.52 ist da wie gewohnt auf Port 22, "nur" dass er mich nicht reinlassen will.

    Die Frage ich nun, wer kann mich mal auf die richtige Spur bringen?
    Gibt es kein anderes Tool um Passwörter zu erstellen? Habe schon mit passwd aus der busybox 1.13.0 die z.Z. auf meiner FB läuft aber es klappt einfach nicht. :-(
     
  2. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    5,089
    Zustimmungen:
    49
    Punkte für Erfolge:
    48
    Hallo TriaxMan,

    auf deiner Box läuft ja noch die Firmware-Version 29.04.49.
    Die ist wohl vom 18.12.2007 und damit eigentlich recht alt.

    Vielleicht genügt es ja schon, auf die aktuelle Firmware upzudaten um dein Problem zu beseitigen. :noidea:

    Joe
     
  3. TriaxMan

    TriaxMan Neuer User

    Registriert seit:
    13 Nov. 2006
    Beiträge:
    119
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @Joe
    Sorry, hatte vergessen die Signatur zu ändern. Die ist FW ist 29.04.57.
     
  4. TriaxMan

    TriaxMan Neuer User

    Registriert seit:
    13 Nov. 2006
    Beiträge:
    119
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    So, langsam kommt da Licht rein.
    Passwörter mittels http://home.flash.net/cgi-bin/pw.pl zu erstellen ist echt Mist.
    Habe jetzt ein Passwort mit dem "passwd" von busybox erstellt, an der entsprechende Stelle in debug.cfg angepasst und siehe da, das lange Passwort wird in voller Länge akzeptiert! Yuppi!

    Nun versuche ich nochmal die Sache mit dem neuen Dropbear.
    Ich melde mich dann wieder.
     
  5. kai66

    kai66 Mitglied

    Registriert seit:
    17 Juli 2006
    Beiträge:
    571
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Systemanalytiker
    Ort:
    Wolfsburg
    Auch wenn's dir nicht mehr hilft.

    Man kann auch mittels the-construct sich ein Pseudo-Image für dropbear generieren lassen. Dabei wird auch ein Passwort abgefragt, welches dann in der Pseudo-Image-Datei verschlüssel abgelegt wird. Dieses kann man dann dort herauskopieren und anderwärtig verwenden.
     
  6. TriaxMan

    TriaxMan Neuer User

    Registriert seit:
    13 Nov. 2006
    Beiträge:
    119
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Kein Problem! Ist trotzdem gut zu wissen. Danke. :)
     
  7. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    5,089
    Zustimmungen:
    49
    Punkte für Erfolge:
    48
    Hallo TriaxMan,

    mich interressiert, wie du das Passwort mit passwd erzeugt hast, und vor allem wo du das dann zum Kopieren ausgelesen hast.

    Die busybox, die derzeit auf meiner Box läuft, gibt dazu folgenden Hilfetext aus:
    Code:
    ~ # busybox passwd --help
    BusyBox v1.9.0 (2008-01-16 01:35:36 CET) multi-call binary
    
    Usage: passwd [OPTION] [name]
    
    Change a user password. If no name is specified,
    changes the password for the current user.
    
    Options:
            -a      Define which algorithm shall be used for the password
                    (choices: des, md5)
            -d      Delete the password for the specified user account
            -l      Locks (disables) the specified user account
            -u      Unlocks (re-enables) the specified user account
    
    ~ #
    Welche Optionen hast du dazu angegeben? :noidea:

    Joe
     
  8. TriaxMan

    TriaxMan Neuer User

    Registriert seit:
    13 Nov. 2006
    Beiträge:
    119
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi

    Als root habe ich passwd eingegeben und folgendes bekommen:
    Changing password for root usw.
    Hier habe ich eben das lange Passwort eingegeben, bestätigt und schon war in meiner /etc/shadow bzw. /var/tmp/shadow das neue Passwort verschlüsslt vorzufinden.


    Meine auch, aber nur wenn man 'passwd -h' eingibt.

    Keine. Ich habe busybox 1.13.0, falls es dich interessiert kannst es haben.
     
  9. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    5,089
    Zustimmungen:
    49
    Punkte für Erfolge:
    48
    #9 Joe_57, 28 Nov. 2008
    Zuletzt bearbeitet: 28 Nov. 2008
    Hallo TriaxMan,

    vielen Dank für diese Erklärung! :dance:
    Das klappt bei mir nicht, weil ich die busybox über einen "mount -o bind ..." von einem USB-Stick nachlade.
    ...da würde ich mich über eine PM oder Mail mit Anhang schon freuen. :rolleyes:

    Joe
     
  10. TriaxMan

    TriaxMan Neuer User

    Registriert seit:
    13 Nov. 2006
    Beiträge:
    119
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    also mein usb stick wird von der fritzbox automatisch geladen.
    wenn ich mount eingebe sehe ich:
    die busybox lade ich so z.b. von meinem webspace:
    Code:
    mkdir /var/tmp/bin
    cd /var/tmp/bin
    wget http://meinwebspace/busybox
    wget http://meinwebspace/busybox.links
    chmod +x /var/tmp/bin/busybox
    
    # Symlinks Busybox Befehle erstellen
    LINKS="`/bin/cat /var/tmp/bin/busybox.links`"
    for f in ${LINKS}; do
      /bin/ln -s /var/tmp/bin/busybox /var/tmp/bin/$f
    done
    
    du kannst natürlich die busybox auch auf dem usb-stick lassen, solltest dann aber auch den pfad dahin setzen:
    Code:
    # USB Stick im PATH setzten!
    USBSTICK=$(df | grep /var/media/ftp/ | sed -e "s|^.*ftp/||g")
    echo "export PATH=/var/media/ftp/$USBSTICK/bin:$PATH" >> /var/tmp/.profile
    export PATH=/var/media/ftp/$USBSTICK/bin:$PATH
    

    klar, kein problem. mache ich gleich.
     
  11. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    5,089
    Zustimmungen:
    49
    Punkte für Erfolge:
    48
    WOW!
    Code:
    # Symlinks Busybox Befehle erstellen
    LINKS="`/bin/cat /var/tmp/bin/busybox.links`"
    for f in ${LINKS}; do
      /bin/ln -s /var/tmp/bin/busybox /var/tmp/bin/$f
    done
    Diesen Trick kannte ich noch nicht.
    Ich werde das mal am Wochenende ausprobieren. :D

    Joe
     
  12. TriaxMan

    TriaxMan Neuer User

    Registriert seit:
    13 Nov. 2006
    Beiträge:
    119
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    sowas muss man machen, du willst ja nicht ernsthaft zig busybox commandos per ln -s zeile für zeile ausführlich schreiben, oder?;)

    der trick mit dem USBSTICK=$(df | grep /var/media/ftp/ | sed -e "s|^.*ftp/||g") ist auch sehr hilfreich. es ermittelt den namen des eingesteckten sticks automatisch. damit kann der pfad zu den binaries auf diesem stick automatisch aufgebaut werden, egal wie der eingesteckte stick heisst.

    habe dir per pm meine email geschickt wegen der busybox.
     
  13. TriaxMan

    TriaxMan Neuer User

    Registriert seit:
    13 Nov. 2006
    Beiträge:
    119
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ich habe das problem gelöst. danke indirekt auch an Oli, denn ich bin auf einem seiner beiträge auf die idee gekommen. ;-)

    laut log datei kam immer das:
    "...password auth succeeded for 'root' from 192.168.0.1:12345..."
    "...exit after auth (root): chmod(/dev/pts/0, 0622) failed: Read-only file system..."

    die lösung:
    ich habe in der datei sshpty.c etwas kommentiert:
    http://www.ip-phone-forum.de/showpost.php?p=892089&postcount=4

    danach erneut kompiliert. endlich konnte ich mich einloggen. :D
     
  14. full2000

    full2000 Neuer User

    Registriert seit:
    8 Okt. 2008
    Beiträge:
    148
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ich habe immer noch ein Problem mit dem syslogd und dropbear 0.52.

    Mit dropbear0.48 konnte ich mittels syslogd alles wunderbar protokollieren. Jetzt mit der neuen Version 0.52 (danke nochmal an TriaxMan für die Unterstützung!!) klappt das leider nicht mehr. Der syslogd läuft zwar, bekommt aber vom dropbear keine Statusmeldungen mehr.

    Die Zeile in der config.h habe ich vor dem Kompilieren schon wieder reingenommen:

    #undef DISABLE_SYSLOG

    Klappt aber trotzdem nicht. Switche ich auf 0.48 zurück, klappts wieder...
     
  15. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Kleine Anmerkung noch:
    Ich finde es seltsam, daß Du ein 16-stelliges Paßwort verwendest, aber gleichzeitig den Host-Key bei jedem Neustart der Box frisch erzeugst.

    Ein 8-stelliges Paßwort durch zu raten würde schon sehr lange dauern, und nach Berichten hier würde beim Versuch sowieso die Box wegen Überlastung neu starten.
    Bei der Standard crypt()-Funktion zum Verschlüsseln der Paßwörter werden übrigens nur die ersten 8 Stellen genutzt, das ist normal. Neuer Versionen berücksichtigen das vollständige Paßwort.

    Wenn andererseits der Host-Key jedesmal neu erzeugt wird, wie willst Du dann prüfen, ob es auch der richtige ist?
     
  16. TriaxMan

    TriaxMan Neuer User

    Registriert seit:
    13 Nov. 2006
    Beiträge:
    119
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ich bin damals als ich zum ersten mal die debug.cfg angepasst habe, genau nach der anleitung von techchannel.de vorgegangen, also mit rsa key und passwort. ich könnte auch das keyfile benutzen und die passwortabfrage ausschalten aber ich habe das keyfile nicht überall mit mir.

    stimmt, dennoch sicher ist sicher. mir ist es mittlerweile gelungen das problem zu lösen. siehe oben mein beitrag #4.
     
  17. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich meine nicht Anmeldung über Public Key, sondern daß der Host-Key sich bei jedem Neustart ändert und Du daher gar nicht wissen kannst, ob Du mit dem richtigen Host verbunden bist.
     
  18. TriaxMan

    TriaxMan Neuer User

    Registriert seit:
    13 Nov. 2006
    Beiträge:
    119
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ja, da hast du wohl Recht. Das stört mich aber nicht weiter, da ich mir schon sicher bin dass ich auf meiner Fritzbox lande. ;-) Den Host-Key mit 2048 bit Verschlüsselung nutze ich hauptsächlich um den Datenverkehr vor Lauschangriffe zu schützen.
     
  19. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    5,089
    Zustimmungen:
    49
    Punkte für Erfolge:
    48
    Hallo TriaxMan,

    ich habe deinen Vorschlag mal ausprobiert:
    Code:
    USBSTICK=$(df | grep /var/media/ftp/ | sed -e "s|^.*ftp/||g")
    Leider klappt das nicht mehr auf der 7170 mit der .67er Firmware, da dort das df-Kommando fehlt. :mad:

    Ich habe deine Anregung nun so umgebaut, dass auf den mount-Befehl zurückgegriffen wird:
    Code:
    USBSTICK=$(mount | grep /var/media/ftp/ | sed -e "s|^.*ftp/||g" -e "s/ .*$//")
    Damit funktioniert die Identifikaton eines angeschlossenen USB-Sticks einwandfrei. :dance:

    Joe
     
  20. TriaxMan

    TriaxMan Neuer User

    Registriert seit:
    13 Nov. 2006
    Beiträge:
    119
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi

    kann es sein dass du in deinem busybox kein df mehr hast??

    auch gut! :)