[Info] Die Geschichte einer alten Sicherheitslücke oder "Was kann man damit schon anfangen?"

@NemoN:
Also ist die Hostname-Lücke mit einiger Sicherheit noch vorhanden. Einfacher Test:

hostname = "fritz.box$(eventadd 1 pwnd)";

in der Export-Datei setzen, Prüfsumme korrigieren lassen und importieren.

Steht nach dem Neustart ein entsprechender Eintrag im Eventlog (bzw. in diesem Fall u.U. auch zwei, einer pro System), ist die Lücke vorhanden.

@koy:
Die 06.20 der 7360SL dürfte wesentlich nach der "Deadline" für diese Lücke erschienen sein. Wenn Du die Lücke sehen willst bei diesen Modellen, nimm eine Version vor Mitte Sept. 2014.
 
@NemoN:
hostname = "fritz.box$(eventadd 1 pwnd)";

Irgendwie mag meine 6490 diesen Hostnamen nicht. Aktuell befindet sich die Box in einer Reboot Schleife :-/
Einzige Änderung. Export Config. Änderung Hostname. Checksumme anpassen. Import Config --> Reboot --> Box hängt.
Gibt es eine Möglichkeit die Box zu reseten? RecoveryFirmwares gibt es ja bei den Kabelboxen nicht....
 
Moin

Wie unangenehm.

Ich fürchte die Box muss beim Booten in Eva angehalten werden, um die Partition, die die Konfiguration enthält, zu Löschen.

Sowas geht am einfachsten mit dem ruKernelTool, falls die 6490 überhaupt unterstützt wird.
 
Ich kann das gerade nicht auf einer 6490 probieren und hatte schon überlegt, ob auch eventadd zu diesem frühen Zeitpunkt noch nicht funktionieren könnte ... aber eine 7390 mit einer Firmware-Version mit hostname-Lücke startet ganz normal durch und hat als ersten Eintrag im Eventlog einen Eintrag "pwnd".

Auch auf einer 7490 bringt die Abarbeitung von

Code:
root@FB7490:~ $ ctlmgr -s;mv /var/.ar7events /var/media/ftp/system/;eventadd 1 pwnd;LD_LIBRARY_PATH= ctlmgr
root@FB7490:~ $ eventsdump
13.07.15 15:12:33 pwnd
root@FB7490:~ $

- ctlmgr anhalten
- bisheriges Log umbenennen und sichern
- neuen Eintrag im Eventlog erzeugen
- ctlmgr neu starten
- Eventlog anzeigen

das erwartete Ergebnis.

Nachdem es beim Hostnamen eigentlich nur zwei Möglichkeiten gibt (entweder er verwendet "eval" oder Variablenzuweisungen) und ich definitiv schon Hostnamen mit angehangenem Kommando in meiner 6490 gesehen habe (der konkrete Inhalt sollte nach meinen zwei Tests hier oben auch nicht schaden), kann es eigentlich nur noch eine falsche Umsetzung sein. Mir fällt beim besten Willen kein anderer Grund ein, der eine Box in eine Reboot-Schleife schicken sollte ... entweder das Kommando wird ausgeführt oder eben nicht. Selbst ein Syntaxfehler im Kommando - zumindest in solch einem simplen - sollte nicht einmal zu einem entsprechend unlesbaren Hostnamen führen, denn stderr geht ja zumindest theoretisch nicht in die Ausgabe von "eval" ein - das habe ich aber nie getestet, ich versuche einfach syntaktisch richtige Kommandos zu benutzen.

Warum sich also aus solch einer Änderung eine Reboot-Schleife ergeben sollte (solange die Box nicht am Kabelnetz hängt, wo sie ggf. vom Provider in eine solche geschickt wird), leuchtet mir weder ein noch deckt es sich mit meinen eigenen Erfahrungen aus der Zeit, als ich noch eine 6490 in Betrieb hatte.

Aber das Löschen der Einstellungen über EVA funktioniert per FTP (0-Byte-File in die MTDs schreiben) wie bei anderen Modellen. ruKT unterstützt vermutlich zumindest das "in EVA halten", ansonsten eben von Hand, ist ohnehin einfacher und ja nun wirklich keine Zauberei, solange man die anderen Hinweise für Recovery auch berücksichtigt, am besten also einen Switch zwischen einen Windows-PC und die Box klemmen, damit da das "media sensing" nicht zu langsam ist.
 
kann es eigentlich nur noch eine falsche Umsetzung sein. Mir fällt beim besten Willen kein anderer Grund ein, der eine Box in eine Reboot-Schleife schicken sollte

