dropbear und etherwake über debug.cfg

supamicha

Mitglied
Mitglied seit
3 Dez 2004
Beiträge
603
Punkte für Reaktionen
10
Punkte
18
hallo,
ich versuche dropbear und etherwake über die debug.cfg von extern zu laden und zu starten.
das laden mit wget geht, die daten nach einem neustart auf /var/tmp. die rechte habe ich mit
chmod 777 geändert. leider klappt der start nicht. keine reaktion nach startversuch.
wer kann hier weiterhelfen ?

micha
 
Kannst du die Binaries direkt starten?
Vielleicht stimmt was mit den libs nicht.

MfG Oliver
 

Anhänge

  • dropbear.zip
    128.1 KB · Aufrufe: 37
ich habe dein dropbear getestet. selbes problem. auf /var/tmp/dropbear
oder /var/tmp/dropbear -? kommt keinerlei ausgabe, ebenso bei etherwake.
dir dateien habe ich aus dem letzten mod entnommen. leider sind meine
linuxkenntnisse sehr beschränkt.

micha
 

Anhänge

  • pack.zip
    174.1 KB · Aufrufe: 21
Du hast das Binary auf der Box? (meins)
Mit chmod +x ausführbar gemacht?
Und mit dropbear -? aufgerufen?
Code:
/usr/sbin # ./dropbear -?
Unknown argument -?
Dropbear sshd v0.45
Usage: ./dropbear [options]
Options are:
-b bannerfile   Display the contents of bannerfile before user login
                (default: none)
-d dsskeyfile   Use dsskeyfile for the dss host key
                (default: /etc/dropbear/dropbear_dss_host_key)
-r rsakeyfile   Use rsakeyfile for the rsa host key
                (default: /etc/dropbear/dropbear_rsa_host_key)
-F              Don't fork into background
-E              Log to stderr rather than syslog
-w              Disallow root logins
-s              Disable password logins
-g              Disable password logins for root
-j              Disable local port forwarding
-p port Listen on specified tcp port, up to 10 can be specified
                (default 22 if none specified)
-i              Start for inetd
/usr/sbin #
Und es kommt keine Ausgabe?
Dann habe ich keine Ahnung, wo das Problem liegt.
Schau mal unter lib nach, der dropbear brauch folgende Files:
Code:
/usr/sbin # ldd dropbear
        libcrypt.so.0 => /lib/libcrypt.so.0 (0x00000000)
        libc.so.0 => /lib/libc.so.0 (0x00000000)
        /lib/ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x00000000)
/usr/sbin #
MfG Oliver
 
ich habe dein dropbear binary auf der box, mit chmod 777 ausführbar
gemacht, mit chmod +x gehts auch nicht

lld geht auf meiner box nicht, habe sw14.03.66 ohne mod drauf

pfad ist /var/tmp, folgende dateien sind drin:
/var/tmp/cm_logic.ctl
/var/tmp/libcrypt-0.9.26.so
/var/tmp/csem/
/var/tmp/libutil-0.9.26.so
/var/tmp/dropbear
/var/tmp/libz.so.1.2.1
/var/tmp/etherwake
/var/tmp/passwd
/var/tmp/group
/var/tmp/resolv.conf
/var/tmp/hosts
/var/tmp/shadow
/var/tmp/igddesc.xml
/var/tmp/to_wpa_hidden_sock
/var/tmp/ld-uClibc-0.9.26.so
/var/tmp/wpa_debug_sock

muß ich die libs irgendwie einbinden ?

ausgabe bei dropbear:
# cd /var/tmp
# ./dropbear
#

das wars, bei etherwake ists das selbe

micha
 
ist egal, ob mit oder ohne -? oder -h kommt keine ausgabe

weitere telnet Verbindung aufgebaut
# cd /var/tmp
# ./dropbear -h
# ./dropbear -?
# ./dropbear
#

micha
 
Hi.
Ich hab keine Ahnung warum das net geht.
Der dropbear aus deinem Anhang läuft auf meiner Box.
Probier mal mit "syslogd -L -O /var/tmp/log" zu loggen.
Steht da nach den Startversuchen was drin?

MfG Oliver
 
