-------............

Status
Für weitere Antworten geschlossen.
earthcrosser schrieb:
Bisher habe ich allerdings noch nicht die passend gepatchten Tools zum Erzeugen und Dekomprimieren des Dateisystems gefunden.
Nice catch. Seh ich das richtig, dass die Tools dafuer in dem minidist-Unterverzeichnis sein sollten, aber dort fehlen?

WHAT IS MINIDIST:

It is as a minimal software- and tools distribution which can serve as
a testbed for open source development with the Siemens gateway.

It contains all required host tools as well as basic target functionality
to generate a Siemens gateway software update image to be
loaded onto the gateway by regular software update procedure.

------

Ich hatte auch noch nen anderen Pfad eruiert: Man kann das Firmware-Update ja auch von der Kommandozeile aus ueber /usr/sbin/upgrade starten.

Dokumentiert in der Datei /configs/etc/write_log der alten Firmware:
/usr/sbin/upgrade /ramdisk/upgrade/pgm/tmp/rootfs.img rootfs 0 1

Das funktioniert auch, zumindest den rootfs.img Teil hab ich ausprobiert. Nach einem reboot kommt dann die neue Firmware.

Frage an die Experten: hat man nach Ausfuehren des Updates, aber vor reboot Zugriff auf das neue rootfs? Ich konnte den Ort, wohin das geschrieben wird, bisher nicht finden. Sonst koennte man ja vor dem reboot die noetigen Anpassungen vornehmen...
 
Zuletzt bearbeitet:
Ja, das minidist-Verzeichnis ist leer, bis auf ein runtime.img. In beiden Versionen, die man runterladen kann. Auf http://www.linux-mips.org/wiki/AMAZON stehen noch ein paar andere Amazon-basierte Router, zu denen hab ich aber auf Anhieb keinen Quellcode gefunden.

Was die Sache mit /usr/sbin/upgrade betrifft: Vermutlich wird dort einfach das Image in den Flash-Speicher (irgendein /dev/...) kopiert, ohne gemountet zu werden, d.h. man kommt darüber nicht ran.

Was allerdings eventuell geht, ist das Image einfach so mit mount -t squashfs ... zu mounten. Entweder vom loop device (also -o loop), wenn sich die Image-Datei auf der Ramdisk oder auf dem gemountetem USB-Laufwerk befindet, oder man kopiert das Image vorher mit dd auf einen USB-Stick und mountet das USB-Gerät. In beiden Fällen müsste man wohl vorher die ersten 64 Bytes Header vom Image abschneiden, so dass die Datei mit 'sqlz' beginnt.

Ich kann es aber nicht probieren, auf meinen SMT-G3010 bekomme ich ja nicht die alte Firmware drauf. Ich hab mal einen USB-Stick mit dem Image (direkt mit dd kopiert) in den Router gesteckt in der Hoffnung dass er es automatisch richtig mountet, das ging aber nicht.

Änderungen am rootfs könnte man mittels mounten ohnehin nicht machen, da squashfs ein read-only-Dateisystem ist. Aber vielleicht könnte man ja eine versteckte Möglichkeit zum Einschalten von Telnet finden.
 
Okay, mounten funktioniert. Image-File direkt mounten mit -o loop geht nicht, weil der Kernel anscheinend keinen Loopdevice-Support hat. Aber 64 Bytes abschneiden, mit dd auf USB-Stick kopieren, und den dann mit

mount -t squashfs /dev/sda1 /mountdir

mounten. Ich hab's noch nicht naeher analysiert, aber telnetd und dropbear scheinen zumindest mal drin zu sein.

http://bitflip.de/test/rootfs-202.tar.gz
 
Ich habe noch entdeckt, dass die Einstellungssicherungsdateien, die man im Webinterface speichern kann, tgz-Dateien mit 256 Bytes großem Header am Anfang sind, den man abschneiden und später wieder anfügen kann. In dem Archiv ist das tgz-Archiv mit dem Inhalt des /configs-Verzeichnisses und eine Datei mit md5-Summe.

/configs/etc/rc.conf enthält scheinbar die gesamte im Webinterface einstellbare Konfiguration, und daneben noch ein paar Optionen die sich so anhören als könnte man damit telnet und ssh einschalten, aber wohl alleine nicht funktionieren. TELNET_LAN_ENABLE war bei mir sogar schon auf 1 gesetzt ohne dass es ging.

Laut /etc/rc.d/rc.bringup_services_start müsste man telnet durch eine Datei /configs/etc/telnet_enable einschalten können, was aber auch nicht funktioniert hat.