Aktueller Stand:
Ich konnte die Box mit löschen von mtd3 und mtd4 wiederbeleben *püh*
Da alle Konfig Variablen gelöscht wurden, auch ohne KDG Branding ^^
Dann der gleiche Versuch nochmal: Hostname 1:1 übernommen -> Konfig eingespielt -> Reboot Loop :-/
(Box nicht am Kabelnetz)


Freitag teste ich weiter, die nächsten drei Tage bin ich unterwegs.


Grüße
NemoN
 
Dann hast du etwas falsch gemacht. Das Branding kdg kann man durch Löschen von mtd3 und mtd4 definitiv nicht entfernen.

Zumindest ich habe nun das DVB-C Menü im Webinterface (OS 6.10) und die Export Datei ist ohne angehängtes (kdg).
Evlt. wurden auch die Enviroment-Variablen gelöscht. Dort steht ja das Branding drinnen.
 
Zumindest ich habe nun das DVB-C Menü im Webinterface (OS 6.10) und die Export Datei ist ohne angehängtes (kdg).
Evlt. wurden auch die Enviroment-Variablen gelöscht. Dort steht ja das Branding drinnen.
Das deutet ja dann aber schon darauf hin, daß Du da noch weitere Experimente vorgenommen hast (die vorher keine Auswirkungen hatten) und nicht nur den "hostname"-Eintrag entsprechend gesetzt hattest.

Da man das Branding (ohne Telnet-Zugang bzw. ohne das Ausführen von Kommandos auf der Box) ja nur über den Urlader ändern kann (QUOTE SETENV) und dann ja praktisch zwangsweise ein Neustart (mit dem geänderten Branding) ansteht, ist das beschriebene Verhalten schon etwas merkwürdig - auch bei einer 6490 - und deckt sich nicht mit den Erfahrungen anderer.

Aber egal ... dann setze doch einfach mal ein absolut neutrales Kommando hinter den Hostnamen und beobachte, ob dieses ausgeführt wird. Da das tmpfs schon gemountet ist, wäre z.B. ein "touch /var/tmp/test" eine Möglichkeit, denn die Existenz dieser Datei kann man auf dem Umweg über die Support-Daten auch ohne Telnet-Zugang verifizieren (oder es war nur /var, das kannst Du ja vor dem Test erst einmal recherchieren in den Support-Daten).
 
Das deutet ja dann aber schon darauf hin, daß Du da noch weitere Experimente vorgenommen hast (die vorher keine Auswirkungen hatten) und nicht nur den "hostname"-Eintrag entsprechend gesetzt hattest.

Keine bewusten Änderungen. Die einzige Änderung war linux_fs_start von 1 auf 0.

Da man das Branding (ohne Telnet-Zugang bzw. ohne das Ausführen von Kommandos auf der Box) ja nur über den Urlader ändern kann (QUOTE SETENV) und dann ja praktisch zwangsweise ein Neustart (mit dem geänderten Branding) ansteht, ist das beschriebene Verhalten schon etwas merkwürdig - auch bei einer 6490 - und deckt sich nicht mit den Erfahrungen anderer.

Ich habe allerdings noch mtd3 und mtd4 gelöscht.

Aber egal ... dann setze doch einfach mal ein absolut neutrales Kommando hinter den Hostnamen und beobachte, ob dieses ausgeführt wird. Da das tmpfs schon gemountet ist, wäre z.B. ein "touch /var/tmp/test" eine Möglichkeit, denn die Existenz dieser Datei kann man auf dem Umweg über die Support-Daten auch ohne Telnet-Zugang verifizieren (oder es war nur /var, das kannst Du ja vor dem Test erst einmal recherchieren in den Support-Daten).

Probiere ich am Freitag...
 
NemoNs Erfahrungen decken sich meinen vom Versuch vor einigen Wochen, den telnet-deamon direkt aus dem hostname Eintrag zu starten:

=> Reboot-Schleife - Reset mit clear mtd3, mtd4 per RuKernel Tool: Egebnis AVM Branding bei vormals KDG -> Internet geht aber die Telefonie wird nicht provisioniert.
Das läßt sich dann per RUKernel aber wieder geradebiegen.

Bin sehr gespannt auf NemoNs Tests am Freitag.

JP
 
NemoNs Erfahrungen decken sich meinen vom Versuch vor einigen Wochen, den telnet-deamon direkt aus dem hostname Eintrag zu starten:
Ok, daß das eigentlich schiefgehen muß, habe ich irgendwo schon vor ganz ganz ganz langer Zeit geschrieben.

