Hallo cando,
danke für Infos.
-> Wieso sollten die archiviert werden?
Hat Oliver schon beantwortet. Es sollte archiviert werden.
-> Die box basiert auf einem linux system, normale bootfunktionalität.
Solche Trivialitäten sind mir schon klar. Nur mit dem Unterschied, dass bei der Box keine Linux-übliche Bootfunktionalität mit start/stop-Levels realisiert ist. Daher war die Frage, wo genau an welcher Stelle greifen sie zu.
-> Es wird eine fest verdrahtete datei auf einer avm url, die die boxversion + firmware nr. im pfad hat heruntergeladen und entweder im ram oder wenn ein usb medium angesteckt ist, dort gespeichert und ausgepackt. diese datei enthält auch ein shell script, dass dann die enthaltenen plugins in mit tr069install in den speicher lädt / an der box registriert.
ok, die genaue Reihenfolge versuche ich noch weiter unten zu erläutern, wie ich es verstanden habe.
tr069install wird für die registrierung der plugins aus dem script aufgerufen. wenn der fehlt, geht es nicht
Das ist die entscheidene Frage, die Stelle zu finden, woher tr069install aufgerufen wird.
nach dem booten der box und dem verbindungsaufbau über dsl wird ein loop - timer aktiviert....
ok, genau wie bei mir haben sie es gemacht. Bei meinem Downloader kann man wenigstens die Abstände und die Anzahl der Versuche definieren. Und den Server festlegen auch...
Ich versuche es nun zusammenzufassen, wie ich es verstanden habe:
1. Aus einem der Bootskripte (rc.S, oder ähnliches) wird tr069install aufgerufen.
2. tr069install ist eine Binärdatei, deren Quelltext wir leider nie zu Gesicht bekommen. tr069install "telefoniert" nach Hause (wo wird die Adresse gespeichert? Nicht doch etwa in der Datei selbst?) und lädt tar-Datei, samt eigentliche plugins, die als squash-fs-images vorliegen + install-Skript.
3. Install-Skript aus tar-Datei ist ein Workarround, weil jemand bei AVM gepennt hat und die Dateien einfach ein Paar Ebenen höher verschoben werden müssen (warum auch immer)
4. Danach übernimmt tr069install weiter die Regie (das ist zwar für mich ein Rätsel, wofür dieses hin- und her zwischen den Skripten sein sollte, aber egal) und mounted die plugin-Images, sodass sie nicht als Images, sondern als Dateisystem zu sehen sind. Dies würde mich näher interessieren, wie das gemacht ist. Also, ist es "mount -o bind" oder doch nicht?
5. Und erst jetzt darf es weiter gestartet werden: tr069install übergibt die Regie an rc.S (oder Ähnliches).
Hab ich es richtig beschrieben?
Was mich etwas stützig macht: Es findet gar keine Verschlüsselung statt. D.h. wenn es einem Angreifer gelingen sollte, die DNS-Anfragen von AVM auf seinen eigenen Server umzubiegen, hätte er theoretisch ganz viele Boxen verseuchen können. Oder versehen sie ihre Images mit eindeutigen Zertifikaten, die nicht zu fälschen sind?
MfG