im syslog stehen nur einträge vom voipd, sonst nichts.
könnte es an meiner debug.cfg liegen ?

/usr/sbin/telnetd -l /sbin/ar7login
cd /var/tmp
wget http://xxx.de/fritzbox/dropbear
wget http://xxx.de/fritzbox/etherwake
wget http://xxx.de/fritzbox/libcrypt-0.9.26.so
wget http://xxx.de/fritzbox/libutil-0.9.26.so
wget http://xxx.de/fritzbox/libz.so.1.2.1
wget http://xxx.de/fritzbox/ld-uClibc-0.9.26.so
chmod +x /var/tmp/dropbear
chmod +x /var/tmp/etherwake
chmod +x /var/tmp/libcrypt-0.9.26.so
chmod +x /var/tmp/libutil-0.9.26.so
chmod +x /var/tmp/libz.so.1.2.1
chmod +x /var/tmp/ld-uClibc-0.9.26.so
export LD_LIBRARY_PATH
LD_LIBRARY_PATH=/var/tmp

chmod +x habe ich erst nach deinem beitrag geändert. vorher habe ich
chmod 777 drin gehabt, auch mit dem selben ergebnis. ob der export drin
steht oder nicht, ist auch egal.

micha
 
Mach mal alle Zeilen bis auf den telnetd weg.
Dann manuell das wget und chmod +x und ausführen
mit "./dropbear -h".
Deine Probleme kommen mir aber sehr komisch vor. Selbst wenn der dropbear abstürtzt müsste eine Meldung im syslog kommen.
Beispiel wenn der dropbear schon läuft:
Code:
Jun 29 15:07:29 fritz authpriv.info dropbear[4570]: Running in background
Jun 29 15:07:29 fritz authpriv.warn dropbear[4570]: Failed listening on '22': Er
ror listening: Address already in use
~ #

MfG Oliver
 
wenn ich dropbear von hand mit wget lade und chmod 777 mache, bekomme
ich auf ./dropbear -h eine hilfeausgabe. bei chmod +x kommt zugriff verweigert.
etherwake geht so auch. sobald ich es in der debug.cfg drin habe geht nix mehr.
hast du eine idee, wie ich das umgehen und die 2 programme von extern auto-
matisch laden kann ?
es sieht so aus, als ob wget eine leere datei erzeugt, evtl weil die dsl-verbindung
zu diesem zeitpunkt noch nicht aktiv ist

micha
 
Hi,
ich habe auch dein dropbear drauf. Manuell kann ich es auch starten und bekomme die oben beschriebenen Ausgaben, aber anschließend läuft es nicht mehr, d.h. kein Prozess wartet auf Port 22. In der debug.cfg ist TELNET=3. Irgendeine Idee?
Grüße
Frank
 
Seltsamerweise bekomme ich bei `./dropbear -h` die normale Hilfestellung. Jedoch `./dropbear -F` gibt mir sofort meinen prompt zurück und nichts passiert. Nicht einmal ein output in der Console...

Und dass ich mit ssh nicht auf die Box komme brauche ich wohl nicht extra zu erwähnen ;-)

Oh ja: Ich nutze die 14.03.68 auf einer 7050.

Schönen Gruß!

HSS
 
Hi.
Wie wäre es denn mit dieser Option?
Code:
-E              Log to stderr rather than syslog

MfG Oliver
 