Jeder Blick in "normale Firmware" offenbart die Startreihenfolge und - wenn ich mich nicht sehr irre - auf jeder FRITZ!Box kommt der dsld (der regelt m.W. auch überall die LAN-Konfiguration, aber ich kann auch nur aus den Abläufen schlußfolgern) erst weit nach S44 zum Zuge. Da der dann praktisch noch einmal alle Interfaces komplett ummodelt, ist das nicht wirklich überraschend.

Daher wurde schon früher (Okt. 2014?) von mir explizit darauf hingewiesen, daß zu diesem Zeitpunkt im Bootprozess noch keine AVM-Dienste laufen und auch nicht genutzt werden können, dazu gehört sowohl das Netzwerk als auch die USB-Unterstützung. Das "eventadd" bildete da für mich (bisher) eine Ausnahme, da es eigentlich die Dateien selbst anlegen sollte, wenn sie noch nicht existieren (s. mein Test weiter oben).

EDIT: Ja, meine Erinnerung hat nicht getrogen: http://www.ip-phone-forum.de/showthread.php?t=273550&p=2041012&viewfull=1#post2041012
 
Zuletzt bearbeitet:
Ja - das ist mir spätestens seit unserem PN-Exchange zum Thema auch klar...

Inzwischen hat mir KDG 6.22 provisioniert - so daß sich mein Aufwand bei gleichbleibender Freizeit deutlich erhöht hat... bin einfach nichtmehr dazu gekommen das per Skript zu probieren.

@KunterBunter - Werd ich gern machen sobal Zeit ist. War aber kein Hexenwerk: Expert Mode und Löschen von mtd3+4 ohne Transfer eines neuen Kernels.
 
Wenn man einfach nur MTD3/MTD4 mit dem ruKernelTool löscht, werden dort ja 0-Byte-Dateien in diese Partitionen geschrieben.

Damit wäre es - reine theoretische Überlegung, da die Quellen zur 6490 nicht vorliegen - denkbar, daß beim ersten Start der Box nach dieser Aktion das Urlader-Environment nicht aus dem leeren (besser ungültigen) TFFS geladen wird (ist ja ein Kernel-Module, das nach meiner Erinnerung Caching betreibt) und anschließend die TFFS-Partitionen erst mit den Werten aus dem Bootloader initialisiert werden, damit sie wieder gültige Werte enthalten. Aus diesem Verhalten resultiert ja auch der Tipp beim ruKernelTool, sofort noch einmal die Werkseinstellungen zu laden und neu zu starten, wenn man MTD-Löschen gewählt hatte.

Andere denkbare Erklärung wäre:
Wenn man über das proc-Interface das Branding ändert, wird das ja nur in den TFFS-Partitionen gespeichert. Ungültige TFFS-Partitionen werden aus dem Bootloader-Environment restauriert (das enthält sowohl die boxspezifischen Werte aus der Produktion als auch einen Satz "Standardwerte", falls die für die Box nicht stimmen). Das kann man ziemlich leicht überprüfen, indem man einfach mal mit
Code:
cat /dev/$(sed -n -e "s/^\(mtd[0-9]*\):.*urlader.*/\1/p" /proc/mtd)ro | strings | head -n 30
die ersten 30 Zeichenketten aus dem eigenen Urlader anzeigen läßt (ab 0x698, falls jemand lieber hexdump verwendet). Egal, welches Branding man (über das proc-Interface, bei der EVA weiß ich das nicht sicher) gesetzt hat, dort sollte das "ursprüngliche" Branding stehen (hier rede ich natürlich jetzt von DSL-Boxen oder DOCSIS-Boxen mit "software modding").

Wenn dann bei der 6490 dort immer AVM steht und die Anpassung nur über den TFFS-Inhalt stattfindet, könnte das (recht mutige, aber was bleibt einem übrig) Löschen von MTD3/MTD4 tatsächlich auch zu "AVM"-Branding führen.

Ich suche mal bei Gelegenheit nach meinem Dump des 6490-Bootloaders und schaue nach, was da an boxspezifischen Variablen drinsteht.
 
