Rätsel um dropbear 0.52

TriaxMan

Neuer User
Mitglied seit
13 Nov 2006
Beiträge
119
Punkte für Reaktionen
0
Punkte
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. :-(
 

Joe_57

IPPF-Promi
Mitglied seit
5 Mrz 2006
Beiträge
5,759
Punkte für Reaktionen
124
Punkte
63
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
 

TriaxMan

Neuer User
Mitglied seit
13 Nov 2006
Beiträge
119
Punkte für Reaktionen
0
Punkte
0
@Joe
Sorry, hatte vergessen die Signatur zu ändern. Die ist FW ist 29.04.57.
 

TriaxMan

Neuer User
Mitglied seit
13 Nov 2006
Beiträge
119
Punkte für Reaktionen
0
Punkte
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.
 

kai66

Mitglied
Mitglied seit
17 Jul 2006
Beiträge
569
Punkte für Reaktionen
0
Punkte
0
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.
 

Joe_57

IPPF-Promi
Mitglied seit
5 Mrz 2006
Beiträge
5,759
Punkte für Reaktionen
124
Punkte
63
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
 

TriaxMan

Neuer User
Mitglied seit
13 Nov 2006
Beiträge
119
Punkte für Reaktionen
0
Punkte
0
hi

mich interressiert, wie du das Passwort mit passwd erzeugt hast, und vor allem wo du das dann zum Kopieren ausgelesen hast.
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.


Die busybox, die derzeit auf meiner Box läuft, gibt dazu folgenden Hilfetext aus:
Meine auch, aber nur wenn man 'passwd -h' eingibt.

Welche Optionen hast du dazu angegeben? :noidea:
Keine. Ich habe busybox 1.13.0, falls es dich interessiert kannst es haben.
 

Joe_57

IPPF-Promi
Mitglied seit
5 Mrz 2006
Beiträge
5,759
Punkte für Reaktionen
124
Punkte
63
Hallo TriaxMan,

vielen Dank für diese Erklärung! :dance:
Meine auch, aber nur wenn man 'passwd -h' eingibt.
Das klappt bei mir nicht, weil ich die busybox über einen "mount -o bind ..." von einem USB-Stick nachlade.
...Ich habe busybox 1.13.0
...da würde ich mich über eine PM oder Mail mit Anhang schon freuen. :rolleyes:

Joe
 
Zuletzt bearbeitet:

TriaxMan

Neuer User
Mitglied seit
13 Nov 2006
Beiträge
119
Punkte für Reaktionen
0
Punkte
0
Das klappt bei mir nicht, weil ich die busybox über einen "mount -o bind ..." von einem USB-Stick nachlade....
also mein usb stick wird von der fritzbox automatisch geladen.
wenn ich mount eingebe sehe ich:
/dev/sda on /var/media/ftp/USBMassStorageDevice-Partition-0-0 type vfat (rw,nodiratime,fmask=0000,dmask=0000,codepage=cp437,iocharset=iso8859-1)
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

da würde ich mich über eine PM oder Mail mit Anhang schon freuen. :rolleyes:
klar, kein problem. mache ich gleich.
 

Joe_57

IPPF-Promi
Mitglied seit
5 Mrz 2006
Beiträge
5,759
Punkte für Reaktionen
124
Punkte
63
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
 

TriaxMan

Neuer User
Mitglied seit
13 Nov 2006
Beiträge
119
Punkte für Reaktionen
0
Punkte
0
Diesen Trick kannte ich noch nicht.
Ich werde das mal am Wochenende ausprobieren. :D
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.
 

TriaxMan

Neuer User
Mitglied seit
13 Nov 2006
Beiträge
119
Punkte für Reaktionen
0
Punkte
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
 

full2000

Neuer User
Mitglied seit
8 Okt 2008
Beiträge
148
Punkte für Reaktionen
0
Punkte
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...
 

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
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?
 

TriaxMan

Neuer User
Mitglied seit
13 Nov 2006
Beiträge
119
Punkte für Reaktionen
0
Punkte
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.
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.

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.
stimmt, dennoch sicher ist sicher. mir ist es mittlerweile gelungen das problem zu lösen. siehe oben mein beitrag #4.
 

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
0
ich könnte auch das keyfile benutzen und die passwortabfrage ausschalten aber ich habe das keyfile nicht überall mit mir.
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.
 

TriaxMan

Neuer User
Mitglied seit
13 Nov 2006
Beiträge
119
Punkte für Reaktionen
0
Punkte
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.
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.
 

Joe_57

IPPF-Promi
Mitglied seit
5 Mrz 2006
Beiträge
5,759
Punkte für Reaktionen
124
Punkte
63
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
 

TriaxMan

Neuer User
Mitglied seit
13 Nov 2006
Beiträge
119
Punkte für Reaktionen
0
Punkte
0
hi

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:
kann es sein dass du in deinem busybox kein df mehr hast??

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.
auch gut! :)