Der mysteriöse Port 8000 scheint wohl zu TR-069 zu gehören, in der rc.conf sieht man dass login/passwort "freenet_samsung"/"samsung_freenet" ist. Wenn man sich einloggt steht dort aber nur groß "AUTHORIZED" und sonst nichts.
 
Symlink von dem neuen FTP-Root-Directory /mnt/usb-storage auf /configs funktioniert leider auch nicht... ;)

Auch etwas seltsam ist der telnet-Eintrag in /etc/services mit Port 30023.
 
Zuletzt bearbeitet:
Ich kann es aber nicht probieren, auf meinen SMT-G3010 bekomme ich ja nicht die alte Firmware drauf. Ich hab mal einen USB-Stick mit dem Image (direkt mit dd kopiert) in den Router gesteckt in der Hoffnung dass er es automatisch richtig mountet, das ging aber nicht.

Ich hätte da für die Mutigen noch ne Idee zum ausprobieren:

Soweit ich das bisher sehen konnte kann es sein, das das defekte Firmwarefile der Version 1.02 für den SMT-3010 auf dem freenetserver nur unvollständig ist. Zumindest enthält es ein rootfs.img.

Wenn man nun also in das 2.02er Update das rootfs von dem 1.02 er tar file reinbastelt dann könnte es sein, das ein Downgrade doch möglich wird.

Zum zusammenbasteln:
rootfs.img aus dem tar der V1.02 nehmen, Prüfsumme berechnen (unter linux: sum) und in der versionInfo.status eintragen; neues tar schnüren und das Beste hoffen.

Sicherheitshalber könnte ja mal jemand (Hallo, xor16rox ;) ) das rootfs aus dem 1.02er tar-file mounten und mit dem der 2.02er Version vergleichen.

Disclaimer:
Im schlimmsten Fall kann es natürlich passieren, dass die Mischung zwar vom Router gefressen wird, aber nicht lauffähig ist und man hinterher mit einem Haufen Elektroschrott da sitzt. Nicht das hinterher jemand sagt, ich hätte nicht gewarnt.

P.S.: Hat schon mal jemand versucht von freenet oder Samsung die Sourcen einzufordern. Laut GPL müssten die die doch rausrücken...
 
hee leutz, hab den router mal über port 21 per telnet angesprochen, da antwortet er mit: 220 (Samsung Router FTP Server) aber ich kann keine weiteren eingaben machen, wie ls oder so was.

kann da jemand was mit anfangen?
 
Sicherheitshalber könnte ja mla jemand (Hallo, xor16rox ;) ) das rootfs aus dem 1.02er tar-file mounten und mit dem der 2.02er Version vergleichen.
Wenn ich das 1.02 rootfs des 3010 zu mounten versuche, krieg ich squashfs errors.

@softcell: Ja das ist der FTP-Server. Der ist nett, hilft uns aber nicht weiter, solange wir nicht aus seinem root-directory /mnt/usb-storage rauskommen.
 
Wenn man eine Datei /configs/etc/telnet_enable anlegt, gibt es tatsächlich einen Telnet Login an Port 30023! Dort hatte ich es vorhin nicht probiert.

Also:
* Im Webinterface Konfigurationsdatei speichern, von der .iad-Datei die ersten 256 Bytes abschneiden (und aufheben) und den Rest als tgz auspacken
* Die enthaltene db.tgz auspacken, eine Datei /configs/etc/telnet_enable anlegen (Inhalt egal) und db.tgz wieder einpacken
* md5sum db.tgz > db.info
* db.tgz und db.info wieder in ein tgz packen, die 256 Bytes vorne wieder anfügen und als Konfigurationsdatei laden

Dummerweise ist das root-Passwort nicht mehr admin. Zwar kann man in /configs/etc/passwd ein anderes Hash eintragen, das wird aber scheinbar immer wieder überschrieben.
 
Das Passwort-Ueberscheiben scheint aber nur am Anfang stattzufinden. D.h., wenn man eine gute passwd-Datei nach /configs packt, und dann ueber rc.conf ein Skript startet, das eine Weile schlaeft und dann ein cp /configs/passwd nach /configs/etc/passwd macht, scheint es keine Probleme zu geben...

Ok, damit pwnen wir die Kiste. Gute Arbeit, earthcrosser. ;)

ps -lA:
http://bitflip.de/test/proclist.txt

dmesg:
http://bitflip.de/test/dmesg.txt

uname -a / mount /df -h:
http://bitflip.de/test/uname.txt
 
