6490: (download) Zertifikate im Urlader sichern

k4y0z

Neuer User
Mitglied seit
26 Dez 2008
Beiträge
40
Punkte für Reaktionen
2
Punkte
8
Ich habe mal wieder eine 6490 zum Spielen ausgepackt,
diese hatte die neuen Zertifikate damals per Download (cmdlcert/c4) erhalten.

Die Zertifikate habe ich zwar vor dem Spielen gesichert und könnte sie bei "Verlust" wieder herstellen.
Bei den neueren Geräten sind die Zertifikate allerdings bereits ab Werk im Urlader enthalten,
und das versehentliche Löschen (beispielsweise durch ein Werksreset mit der falschen Firmware) führt dort nicht direkt zum Verlust.

Daher wollte ich für meine alte Box von dieser Möglichkeit ebenfalls gebrauch machen.

Nachdem mein erster Versuch des manuellen Zusamenfügens eines neuen Urladers mit dd wie gewünscht funktionierte,
habe ich ein kleines Tool geschrieben, welches die Modifikation erleichtert.

Es soll hier nicht darum gehen, wie die Zertifikate von der Box geholt werden können, oder wie man den Urlader der Box überschreibt.
Das Überschreiben des Urladers ist mit einem gewissen Risiko verbunden und ich übernehme keine Verantwortung für daraus resultierende Briefbeschwerer.

Getestet habe ich das mit urlader-version 3261
Das ist nicht die Version, welche als bootloaderVersion oder als urlader-version im eva-environment angezeigt wird,
dabei handelt es sich um die Version des ATOM-bootloaders CEFDK, in welchem auch der EVA FTP-Server implementiert ist.

Dieser Urlader hat - nach dem Ersetzen des Config-Bereichs durch 0xFF - die SHA-256 Summe 31305038897b8c1540fb6f4e97b736494a9bb0aad95d3224d5d477248337921b

Die beiden von mir untersuchten Geräte, eines mit den Zertifikaten bereits ab Werk und eines ohne, verwenden beide diese Version (installiert ist jeweils das aktuelle FritzOS 7.20).
Die CEFDK-Version der beiden Geräte ist dagegen unterschiedlich und für diese Modifikation nicht von Belang, auch die HWSubRevision unterscheidet sich bei den beiden Geräten.

Box mit Zertifikaten im Urlader ab Werk:
Code:
HWSubRevision         4
bootloaderVersion     1.2411
urlader-version       3411
Box mit Zertifikaten per Download:
Code:
HWSubRevision         3
bootloaderVersion     1.2279
urlader-version       3279
Um die Zertifikate in den Urlader zu importieren, müssen diese zunächst in ein tarball verpackt werden.

Unter der Annahme, dass man sich in dem Verzeichnis mit den Zertifikaten befindet:
Code:
# ls -l
-rw-r--r--    1 root     root           775 Jan  1 01:05 cm_cert.cer
-rw-r--r--    1 root     root           634 Jan  1 01:05 cm_key_prv.bin
-rw-r-----    1 root     root          1013 Jan  1 01:05 mfg_cert.cer
-rw-r-----    1 root     root           294 Jan  1 01:05 mfg_key_pub.bin
Kann das Tarball wie folgt erzeugt werden:

Auf der Box:
Code:
tar -cv * | gzip > /tmp/urladercerts.tar.gz
Auf dem PC:
Code:
tar --numeric-owner --owner=0 --group=0 -czvf /tmp/urladercerts.tar.gz *
Anschließend können die Zertifikate wie folgt in den Urlader importiert werden:
Code:
$ ./urlader-config.py -u urlader.img -t ZERTIFIKATE -i urladercerts.tar.gz -o urlader-new.img
Found urlader-version: 3261
Urlader SHA256: 31305038897b8c1540fb6f4e97b736494a9bb0aad95d3224d5d477248337921b
================================================================================
Found EVA config version 3 in urlader.img (big-endian)
================================================================================
DECT
WLAN
WLAN2
DOCSIS
================================================================================
Adding ZERTIFIKATE
Eine anschließende Prüfung des neuen Urladers:
Code:
$ ./urlader-config.py -u urlader-new.img
Found urlader-version: 3261
Urlader SHA256: 31305038897b8c1540fb6f4e97b736494a9bb0aad95d3224d5d477248337921b
================================================================================
Found EVA config version 3 in urlader-new.img (big-endian)
================================================================================
ZERTIFIKATE
DECT
WLAN
WLAN2
DOCSIS
================================================================================
Bei der Berechnung der SHA-256 wird der Config-Bereich, wie oben beschrieben mit 0xFF ersetzt.
Der Wert darf sich nach der Modifikation nicht unterscheiden.
 

Anhänge

Zuletzt bearbeitet:
  • Like
Reaktionen: f666