[Sammlung] Installation von Inhouse-Versionen ab Version 07.08

Schritt 5 sieht aber auch irgendwie komisch aus :) ... auch wenn man natürlich ein Verzeichnis so benennen dürfte.

Die Notwendigkeit des Updates auf aktuelle Versionen (weil immer wieder darauf "eingegangen" wird) kann ich nun mal nicht verhindern (und eigentlich sollte deren Existenz eine Selbstverständlichkeit sein) ... aber gerade die Voraussetzung "PowerShell 5" habe ich nun wirklich bei der "FirmwareImage.ps1" (und zwar schon direkt beim ersten Bereitstellen vor langer Zeit) sowohl in der zugehörigen README.md als auch im Skript selbst mehrfach hervorgehoben.

Daher kann man im Zusammenhang mit diesem Skript auch kaum von "nicht dokumentiert" schreiben oder seine Schwierigkeiten, da irgendwann die korrekte Version zu verwenden, mit "fehlender Anleitung" erklären ... man muß halt nur lesen, was dazu geschrieben wurde.
 
Zuletzt bearbeitet:
Schritt 5 sieht aber auch irgendwie komisch aus :) ... auch wenn man natürlich ein Verzeichnis so benennen dürfte.
Stimme ich dir zu. Wollte halt die ursprüngliche Anleitung von @Master SaMMy nicht an zu vielen Stellen überarbeiten. Habe es jetzt aber dennoch mal getan da es sonst vielleicht zu Missverständnissen führen könnte.
 
.\EVA-FTP-Client.ps1 -ScriptBlock { BootDeviceFromImage -filename .\7590_XX.XXXX.image.in-memory }
Ich habe mal eine frage zu Punkt 7 @NDiIPP

Das ist bitte eine ernst gemeinte Frage und Sorry wenn die Antwort schon irgendwo stand/steht. Aber 7590_XX.XXXX.image.in-memory wäre der Komplette Datei Name oder?
Wobei XX.XXX für die Version steht oder?

Sorry und Danke im Voraus

Ich frage deshalb weil mein Image was ich mit Image2ram erstellt habe Inmemory_file als Namen hat
 
Wie Du das image.in-memory bennst und wo Du dieses ablegst, ist ganz allein Deine Sache.
 
  • Like
Reaktionen: WII-USER
@WII-USER
7590_XX.XXXX.image.in-memory ist der Name der bei DIr gespeicherten und hochzuladenden "in-memory-Datei".
Die Bezeichnung vor dem Punkt (7590_XX.XXXX.image) kannst Du selbst festlegen.
 
  • Like
Reaktionen: WII-USER
Also kann die Datei zum Beispiel 7590.image.in-memory heißen?
 
natürlich und wenn Du sie a.image.in-memory nennst wird es klappen. (solange der Pfad incl Dateinamen natürlich korrekt angegeben wurde)

Ein bestimmter Dateinamensaufbau ist imo nicht vorgegeben. (ob das in-memory dahinter sein muss, weiß ich nicht, da noch nicht getestet)
 
  • Like
Reaktionen: WII-USER
(ob das in-memory dahinter sein muss, weiß ich nicht, da noch nicht getestet)
Muss nicht. Auch die Wahl der Endung ist dem Nutzer überlassen. Man kann die Datei auch "irgend.etwas" nennen, sehe dann halt so aus:
Code:
.\EVA-FTP-Client.ps1 -ScriptBlock { BootDeviceFromImage -filename .\irgend.etwas }
 
  • Like
Reaktionen: WII-USER
Danke, das dachte ich mir ;)
 
  • Like
Reaktionen: WII-USER
So, ein Beispiel wie von/mit einer alten 7590 Inhaus 6.98 mit der LUA-Konsole der Post #12 Trick geCopy'n'Pasted werden kann, brannte mir noch in den Fingern.

Code
Code:
return box.out('<h3>Inhaus alt --> Inhaus 7.08</h3>'),os.execute('echo -ne "00a43fa107a701bc34f7afc0340855063a3a29c7cd44e4b5feda7e66f9da0f2dafaa0c9c15747a1e425764d63648ebe8ed09b76981252f44b349db46a56ba4553d25ed422b353459e3006971a66445d417721e05e7c12d6502e564cd7969b71e67853aaa26bb04f2cd82e5be915340ca483dd6277d9e8a0ab1daa70a4bbd4fa28f\n010001\n">/var/tmp/key;wc /var/tmp/key;mount -o bind /tmp/key /etc/avm_firmware_public_key3;mount')
...komplett in die Eingabe kopieren...
Screenshot_20181206-200654.png
...ausführen und die 7.08 Inhaus flashen.

Ich konnte es nur noch nicht komplett durchtesten, da ich kein Downgrade auf die 6.98 Inhaus durchführen möchte/konnte/wollte.
:rolleyes:

Na ? - Wer traut sich ?
 
