telnetd auf Fritzbox ohne Image zu verändern geht.

haveaniceday

Aktives Mitglied
Mitglied seit
14 Okt 2004
Beiträge
1,305
Punkte für Reaktionen
0
Punkte
36
(Anmerkung vom Moderator: Den aktuellen Stand findet ihr hier: http://www.ip-phone-forum.de/forum/viewtopic.php?t=10482)

Hallo Ihr,

mit der u.a. Anleitung kommt ihr auf die Fritzbox ohne ein neues Image zu flashen.
Die DSL-Verbindung wird dabei kurz unterbrochen !
Wie alles immer auf eigene Gefahr.

- Vorbereiten "hackme" z.B. auf einem Linuxrechner:

mkdir var
echo '#! /bin/sh' > var/install
echo 'echo "hackme::0:0:haveaniceday:/:/bin/sh" >> /etc/passwd' >> var/install
echo '/usr/sbin/telnetd &' >> var/install
echo 'exit 0' >> var/install
touch var/install_env
chmod -R 755 var
tar cf haveaniceimage var

- ladet jetzt die erzeugt Datei haveaniceimage als "Anlagenupdate"

=> DSL wird unterbrochen
=> http://192.168.178.1 ist "tot"

- login per telnet:
telnet 192.168.178.1
=> User hackme
...
=> wenn "#" erscheint seid ihr drin.

- Wiederbelebung der Funktionen ( Unsaubere Version. Sachen werden doppelt gestartet)
- Fritzbox löscht dabei den "hackme"-User => muss wieder angelegt werden.
- Auf der Fritzbox:
/etc/init.d/rc.S
echo "hackme::0:0:haveaniceday:/:/bin/sh" >> /etc/passwd


Jetzt sind die Verbindungen wieder da und Ihr habt einen Zugriff über telnet.
Viel Spaß,

Haveaniceday.

PS: Verbesserungsvorschläge willkommen. Hier ein Attachment reinzubekommen
ist schwieriger als auf die Fritzbox zu kommen...
:)
 
Wie krieg ich hier ein Attachment rein ? Kriege immer: Die Erweiterung array ist hier verboten

:wiejetzt:
 
Versuchs mal mit Zippen...

Vielleicht geht das ;-)

Gruß
Martin
 
Image als .tar ( Edit: Ist sichtbar, wenn du angemeldet bist )

Das File kann direkt auf die Fritzbox gelanden werden.

Blöde Beschränkung das Files eine bestimme Endung haben müssen.
Nicht Fritzboxfreundlich ;-)

Haveaniceday.
 

Anhänge

  • haveaniceimage.tar
    10 KB · Aufrufe: 505
@haveaniceday

Beeindruckend!
Funktioniert alles wie beschrieben (HW:Fritzbox Fon, SW: 128).
Schauen wir uns also mal ein wenig um...

Gruss
 
Bei mir ist es "1und1" FRITZ!Box Fon WLAN (UI), Firmware-Version 08.01.18,
Die Überprüfung auf Versionen findet in den Shellskripts statt.
Also "perfekt" um mit eigenen Skripts auf die Box zu kommen.
( Nur Telefongespräche werden beim Start unterbrochen. Gibt immer hässliche
Schimpfe beim Start )

Muss mich mal unter den Webscripten umschauen. Vielleicht kann man alles auch starten
ohne etwas zu unterbrechen.

Haveaniceday
 
@ haveaniceday:

Wie lautet die Dateiendung genau?

Ich kann es gerne einrichten, dass sie direkt hochladbar ist. :)
 
Hallo Christoph,

Ich habe die Datei haveaniceimage unter dem Namen haveaniceimage.tar hochgeladen.
Diese Datei kann auch mit dieser Kennung direkt als "Anlagenupdate" hochgeladen
werden.
Für diesen "Einzelfall" macht es keinen Sinn etwas einzurichten.
Evtl. könntest du aber die Endung ".image" freigeben. Diese Endung wird von AVM
für die Firmware genutzt.

Viele Grüße,

Haveaniceday

PS: Komme aus einer heilen UNIX Welt . Dateiendungen sind dort nur Schall und Rauch.
Ich kenne aber auch die harte andere Welt .. ;-)
 
PS: Komme aus einer heilen UNIX Welt . Dateiendungen sind dort nur Schall und Rauch.
Ich kenne aber auch die harte andere Welt ..

Derartige Auslassungen fundamental-religiöser Art sind m.W. nach in diesem Forum verpönt ;)

Grüsse
 
Schuldigung.. nehme das Wort "heile" und "harte" zurück. Hoffe das reicht.
:oops:
 
Update für Firmware .3.22

Hallo Ihr,

die neue Firmware hat User und Passwort nicht mehr im Filesystemimage.
( Hängt als verstecktes squashfs am Ende des Kernel )

telnet.tar ermöglicht einen permanenten Zugriff über telnetd.
Das File einfach einmalig als "Update" laden. Die Box rebootet anschliessend direkt.
=> Telnet als root geht ohne Passwort

Euer eigenes debug.cfg bleibt am Anfang erhalten.

Frohes Fest !

Haveaniceday

PS: Achtung, getestet nur mit .3.22

