U-boot Passwort für Speedport W724V Typ B?

regex2

Neuer User
Mitglied seit
20 Jan 2017
Beiträge
100
Punkte für Reaktionen
5
Punkte
18
Ich habe hier einen Speedport W724V Typ B, der nicht mehr hochfährt. Auf http://192.168.2.1/ kommt dolgende Webseite (hier die Quelle):

HTML:
<!-- DT724 uboot mini-httpd web based recovering tool, Misora_Hsu 2012/08/06 -->
<html>
<head>
    <title>Welcome to the u-boot web server!</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
</head>
<body style="background-color:#EEE">
<form name="tF" method="post">
<center>
    <div style="font-weight:bold;font-size:36px">
Recovering Tool
    </div>
    <br/><br/>
    <div style="border:3px double #333;background-color:#999;padding:10px;">
        Password: <input type="password" name="pw" maxlength="20" style="width:200px" />
        <input type="submit" name="auth" value="Login" />
    </div>    
</center>
</form>
</body>
</html>


Hat jemand eine Idee, wie das Passwort für das U-Boot Recovery Tool lauten könnte?
 
Ich hab's nun rausgefunden: es sind die ersten sechs Zeichen des Gerätepassworts.

Fragt sich nun, wie ich aus dem Firmware-bin der Telekom etwas erstelle, das ich über das Recovering Tool flashen kann. Direkt das bin von der Telekom wird offenbar nicht angenommen.
 
das hier hast du schon gelesen ?
andi_84 scheint sich da gut auszukennen...
 