Hi,
also inzwischen läuft das ganze bei mir. Irgenwas hat dazu geführt, dass leere Keys in die debug.cfg eingetragen wurden - und mit leeren Keys hat dropbear keinen Spass. Guckt also mal nach, ob die debug.cfg leere (0 Byte große) Key files erzeugt (in /var/tmp/dropbear*). Falls das so ist, geht mal per telnet auf die Box, löscht die debug.cfg und lasst sie über den Aufruf von /usr/bin/modstart.init neu erzeugen. Danach das Standard-Passwort in der debug.cfg ändern und dropbear einschalten. Es sollte sich starten lassen.
Wenn ihr herausfindet, woran es ursprünglich liegt ((Berechtigungen ???), so lasst es uns mal wissen...
Grüße
Frank
 
nach ein paar nachfragen ich habs jetzt doch fertiggestellt.
dropbear und etherwake geht ohne firmware mod.

Code:
# temporaeres verzeichnis
cd /var/tmp

# logindaten erzeugen telnet
echo "root:********:0:0:root:/:/bin/sh" > ./passwd
cp ./passwd ./shadow

# telnet starten
/usr/sbin/telnetd  &

# warten bis dsl verbunden
!/bin/sh
  while !(ping -c 1 [url]www.********.de);[/url] do
    sleep 5
  done

# nachladen der notwendigen daten
wget http://www.********.de/dropbear
wget http://www.********.de/dropbear_dss_host_key
wget http://www.********.de/dropbear_rsa_host_key
wget http://www.********.de/etherwake
wget http://www.********.de/libgcc_s.so.1

# abkuerzung fuer etherwake erzeugen
echo "export LD_LIBRARY_PATH" >> ./startpc
echo "LD_LIBRARY_PATH=/var/tmp" >> ./startpc
echo "/var/tmp/etherwake -i eth1 **:**:**:**:**:**" >> ./startpc

# dateien ausfuehrbar setzen
chmod +x ./dropbear
chmod +x ./etherwake
chmod +x ./libgcc_s.so.1
chmod +x ./startpc

# dropbear starten
./dropbear -p 22 -d /var/tmp/dropbear_dss_host_key -r /var/tmp/dropbear_dss_host_key

alle * sind durch sinnvolle einträge zu ersetzen. keys für dropbear müssen selbst er-
zeugt und ausgelesen werden. evtl ist port in startpc noch anzupassen.

viel spass damit
micha
 

Anhänge

  • dropbear_ohne_mod.zip
    151 KB · Aufrufe: 20
hätt ichs doch mal gestern gepostet dann wär ich erster ;-)

Hallo,
auch ich habe dieses Problem ( SSH ohne Firmware änderung) bearbeitet.
Meine Lösung ist vom Prinzip her gleich allerdings ein bischen Komfortabler.

Wenn Interesse an einer Anleitung besteht kann ich gerne eine Ausführliche erstellen!

Hier meine Variante der config.cfg wie immer OHNE Garantie

Code:
# Starten des Telnet Daemons
/usr/sbin/telnetd -l /sbin/ar7login

# Konfiguration
# Server Adresse angeben
serverurl="deinserver.de"
# Lokales Verzeichnis (muss beschreibbar sein)
localdir="/var/tmp"

# Warten bis FritzBox den Server erreichen kann
while !(ping -c 1 $serverurl); do
        sleep 5
done

# In das Lokale Verzeichnis wechseln
cd $localdir

# Anlegen eines vereinfachenden WOL Scripts
echo "$localdir/etherwake -i eth0 01:23:45:67:89:AB" > ./startpc

# Nachladen von Dateien
wget http://$serverurl/dropbear
wget http://$serverurl/uudecode
wget http://$serverurl/etherwake
wget http://$serverurl/libgcc_s.so.1

# Anpassen der Dateirechte
chmod +x ./dropbear
chmod +x ./uudecode
chmod +x ./etherwake
chmod +x ./libgcc_s.so.1
chmod +x ./startpc