# Bin ich schon drin ?
grep -q "root:x:0:0:root:/:/bin/sh" /var/tmp/debug.cfg
if [ $? -eq 0 ]
then
echo Bin schon in /var/flash/debug.cfg
else
cat <<\EOP >> /var/tmp/debug.cfg
grep -q "root:x:0:0:root:/:/bin/sh" /var/tmp/passwd
if [ $? -eq 0 ]
then
echo "root::0:0:root:/:/bin/sh" > /var/tmp/passwd
fi
/usr/sbin/telnetd &
EOP
# Test auf Syntaxfehler
sh -n /var/tmp/debug.cfg
if [ $? -eq 0 ]
then
# kein Syntaxfehler, überschreiben...
cat /var/tmp/debug.cfg > /var/flash/debug.cfg
fi
/sbin/reboot
fi
 

Anhänge

  • telnet.tar
    10 KB · Aufrufe: 654
hallo,
habe jetzt wie im Beitrag oben drüber beschrieben den telnetd gestartet, aber wie kann ich das Telnet-Passwort ändern? Es ist ja im Moment keines gesetzt, und passwd kennt die shell nicht :(.
Hat das irgendwas mit der rc.user zu tun?
Grüße,
Stephan
 
Hallo Feldprediger,

AVM hat nicht vorgesehen ein Passwort zu setzen => kein passwd
Evtl. kannst du bei dem Original Image das Passwort über das Ersetzen von:
echo "root::0:0:root:/:/bin/sh" > /var/tmp/passwd
durch
echo "root:<encryptedstring>:0:0:root:/:/bin/sh" > /var/tmp/passwd

machen. Dabei müsstest du den "encrypted string" von einem anderen
UNIX holen. Evtl. müsste es statt dessen auch in /var/tmp/shadow geändert werden.
Habe ich aber noch nicht probiert, da ich die Modifiation unten nutze.

Dieser Thread ist für Leute, die nur mal kurz auf die Box wollen ohne die Firmware zu modifizieren.

Das Rücksetzen geht über
  • Anmelden über telnet
  • echo > /var/flash/debug.cfg
  • /sbin/reboot
Im Thread 6666 "Stichwort mod-Image" ist z.B. ein Setzen des Passwortes enhalten. ( Allerdings wird dort busybox und uClibc ersetzt )


Haveaniceday
 
Hallo,
habe wie im Beitrag vom 24.12. beschrieben telnet.tar hochgeladen und anschließend mit cat kontrolliert - sieht merkwürdig aus:
# cat /var/flash/debug.cfg
grep -q "root:x:0:0:root:/:/bin/sh" /var/tmp/passwd
if [ $? -eq 0 ]
then
echo "root::0:0:root:/:/bin/sh" > /var/tmp/passwd
fi
/usr/sbin/telnetd &

Ich habe die Befürchtung, das ich mir einiges zerschossen habe. Wäre dankbar, wenn mir einer zu einer korrekten debug.cfg verhelfen würde.

jupiter4h
 
Hallo jupiter4h,

das ganze ist OK !

Funktion:
grep -q "root:x:0:0:root:/:/bin/sh" /var/tmp/passwd
=> Suche ob "x" als Passwort eingetragen ist. ( x => gibt kein gültiges Passwort )

if [ $? -eq 0 ]
=> wenn gefunden

then
echo "root::0:0:root:/:/bin/sh" > /var/tmp/passwd
=> Überschreibe mit einem "leeren" Passwort ( Passwort gehört zwischen die Zeichenkette "::" )

fi

/usr/sbin/telnetd &
=> starte den Telnet

Viele Grüße,

haveaniceday
 
Hallo haveaniceday,

super schnelle Antwort - danke. Funktiert auch prima.

Holger
 
haveaniceday schrieb:
echo "root::0:0:root:/:/bin/sh" > /var/tmp/passwd

funktionierte gut. kannst du mir erklären warum das nötig ist? welches login und paßwort muß ich benutzen wenn ich das weglasse (habs probiert und komme nicht mehr rein). für die weboberfläche habe ich zur zeit kein paßwort eingestellt - ändert es was wenn ich da eins einstelle?

zweitens: was bedeutet das & hinter dem telnetd?

vielen dank!
 
Hi.
Das Web-Passwort hat im Moment nicht's damit zu tun.
Normalerweise sieht die Zeile in passwd so aus:
"root:x:0:0:root:/:/bin/sh" -> Password disabled

Wenn du unter Linux ein Prozess mit & aufrufst wird er im Hintergrund gestartet.

MfG Oliver
 
olistudent schrieb:
Normalerweise sieht die Zeile in passwd so aus:
"root:x:0:0:root:/:/bin/sh" -> Password disabled
ja, das hatte ich schonmal irgendwo gesehen. bedeutet das, ich komme garnicht mehr rein und muß mir jetzt mit mit einem firmware-update-script behelfen?

olistudent schrieb:
Wenn du unter Linux ein Prozess mit & aufrufst wird er im Hintergrund gestartet.
ahso, das dachte ich mir schon. bei welchen muß ich das denn angeben und bei welchen nicht?

telnetd, also offenbar ja? funktionierte aber auch prima ohne.
syslogd?
telefon?
voipd?

achja, wo wir schonmal dabei sind, wie starte ich einen ftp server auf der box?
 
Ohne Firmware-Updatescript kommst du nicht mehr rein!

Bei daemons muss man das normalerweise nicht angeben.
Aber wenn ich ein normales Programm von der Konsole starte, ist die Konsole solange beschäftigt bis ich das Programm schließe.
Zum Thema ftp-Server musst du mal in den Thread 666 von haveaniceday schauen. Der hat auch schon die Konfiguration gepostet.
Ich kann dir aber auch ein binary schicken, falls es dich interessiert...

MfG Oliver
 
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.