Ja, habe ich gelesen und gestern auch mir ein kleines Skript geschrieben, mit dem ich die bin-Datei von der Telekom mit einem festen Wert gexort habe und dann auf verdächte Strings durchsucht. Leider nichts gefunden. Für das Bin für den W722v Typ B kann ich es nachvollziehen. Beim W724V Typ B scheint es mir als wäre nicht einfach ein XOR mit einem festen Byte-Wert notwendig.
Ich habe mir auch die Sourcecodes für den W724V, die es, wenn man weiß wo, tatsächlich von der Telekom noch zum Herunterladen gibt, besorgt (https://www.telekom.de/hilfe/downloads/w724_2.0_opensource_20140627.tgz)
Die Software, die das Installieren eines Updates vornimmt, scheint darin allerdings nicht enthalten zu sein, da nicht Open Source.
 
Die Software, die das Installieren eines Updates vornimmt, scheint darin allerdings nicht enthalten zu sein, da nicht Open Source.
Vielleicht verstehen wir unterschiedliche Dinge unter "Installieren eines Updates" ... aber die Software, die am Ende die einzelnen Partitionen beschreibt, ist durchaus enthalten (als w724_2.0_opensource/package/base-files/files/usr/sbin/upgrade.sh) und auch der Teil, der dieses Skript dann aufruft, findet sich im OpenSource-Paket bei der Telekom - und zwar als "middleware" von Arcadyan (d.h. allerdings auch hier: nur in Form fertiger DSO-Dateien, aka "libraries", bzw. notwendiger Header-Dateien):
Rich (BBCode):
vidar:~/tmp $ find w724_2.0_opensource/extern/target-install/arc-middle-mod-sys -ls
 10138869      0 drwxrwxr-x   1 505      505            14 Jun  9  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys
 10138870      0 drwxr-xr-x   1 505      505            28 Jun 27  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr
 10138871      0 drwxr-xr-x   1 505      505           192 Jun 27  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/lib
 10138872     12 -rwxrwxr-x   1 505      505         11292 Jun  9  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/lib/libmapi_sys.so.0.1
 10138873      4 lrwxrwxrwx   1 505      505            18 Jun 27  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/lib/libmhdl_sys.so.0 -> libmhdl_sys.so.0.1
 10138874      8 -rwxrwxr-x   1 505      505          6600 Jun  9  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/lib/libmhdl_sys.so.0.1
 10138875      4 lrwxrwxrwx   1 505      505            18 Jun 27  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/lib/libmhdl_sys.so -> libmhdl_sys.so.0.1
 10138876      4 lrwxrwxrwx   1 505      505            18 Jun 27  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/lib/libmapi_sys.so.0 -> libmapi_sys.so.0.1
 10138877      4 lrwxrwxrwx   1 505      505            18 Jun 27  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/lib/libmapi_sys.so -> libmapi_sys.so.0.1
 10138878      0 drwxr-xr-x   1 505      505            72 Jun 27  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/include
 10138879      4 -rw-rw-r--   1 505      505           284 Jun  9  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/include/mid_hdl_sys.h
 10138880      4 -rw-r--r--   1 505      505          1293 Jun 27  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/include/mid_mapi_sys.h
 10138881      8 -rw-r--r--   1 505      505          4321 Jun 27  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/include/mid_sys.h
 10138882      0 drwxr-xr-x   1 505      505             0 Jun  9  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/sbin
 10138883      0 drwxr-xr-x   1 505      505             0 Jun 27  2014 w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/host
vidar:~/tmp $ strings w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/lib/libmhdl_sys.so.0.1
[...]
sprintf
osSystem
osSystem_GetOutput
strcpy
osRunTask
[...]
(upgrade.sh full %s %s >& /dev/null; echo $?)
(upgrade.sh full2 %s %s >& /dev/null ; echo $?)
(upgrade.sh kernel %s >& /dev/null ; echo $?)
(upgrade.sh kernel2 %s >& /dev/null ; echo $?)
(upgrade.sh rootfs %s >& /dev/null ; echo $?)
(upgrade.sh rootfs2 %s >& /dev/null ; echo $?)
(upgrade.sh module %s >& /dev/null ; echo $?)
(upgrade.sh uboot %s >& /dev/null ; echo $?)
(upgrade.sh fullN %s %s >& /dev/null ; echo $?)
cat /tmp/tmp_upgrade_failure_result | grep RESULT
cat /tmp/tmp_upgrade_failure_result | grep VER
[...]
(upgrade.sh type %s ; echo $?)
full
rootfs
kernel
module
uboot
[...]
vidar:~/tmp $ nm -D w724_2.0_opensource/extern/target-install/arc-middle-mod-sys/usr/lib/libmhdl_sys.so.0.1
00011380 A _GLOBAL_OFFSET_TABLE_
         w _Jv_RegisterClasses
000113d4 A __bss_start
         w __cxa_finalize
         w __deregister_frame_info
         w __register_frame_info
000113d4 A _edata
00011400 A _end
000113d4 A _fbss
00011380 D _fdata
00000f50 T _fini
00000660 T _ftext
00019370 A _gp
000005e8 T _init
000007b0 T mid_hdl_sys
         U osRunTask
         U osSystem
         U osSystem_GetOutput
         U sprintf
         U strcmp
         U strcpy
         U strtok_r
vidar:~/tmp $
Ich würde jedenfalls Wetten mit sehr hohem Einsatz eingehen, daß das Schreiben der neuen Firmware (unter Zuhilfenahme des erwähnten Shell-Skripts) tatsächlich in der oben gezeigten libmhdl_sys.so erfolgt und zwar in der dort enthaltenen Funktion mid_hdl_sys (denn das ist die einzige "echte" Funktion, die von dieser Library exportiert wird - parallel dazu findet man auch ein (wenig aussagekräftiges) Header-File für diese Funktion) - ob da dann bereits eine "zerlegte" Firmware angeliefert werden muß beim Aufruf oder ob es eher das "komplette Image" sein sollte, muß man dann sicherlich eingehender untersuchen; auch unter Einbeziehung der Include-Files für dieses "Package".

Angesichts des Feldes char fwFile[MID_SYS_FW_FILENAME_LEN];/* file name of firmware */ in der C-Struktur mid_sys_fw_upgrade_s wäre ich (ohne nähere Untersuchungen vorgenommen zu haben) jedenfalls erst mal für die These empfänglich, daß dort der Name der KOMPLETTEN Image-Datei übergeben werden dürfte und dann wäre davon auszugehen, daß genau in dieser Funktion eben auch das Extrahieren des jeweils benötigten Teils aus dem gesamten Image erfolgt ... oder die wird eben doch schon zuvor zerlegt.

Etwas Zauberei mit einem Disassembler (je nach persönlichen Vorlieben) dürfte recht schnell die tatsächlichen Abläufe in mid_hdl_sys aufdecken ... ich wollte nur der Annahme/Auffassung entgegentreten, daß GAR NICHTS von der Software, die bei der Installation von Updates verwendet wird, im OpenSource-Paket enthalten ist. Allerdings fehlt an DIESER Stelle tatsächlich der Quelltext für die Funktion in der o.a. Library ... sicherlich ist die auch DESHALB nur unter extern zu finden; aber immerhin IST sie enthalten.
 
Ich muss mir den Code noch mehr in Ruhe durchlesen. Für mich sehen die o.g. Strings aus opensource/extern/target-install/arc-middle-mod-sys/usr/lib/libmhdl_sys.so.0.1 eher so aus, als würde daraus individuell upgrade.sh aufgerufen. Findet zuvor die Zerlegung auch dort statt?

Ich habe folgende interessante Diskussion gefunden:
Auch das sowie den hierin referenzierten w921v firmware cutter muss ich mir auch näher ansehen.

Abgesehen davon frage ich mich, wieso mein Expemplar des W724V überhaupt in den U-Boot Webserver bootet. Ich habe die Box geschenkt bekommen, und der Vorbesitzer meinte nur, irgendwann hätte "das WLAN nicht mehr funktioniert" (was wohl bedeutete, die Box als ganze hat nicht mehr funktioniert, obwohl die LEDs an waren). Würde da durch Blitzschlag o.ä. der Speicher gelöscht o.ä.? Der Vorbesitzer hat definitiv nicht dran rumgebastelt, das kann ich ausschließen.
 
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.