.titleBar { margin-bottom: 5px!important; }

Thomson IP 1001 / MD5-Signum

Dieses Thema im Forum "IP-TV" wurde erstellt von krobo, 20 Jan. 2007.

  1. krobo

    krobo Neuer User

    Registriert seit:
    9 Jan. 2007
    Beiträge:
    11
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    LE
    hallo zusammen ...

    ... eine Thomson IP 1001 Set-Top-Box läd eine NK.bin ein; diese wird durch eine Datei "boot.sig" verifiziert via MD5-Checksum; um eine andere NK.bin zu laden muss die MD5 in der "boot.sig" geändert werden, nur stimmt dann die MD5 der "boot.sig" nicht mehr ... denn vermutlich wird diese noch vom Bios/Firmware kontrolliert ...
    ... und dann werden beide Dateien gelöscht!
    im Bios steht ... MD5:%08X %08X %08X %08X ... MD5 is ²%S² ... MD5 calc=²%S² loadet=²%S² ...
    ... Is Signed ..

    ??? kann man eine Datei nach genau definierter MD5 basteln ... bzw. gibt es andere Ideen u. Möglichkeiten

    Danke!

    krobo
     
  2. kawa0815

    kawa0815 Neuer User

    Registriert seit:
    9 Apr. 2005
    Beiträge:
    116
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich verstehe nicht ganz Dein Problem.

    Die Box läd jede nk.bin, vorausgesetzt die Datei entspricht den Anforderungen an CE.
    Die nk.bin ist nicht signiert

    kawa
     
  3. krobo

    krobo Neuer User

    Registriert seit:
    9 Jan. 2007
    Beiträge:
    11
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    LE
    Danke!

    ... also um es nochmals klarzustellen ... es handelt sich nicht um Maxdome Thomson IP 1101 sondern um eine Thomson IP 1001 !!
    ... das ist sowas wie der Nachfolger der MSNTV-Box ... eigentlich fast baugleich, aber mit völlig anderer Software und BiosFW etc.
    Fakt ist: im Bios ist eine MD5 Kontrollfunktion aktiviert, diese mit Hilfe der Datei "boot.sig" die MD5 der NK.bin verifiziert.
    Die NK.bin selbst ist nicht signiert o.ä., da man diese auch auf ´ner S100 hochladen kann (keine Fkt.,da andere VideoTreiber etc.);
    Um eine andere NK.bin(z.B. SelfMade) laden zu können, brauche ich eine passende boot.sig (MD5 in der boot.sig einfach ändern ... dann wird nix mehr geladen, sondern boot.sig und nk.bin auf der CF gelöscht!!)...
    .... oder man kann die MD5-Kontrolle im Bios abschalten .... aber wie ???


    MfG
    krobo
     
  4. kawa0815

    kawa0815 Neuer User

    Registriert seit:
    9 Apr. 2005
    Beiträge:
    116
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Da hab ich wohl was falsch gelesen. (1101 - 1001).

    Wie Du schreibst müsste also die Übereinstimmung der MD5 in der boot.sig mit der der in der nk.bin durch die Firmware getestet werden. Aber nicht nur das, es dürfte auch noch ein Vergleich mit einer im FWH abgelegten MD5 erfolgen.

    Wenn das so ist hilft nur eine Änderung der Firmware.

    kawa
     
  5. krobo

    krobo Neuer User

    Registriert seit:
    9 Jan. 2007
    Beiträge:
    11
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    LE
    ... danke für deinen Antwort!

    ja und genau da liegt jetzt mein Problem ... entweder eine "boot.sig" erstellen (ist ja mehr oder weniger nur ´ne Textdatei) die der Kontrolle durch die FW stand hält und in der man die MD5 einer beliebigen NK.bin einpflegen kann ...

    oder die FW ändern ... nur wie??

    Klar FW auslesen via Uniflash oder ´nem "EPrommer" (oder wie man so´n Teil nennt), bearbeiten im HexEditor, und dann zurück ...
    der Gedanke ... alles was mit MD5 in der FW steht im HE durch 00 00 00 etc. ersetzen ... nur reicht das??
    dann könnte man ja gleich mal noch die Bootparameter ändern, ggf. um Linux/Windows etc. oder sonst was zu starten. ....??? vielleicht gar gleich ein VideoBios daraus machen .... ein zu schöner Traum???

    aber vielleicht findet sich ja noch´n Tip oder ´ne Anregung...

    jedenfalls nochmals danke!

    krobo

    ach so ... wollte noch sagen, dass ich 2 unterschiedliche NK.bin´s mit je einer zugehörigen boot.sig habe, mit total unterschiedlichen Checksum(men), und beide werden hochgeladen ...
     
  6. kawa0815

    kawa0815 Neuer User

    Registriert seit:
    9 Apr. 2005
    Beiträge:
    116
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Dann hat MSN einen eigenen Algo zur Erstellung der Checksumme verwendet.
    Überprüfen kannst Du das indem Du mal eine MD5 von einer nk.bin machst.

    kawa
     
  7. krobo

    krobo Neuer User

    Registriert seit:
    9 Jan. 2007
    Beiträge:
    11
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    LE
    ...??? sorry ... aber das verstehe ich nicht ...

    eigner Algo ja, möglich ...
    doch die md5 der nk´s sind total unterschiedlich und auch die der boot.sig´s.
    sieh selbst ... vielleicht sitze ich auch zu nah davor ... (Wald und Bäume... ;) )

    MD5 checksum of "...\Flash-Org\Nk.bin" :
    74 91 f4 0a 0a 10 ef 66 d0 02 41 be ef ee 78 11


    MD5 checksum of "...\Flash-Org\Boot.sig" :
    a5 b2 b6 53 d2 7a 7b bc 4d 3d 3c 24 26 58 83 b0


    MD5 checksum of "...\Flash2-Org\Nk.bin" :
    58 e9 0a d1 63 8b d9 06 54 d4 2c df 94 46 be 6e


    MD5 checksum of "...\Flash2-Org\Boot.sig" :
    46 7e e4 55 17 d6 44 d6 d4 fb 23 f3 f9 6f 39 3a

    ... kann dir ja mal so ´ne boot.sig zukommen lassen ...
    vielleicht siehst du was, was ich nicht sehe ...


    krobo
     
  8. kawa0815

    kawa0815 Neuer User

    Registriert seit:
    9 Apr. 2005
    Beiträge:
    116
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich denke es ist so:

    Beide Dateien bzw. die Checksumme der Dateien wurden mit eimem Algo verschlüsselt. Der Algo zum verschlüsseln der Checksumme ist in beiden Fällen gleich. Da aber die Inhalte der beiden Dateien und damit auch die Checksumme unterschiedlich ist, sind dann die verschlüsselten Checksummen natürlich unterschiedlich.
    Beim Bootvorgang wird jetzt eine Datei geladen, die Checksumme im Ram gebildet und diese Checksumme mit der zuvor mit dem Algo wieder entschlüsselten Checksumme verglichen. Sind dann beide Checksummen gleich ist die Datei o.K.

    Wenn jetzt in Deiner boot.sig ein Schlüssel für den Algo vorhanden ist passiert folgendes.

    Die Bootsig wird geladen, der Algo wird mit den Daten aus der boot.sig gefüttert und die Checksumme der booot.sig wird wie oben geprüft.
    Ist die Datei o.K. ist gewährleiset, dass der ALGO mit den richtigen Parametern läuft und die nk.bin geprüft werden kann.

    Stell Dir folgende einfache Aufgabe vor CS = MD5 + 2 + x + y + 4 + z

    x, y und z stehen in der boot.sig als Wert, CS als Ergebnis der Gleichung.

    Das Gleiche passiert mit der nk.bin, nur hier wird x,y und z halt aus der boot.sig genommen.


    kawa
     
  9. krobo

    krobo Neuer User

    Registriert seit:
    9 Jan. 2007
    Beiträge:
    11
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    LE
    also in der boot.sig steht:

    1.Zeile im Editor:

    0139C5E701E79A7597E4ADC65D58AC13581D914F7CC783A7CA8F57E8956570703F997F9E9E872DF80C476D0A9B88...........................................BE5BA0E1B327F5607F4064D70E34ABC44149C7379F98A51AF070D649214118FDCC83B659461C94A

    2.Zeile im Editor:
    TDP NORTHAM................................TER-04 Tue 08/31/2004 14:58:08.73

    3.Zeile:
    00000346 00040000 SIGNSUB: BMONKEY@BM-CHARTER-04

    4. Zeile:
    NK.BIN 8402E3 D10AE958 06D98B63 DF2CD454 6EBE4694 B # 9093CC3A 5D255B91 11E795FD 9575F340

    ...das fett markierte ist die MD5 der Nk.bin ...

    ?? wenn jetzt in der boot.sig der Algo oder die Berechnungsgrundlage dafür hinterlegt ist und
    die MD5 der boot.sig selbst mit abgeglichen wird, müsste man ja die MD5 der boot.sig bereits vorher wissen und die Datei entsprechend anfertigen ... geht das??

    krobo
     
  10. Sentenza

    Sentenza Neuer User

    Registriert seit:
    19 Jan. 2007
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Also eine Datei so zu erzeugen, dass sie den gleichen md5 hash erzeugt ist möglich, wenn auch extrem aufwendig. Sowas nennt sich dann hash collision und wurde bei md5 von ein paar Chinesen geschafft: http://eprint.iacr.org/2004/199.pdf

    Ich bezweifle aber stark, dass sich das in diesem Fall lohnt. Es wäre einfacher das Booteeprom neu zu schreiben.
     
  11. kawa0815

    kawa0815 Neuer User

    Registriert seit:
    9 Apr. 2005
    Beiträge:
    116
    Zustimmungen:
    0
    Punkte für Erfolge:
    0

    Nein, in der boot.sig steht kein Algo, der liegt im Rom, er braucht aber für die Berechnung der Daten wie in meinem obigen Beispiel die Werte x,y und z

    Mit diesen Werten entschlüsselt der Algo, die in der boot.sig verschlüsselte md5 der boot.sig und vergleicht diese mit der normal errechneten md5.

    Veränderst du jetzt irgend was in der boot.sig, stimmt die normale md5 nicht mehr.

    Der Algo (der im Flash) holt sich die boot.sig in den Speicher und berechnet die md5. Dann nimmt er die in der boot.sig vorhandene md5, holt sich aus der boot.sig die x,y und z Werte und entschlüsselt diese verschlüsselte md5.
    Die Ergebnisse sind nicht mehr gleich, das System ist beleidigt und stellt sich stur.

    kawa
     
  12. krobo

    krobo Neuer User

    Registriert seit:
    9 Jan. 2007
    Beiträge:
    11
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    LE
    danke @all !!!

    ok glaube mal die chinesische Variante kommt wohl eher nicht in Frage ...

    also ... hab nochmal so recherchiert...

    auf der CF sind noch 3 weitere Dateien, die auch direkt von der FW auf die CF geschrieben werden. Es handelt sich um 2 PicsRulesFiles und die Kopie einer der Dateien ... boot.prf , bootarc.prf , bootprf.bak ;
    unter XP kann man scheinbar ein Zertifikat damit im Inhaltsratgeber des iexplorer installieren ... scheitert aber;

    glaube das hier der Schlüssel liegt für das Einlesen der boot.sig ....
    möglich ??? dass mit Hilfe dieser Dateien, der "lesbare" Inhalt der boot.sig (Worte,Datum,NK.bin,MD5 etc.) in diese riesenlange Hex-Kette in der 1.Zeile der boot.sig übersetzt wurde bzw. diese zum Vergleich herangezogen wird.

    habe die FW auch nochmals studiert...
    im Bios steht ... MD5:%08X %08X %08X %08X ...
    MD5 is '%s' ... MD5 calc='%s' loadet='%s' ...
    ... Is Signed ..

    ... Part_%d.txt
    ... IP: %03d.%03d.%03d.%03d
    ... Mac: %02X.%02X. .....
    ... Date: mm:dd:yyyy ... %02d:%02d:%04d
    ... http://'%s'/'%s'/ ...

    Interpretation:
    % ... Variables Zeichen
    02 ... 2 Stellen
    03
    04
    08 ... 8 Stellen
    etc. ...
    d ... dezimal
    X ... hexadezimal

    s ... ??? kann die Bedeutung noch nicht kongret zuordnen
    möglich ist es unbestimmt, variabel von der Zeichenmenge und Zeichenart

    vermutlich kennt demzufolge die FW/bios nicht die md5, ggf. auch nicht die Regel bzw. den Algo etc. und sagt nur aus, wenn md5 = md5 ist wird geladen ....
    oder eben nicht...

    wenn nicht geladen wird, sucht die Box im Internet nach einer neuen NK.bin etc. .... syncserver.iptv.microsoft.com
    dort gibts aber nix sinnvolles

    krobo