@koyaanisqatsi:
Wenn Du das jetzt noch in ein Shell-Skript verpackst und jemanden findest, der das irgendwo für Dich hostet, kann man es auch auf ein
Code:
wget -qO- http://somewhere.de/ins_inh_7590 | sh
reduzieren ... das kann man dann tatsächlich wieder "abtippen" und das wäre auch in etwa eine Zeile, wie sie ein Angreifer gerne in das FRITZ!OS injizieren würde, dann natürlich mit eigenem Inhalt in dem Shell-Skript. Die "Zutaten" dafür sind wieder in jedem FRITZ!OS vorhanden (und kaum zu entfernen durch AVM, ohne das alles komplett umzukrempeln).

Wobei man bei vorhandenem Shell-Zugang ja gar nicht darauf angewiesen wäre, die neue Version über das GUI zu installieren ... dann kann man die auch auspacken und einfach die "/var/install" aufrufen:
Code:
wget -qO- <url_from_avm> | tar -C / -x && /var/install && reboot
Es gibt so viele verschiedene Wege, das mit einer Shell in Angriff zu nehmen (den Key zu mounten, ist ja nur ein einziger davon) ... spannender sind eigentlich all diejenigen, mit denen das auch ohne den bereits vorhandenen Shell-Zugang funktioniert. :cool:

Um Deinen Ansatz oben zu testen, muß man ja nicht unbedingt ein Downgrade machen ... wenn anschließend ein
Code:
cat /etc/avm_firmware_public_key3
die korrekten zwei Zeilen in der Ausgabe enthält (man muß sich halt den passenden Schlüssel für sein Modell heraussuchen, bisher gibt es m.W. nur die beiden für die 7590 und die 7490), dann gibt es keinen plausiblen Grund, warum der nachfolgende Installationsversuch fehlschlagen sollte, solange der Key paßt. Geht das dann trotzdem schief, liegt es vermutlich eher an etwas anderem als an der Text-Datei und dem "mount"-Kommando ... wie gesagt, immer unter der Annahme, daß der Key auch den richtigen Inhalt hat.
 
  • Like
Reaktionen: koyaanisqatsi
der das irgendwo für Dich hostet
Ich nehm dann mal: http://[::1]:49200/FRITZ/koyspartymix.xml
:rolleyes:

Code:
wget -qO- http://somewhere.de/ins_inh_7590 | sh
...wäre jetzt aber SIAB Code ;) ( kein Lua )


Edit
( Dafür kriegste jetz den Daumen :D )
spannender sind eigentlich all diejenigen, mit denen das auch ohne den bereits vorhandenen Shell-Zugang funktioniert. :cool:
Ähem, natürlich, Lua ist aber auch interessant.
( Ich würde mit "dofile" eine hübsche Funktionssammlung nachladen ;) )

Meine Intention ist bisherigen Inhaus Usern den Zugang zu den Neuen zu erleichtern.
...und vielleicht 10% "Da muss AVM sich aber was Anderes überlegen".
...und mindestens 5% "LUA-Konsole" - Da gibts viel zu wenig Feedback zu.
 
Zuletzt bearbeitet:
Gut, die Ausführung von Shell-Kommandos über "os.execute()" ist ja nun nicht soo schwer zu finden, wahlweise noch mit "io.popen()", wenn man gerne die Ausgabe des Kommandos in Lua weiterverarbeiten möchte.

Wenn man das gleich so macht:
Code:
case "$HWRevision" in
    185)
        key="00ba5b1905319f410d84af1d32551905210566b293ff1948d7809df7463981ed8aaef5babd7864928f3999d5d6cab3122f20700c0f3e976086671e18998d917d47011878d7fa87a0398bdeee5a7afd024dfb085b14e6eece398550a30000cbcb47d43015b6da3e51cc60ddf4c3bc040c
2a2cafae6002c9d90663341faed0be5ba7"
        ;;
    224)
        key="00a43fa107a701bc34f7afc0340855063a3a29c7cd44e4b5feda7e66f9da0f2dafaa0c9c15747a1e425764d63648ebe8ed09b76981252f44b349db46a56ba4553d25ed422b353459e3006971a66445d417721e05e7c12d6502e564cd7969b71e67853aaa26bb04f2cd82e5be915340ca
483dd6277d9e8a0ab1daa70a4bbd4fa28f"
        ;;
    *)
        printf "Unsupported HWRevision.\a\n" 1>&2
        exit 1
esac
printf "%s\n010001\n" "$key" >/var/tmp/inhouse_key
while umount /etc/avm_firmware_public_key3 2>/dev/null; do : ; done
mount -o bind /var/tmp/inhouse.key /etc/avm_firmware_public_key3
, muß man sich nicht mal "von Hand" für das richtige Modell und den richtigen Key entscheiden ... das erfolgt dann noch automatisch (zumindest bei den beiden derzeit bekannten). :)