Zuletzt bearbeitet:
Ok, damit hätten wir das Telnetproblem ja gelöst :D

Ich hab die Änderungen mal in eine Konfiguartion mit Werkseinstellungen eingebaut, die jeder einfach laden kann und damit Telnet-Zugriff bekommen sollte. Also das zip auspacken und die iad-Datei im Webinterface unter Datensicherung hochladen.

Natürlich auf eigene Gefahr. Und durch das Laden der Konfiguration werden selbstverständlich alle Einstellungen zurückgesetzt.

Der Telnetport ist 30023 (telnet samsung.router 30023), Login root, Passwort hab ich auf banana gesetzt. Das Passwort lässt sich ändern mit passwd und anschließendem
cp /etc/passwd /configs/etc/passwd.restore

Mit dem Wiederherstellen des Passworts nach dem Booten wird 60 s gewartet (notwendig sind etwa 20 s, der Rest ist zur Sicherheit). D.h. das Einloggen funktioniert erst ab etwas über einer Minute nach jedem Reset, vorher erwartet der Router das ursprüngliche unbekannte root-Passwort!

Das ist jetzt nur für den SMT-G3010. Für den G3210 müsste es jemand anders machen, oder jemand macht ein Reset auf Werkseinstellungen und schickt mir die Konfigurationsdatei.
 

Anhänge

  • aenderungen.tgz
    8.3 KB · Aufrufe: 117
  • 3010telnet.iad.zip
    17.5 KB · Aufrufe: 115
Dann hier nochmal dasselbe fuer den 3210. Ich hab das jetzt einfach uebernommen, selbes Passwort, Vorgehen, etc., um's einfach zu halten.

Die TR-069-Sache kann man uebrigens unbuerokratisch mit /etc/rc.d/init.d/tr69_stop abschalten, wenn man nicht remote administriert werden moechte.

Auch interessant ist die vorkonfigurierte Option fuer /etc/ppp/peers/pppoe2, was anscheinend eine zweite Verbindung mit frn6/voice%username ermoeglicht. Ich hab die aber bisher noch nicht gleichzeitig zum Laufen bekommen.
 

Anhänge

  • 3210telnet.zip
    17.3 KB · Aufrufe: 83
Zuletzt bearbeitet:
Dummerweise ist das root-Passwort nicht mehr admin. Zwar kann man in /configs/etc/passwd ein anderes Hash eintragen, das wird aber scheinbar immer wieder überschrieben.

Wer sich den Spass mit dem Passwordsetzen sparen möchte:

Die Phantasie der Firmwareautoren war mal wieder grenzenlos. Das neue root password ist: amazon.

(sacht zumindest John. Da mein 2. Router noch nicht da ist und ich nicht am Produktivsystem teste ist die Angabe ohne Gewähr)
 
Die Phantasie der Firmwareautoren war mal wieder grenzenlos. Das neue root password ist: amazon.

Hm, nein, geht nicht.

Das md5crypt-Hash vom fraglichen root-Passwort ist $1$$4aRTibg3l6pg0MDDTEfUp/

Man kann damit auch ohne den Router unter Unix mit openssl versuchen das Passwort zu raten, z.B.
Code:
openssl passwd -1 -salt "" amazon
liefert $1$$QuFwsA0d/0qBpZs0DufIB0
 
Hallo earthcrosser bekommst du auch telnet für einen 3220 hin?

Edit: Anhang Konfigurationsdatei 3220 V2.02 (werkseinstellung) ohne Passwort
 

Anhänge

  • 11-01-2008.zip
    16.6 KB · Aufrufe: 4
Zuletzt bearbeitet:
Probier mal das hier. Einmal mit Konfigurations-Passwort, einmal ohne. Ungetestet.
 

Anhänge

  • 3220-telnet.zip
    34.7 KB · Aufrufe: 5
Hallo haut leider nicht hin.
Es kommt die Meldung falsches Passwort beim laden der Datei *.iad
 
Bitte mal versuchen. (Ungetestet).

Edit: Scheint zu funktionieren. (Ich hab jetzt eine der Dateien aus dem .zip rausgenommen, urspruenglich waren zwei drin, eine mit Konfigurationspasswort).

Selbe Vorgehensweise wie beim 3010 und 3210, s.o.
 

Anhänge

  • 3220-telnet.zip
    17.4 KB · Aufrufe: 37
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.

Statistik des Forums

Themen
244,880
Beiträge
2,220,039
Mitglieder
371,605
Neuestes Mitglied
michaelwarwel
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.