$localdir/uudecode -o $localdir/dropbear_rsa_host_key <<\EOP
begin 600 $localdir/dropbear_rsa_host_key
M````!W-S:"UR<V$````#`0`!````@P">QN0NFWP@?VTC'8GL\C8&G11:L9<M
MQA<-_IIT1EP!8^IU&=$BJL>UNP\5?3KZB5K7M;;"/;EFT138#:F?/UHL2I0F
M'PGSN0DE_]%AOKG,N190XRO+TM)%(VIJEY3Y0M+Q.;&,`_<_,U9EOFW.GREP
M=OY$5FA`88/^D>-[XEWJ-_:/````@B+<W0%VUGQT/DQUD?%;!8W2,\/N-IFP
M8R.)@?2!]G6_L)UAN\_VV[\%@;Q@,/$-\\IE=>F4C_\);:`Z[\&ML6D#YHM]
M(B^API5I6]H^:.:JN;5W7-$F90="^%)HS+X>E"+G^39WAKE_50WA!.%8`*LS
MK;@"2UY(;IW3U[%X2JCIOA$```!"`,-_EZ%MD#HC5)OFX!`A.':DC>JGD-F#
M).A.*0=E@XN=1G_V0RP,YVE4:-:D:(('Y8!;%&2]/.:?X#'8P=6BU!&[````
M0@#/Z@?)I0(J)6Z%ICS)K$JV@R7)#)-$^A&6,'JJ6&`T'ZX\K9U#<(:$55S,
6O@BE_]ET3U]\.=#.I-FHN`-1DA#G/0``
`
end
EOP
$localdir/uudecode -o $localdir/dropbear_dss_host_key <<\EOP
begin 600 $localdir/dropbear_dss_host_key
M````!W-S:"UD<W,```"!`-K9RIVP7+\N_GLU^N_/`*GG:8+I86MH60OU."4"
M#YS/R"EJ5"/NR6"IQXN,&3NH@,NOL]V&'.RJ3&QR-PI(%85*#Y+ZCK^='X`F
MX44AO9E)9K6I>PP`RS\I7KV/8#?^BV*N0=,7@@Z/W_Y(?51W%5+5IT\FDI^C
MY9^-?B)\S)E=````%0";NJAW(U.E,T>@"8T>VNF,(2-&L0```(`JGQ!QO2"E
M*S/668]56PQ/KM?^KC-(*E-L.EAJ7/W1M50^BHSY[)-,WF&B)$0<6B_VVTIA
M5.Z'"[;O]_RD;_N%Q\_GZ2N9>(#36&^X.#"V4@!G]!NIJ;:(KE%"S6TB2_;[
ME+!#Q2%3AOQ.^8C<%5:!8R73?7'^_O3ZL!'R0?3KW@```(!L'BX?@Q*UV<.N
MST&:1Q*)+3M?A<=;RQ6I?$)3?W),]IZ)\`EFB',`>Q^-9\9$1/UYR4@*%9VO
MNJ'O'N@_B-\-.:/:6VN>R@*M2W5`T#'HCNUD^0K_XU&9RWZ48SOEFI)$SUA7
MW9J2X^BF]#=3RJBY%VP.,H,+9<;M-#&\]SBZ1@```!4`Y/$*;*CE9>!CNEVB
(L<TH-!^D^)8`
`
end
EOP

# Aendern des Root Passwortes
cp -p /var/tmp/shadow /var/tmp/shadow.old
PASSWD='36d6NYYMch85U'
sed -e "/root:/s#^root:[^:]*:#root:$PASSWD:#" /var/tmp/shadow.old > /var/tmp/shadow

# Dropbear starten
$localdir/dropbear -r $localdir/dropbear_rsa_host_key -d $localdir/dropbear_dss_host_key

# Nicht mehr benoetigte Dateien wieder loeschen
rm $localdir/uudecode

Das Passwort für den SSH lautet "fritzbox" sollte natürlich dann geändert werden!




Wie kann man denn die SSH Keys erstellen? Ich habs mit Puttygen probiert das hat allerdings nicht geklappt!


mfg supafly2k
 

Anhänge

  • uudecode.zip
    247.1 KB · Aufrufe: 17
dein uudecode.zip ist die komplette busybox vom mod-file. aber sonst ist deine lösung ist auch
nicht schlecht. nächstes ziel ist, die daten gepackt von server zu laden und auf der box zu entpacken.
die keys auf der box zu erzeugen habe ich auch noch nicht geschafft. muß mal im script von
haveaniceday wühlen, wie er das gelöst hat.

micha
 
Hi.
Die Keys werden mit dropbearkey erzeugt, dazu wird ein Symlink auf dropbear angelegt...
Warum muss die libgcc_s.so geholt werden? Meine Binaries sollten die eigentlich nicht brauchen!

MfG Oliver
 
Hi das mit dropbearkey werd ich gleich mal testen.

Die lib habe ich reingenommen weil ich etherwake nicht getestet habe und dachte das wäre dafür notwendig.
Alles andere habe ich getestet und das läuft ohne die lib.

mfg supafly2k
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,172
Beiträge
2,247,422
Mitglieder
373,715
Neuestes Mitglied
wesleymoons87
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.