OK, nachdem* ich dann meine eigene busybox "nachgeladen" habe, gings.
Code:
# cat /dev/$(sed -n -e "s/^\(mtd[0-9]*\):.*urlader.*/\1/p" /proc/mtd)ro | strings | head -n 30
`0!<
HWSubRevision
usb_rndis_mac
9C:C7:A6:FF:FF:FF
usb_board_mac
9C:C7:A6:FF:FF:FF
macdsl
9C:C7:A6:FF:FF:FF
macwlan
9C:C7:A6:FF:FF:FF
macb
9C:C7:A6:FF:FF:FF
maca
9C:C7:A6:FF:FF:FF
usb_manufacturer_name
usb_revision_id
0x0000
usb_device_id
0x0000
annex
SerialNumber
0000000000000000
ProductID
Fritz_Box_7360
HWRevision
p((((
((((
p$$$$"
$$$$"
$$$$"
...irgendwie kommt das Filtern nicht bis firmware_version.

Mit head -n 50 komm ich bis firmware_version, aber ich seh kein Branding. :gruebel:

* die Internationale 6.03 ist noch relativ komplett, was die busybox angeht.
 
Zuletzt bearbeitet:
Mit head -n 50 komm ich bis firmware_version, aber ich seh kein Branding.
Ich vermute mal, daß Du da bis in die Liste der Namen kommst, die gibt es später auch noch, da stehen dann keine Werte dabei und nur die möglichen Variablennamen hintereinander (mit 0x00 dazwischen, ist halt eine C-String-Liste).

Das sieht für mich eher so aus, als ob da im Bootloader gar kein Branding hinterlegt ist. Ist das eine "rote" Box?

Die 7113 sind doch sicherlich von 1&1, oder? Was sagen denn die?

Ich habe gerade mal in eine 7490 geschaut, die ist schwarz (1und1), hat "avm"-Branding und im Bootloader steht weiterhin die Angabe "1und1". Die 7390 (auch schwarz), die hier zum Testen rumsteht, hat gerade Stock-Firmware drauf, die kennt weder hexdump noch strings noch sonst irgendwas - so wichtig ist mir das jetzt auch nicht, aber es wäre eine denkbare Erklärung gewesen.

Wenn bei Dir keine Angabe vorhanden ist, wird m.W. (nachsehen!) in S01-head automatisch "avm" angenommen.
 
Nichts dergleichen in S01-head.
Nur Prüfung auf Recovery
Aber das hier...
Code:
# set|grep OEM
[COLOR=#ff0000][B]CONFIG_OEM_DEFAULT='avm'[/B][/COLOR]
OEM='avme'
OEM_DEFAULT_INDEX=''
OEM_tmp='avme'
...deutet in die von dir beschriebene Richtung, wenn ich das überhaupt richtig verstehe.

Gebrandet hab ich sie übrigens mit...
Code:
echo 'firmware_version avme' > /proc/sys/urlader/environment
 
Hier meine Test Ergebnisse:

1) clear mtd3 / mtd4 via adam2
2) reboot der box

aufruf des webinterface nach dem ersten reboot
_restore.png

dann auf reload im browser geklickt, dann kam diese ansicht, reboot ausgewählt
_update.png

touch /var/tmp/test im hostname eingetragen und nach reboot via support.lua überprüft:
_hostname_var_tmp_test.png
 
Bild 2 ist nicht wirklich überraschend, die 6490 will beim ersten Start eigentlich (wenn überhaupt Einstellungen möglich/vorhanden sind) erst einmal die Sprache wissen und startet dann neu. Wenn das als Abfrage nicht zwischendrin auch noch kam, wäre das komisch. Ein Reload der "wird neu gestartet"-Anzeige führt automatisch zu einem Fehler, wenn die Box an dieser Stelle überhaupt noch reagiert und nicht schon mit einem Neustart beschäftigt ist - dann fehlen einfach die Angaben, die ansonsten vom HTTP-Request kämen, wenn das ein "Formular-Roundtrip" wäre.

Die angelegte Datei in Bild 3 zeigt ja, daß da noch das "eval" in der S44-hostname vorhanden ist ... man kann das dann eben Schritt für Schritt zur debug.cfg-Benutzung und - wenn man will - eben auch zum Telnet-Zugang ausbauen. Erst wenn man das alles noch direkt in der Firmware "verankert" (indem man das SquashFS-Image - das liegt hier als Partition vor und nicht als Image-Datei - ändert), erst dann kann man auch den Start über den Hostnamen am Ende verzichten.
 
Sorry das ich so einen alten Thread nochmal ausgrabe...

Kennst du zufällig auch ne Methode / neue Lücke / sonstwas, die mir wieder eine Telnet-Konsole auf einer 6360 mit 06.33 zur Verfügung stellt? (gerne auch per PN) Oder gibt es da im Moment nix und die einzige Möglichkeit wäre ein Recover auf 06.04 und hoffen dass der KNB das nicht wieder überschreibt?

Ach ja, der "Fehler" in Post #35 liegt wohl daran, dass "strings" in der Standardeinstellung nur strings mit mindestens 4 Zeichen anzeigt. Ein branding "avm" oder "lgi" rutscht da dann durch, mit "strings -3" sollte das auftauchen. Wenn das nach fast einem Jahr überhaupt noch relevant ist.
 
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.