Ich habe das oben mal (nur so zum Spaß und ohne den Anspruch, das für weitere Inhouse-Keys auch tatsächlich zu pflegen) unter http://yourfritz.de/inhouse abgelegt (da auch so, daß es tatsächlich funktioniert, denn der Fehler im o.a. Code-Kasten ist mal eine Demonstration früherer Anmerkungen - und Absicht, ehe mir jetzt jemand schreibt, daß da ein Fehler enthalten ist) - der Benutzung mit "wget" und "sh" steht damit nicht mehr viel im Wege ... u.a. aber der Umstand, daß die Box dazu online sein muß.

Daß solches Vorgehen (zumindest ohne sich vom Inhalt der Datei zu überzeugen) aber hochgradig unsicher ist und mal so gar nicht "empfehlenswert", versteht sich hoffentlich von selbst ... die Pipe zur Shell erspart nur den Umgang mit Dateinamen beim Speichern und beim Aufruf. Man sollte das eigentlich erst mal ohne die Pipe anwenden (dann sieht man das Skript halt in der Ausgabe) und erst, wenn das als "nicht böse" erkannt wurde, kann man es in die Shell pipen.

Wobei auch das eigentlich kein wirklich schlaues Vorgehen wäre (besser ist immer noch: Speichern, Ansehen, Ausführen), denn es ist absolut simpel für einen Angreifer, beim ersten Zugriff eine "harmlose" Datei auszuliefern und bei (zeitnah folgenden) weiteren Zugriffen von derselben Adresse dann auch mal Schadcode zu schicken. Das machen Malware-Sites auch so ... nur liefern die i.d.R. nur einmalig den Schadcode aus und danach nur noch harmloses Zeug, um die Analyse zu erschweren, weil man bei weiteren Zugriffen nicht mehr ohne weiteres an den Schadcode gelangen kann. Daher gilt eigentlich immer da, wo keine Signaturen die Echtheit gewährleisten: "Augen auf und den (eigenen) Verstand einschalten." - gerade jetzt, wo offenbar wieder mal ein Malware-Lawine durch die Firmen rollt.
 
Für den Repeater 1750E gibt's auch ne neue Inhaus: 07.08-63867
Update von der 7.01 ist nicht möglich
Habs mal in diesen thread geschrieben, weil der Titel ja heißt: Installation von Inhouse-Versionen ab Version 07.08

Vielleicht sollte der Titel angepasst werden in "Fritz!Box-Inhouse-Versionen"
 
Der Inhouse key für 1750e
Code:
00a5e8210c79b90f90c053a78b5c2d3c999c085f773fc4d2e86fd8655f20302273782c09de4c1bf604e9888bc0f4aa05cecfce869d5599ae43f7d7969941f3b4d47bcea3f4b722fbbfb2040118866d3a10bbdfd48a77e82094e9b7d2fd4eae11fb46376d3b9bdbb5ddbefc60bf37d5da23e7576aa5fcb5b0b48a3451b4ae401ad7
010001
 
@Master SaMMy
Danke!
Dann stellt sich für uns die Frage, auf welchen Weg man den auf den Repeater bekommt.
Das EVA-Tool geht wohl hier nicht, oder?
Hast Du (oder vielleicht jemand anderes) schon eine alternative Lösung?

Gruß
bino
 
Zuletzt bearbeitet:
Der 1750E hat nen LAN-Anschluß. Da es für Repeater mit Ethernet Recovery-Programme gibt, greift auch die übliche FTP- / EVA-Methode.
 
  • Like
Reaktionen: bino
Wenn ich es machen würde, würde ich es mit Freetz und firmware-nocompile machen und in die 7.01 denn key einbauen und dann die .image.in-memory flashen. So habe ich sie in der Box und kann das orginal beta drauf flashen per Web

Gibt auch einfachere wege oder auch andere, aber ich mache es halt so

unter addons habe ich 3 neue dirs
avm_firmware_public_key_inhaus-7490
avm_firmware_public_key_inhaus-7590
avm_firmware_public_key_inhaus-1750E
mit denn Keys. Und wenn ich ein davon brauche mache ich in der static.pkg das # weg

Code:
# Static addon packages
#
# Extract the addon package, which is not yet included
# in this mod, into this directory and add the sub-directory
# of the addon package to the following startup list.
#

# Example:
#own-files-0.1
#avm_firmware_public_key_inhaus-7490
#avm_firmware_public_key_inhaus-7590
#avm_firmware_public_key_inhaus-1750E

### Zusammenführung Doppelpost by stoney ###

in der .config sollte man das aber eintragen
FREETZ_FWMOD_CREATE_IN_MEMORY_IMAGE=y
und zwar unter # Firmware packaging (fwmod) options
 
Zuletzt bearbeitet von einem Moderator:
Hallo

hab mal versucht das FW-Image (134.07.08-63867) mit den eva-tools in ein "in-memory" zu konvertieren.
Ich bekomme hier einen Fehler (error detecting checksum on filesystem.image)
 
Zuletzt bearbeitet:
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.