Md5 Hash als URL-Parameter - entschlüsseln



  • Hallo27 schrieb:

    😃 Ich will den Hash entschlüsseln, nicht ihn sichere machen 😉

    ja, wie gesagt, das wird nicht funktionieren.



  • Ich will nicht unbedingt den Hash zurückführen, dass ist bei einer Ein-Weg-Funktion unmöglich, mal von Brute Force abgesehen.

    Aber der Hashwert muss ja irgendwie berechnet werden, dazu wird der secret key gebraucht, der bekannter Maßen eine Konstante ist.
    Also muss der doch auch irgendwo konstant gespeichert sein, oder gibt es noch andere Möglichkeiten, wenn man das Netzwerk ausschließen kann ?



  • Hallo27 schrieb:

    Ich will nicht unbedingt den Hash zurückführen, dass ist bei einer Ein-Weg-Funktion unmöglich, mal von Brute Force abgesehen.

    Aber der Hashwert muss ja irgendwie berechnet werden, dazu wird der secret key gebraucht, der bekannter Maßen eine Konstante ist.
    Also muss der doch auch irgendwo konstant gespeichert sein, oder gibt es noch andere Möglichkeiten, wenn man das Netzwerk ausschließen kann ?

    ja, er muss, wenn er nicht übers internet kommt, natürlich irgendwo gespeichert werden.

    wahrscheinlich kannst du den key nicht über "einfaches" disassembling finden, weil er über trivial-verschlüsselungen wie xor usw. "verschlüsselt" ist.



  • Hmmm....
    Das wäre auf jedenfall eine Möglichkeit, um eine Schlüssel zu verbergen...



  • Danke für eure Antworten, aber eine Frage habe ich noch.
    Könnte so ein secret Key in einem X509-codierten Zertifikat sein?



  • Hallo27 schrieb:

    Danke für eure Antworten, aber eine Frage habe ich noch.
    Könnte so ein secret Key in einem X509-codierten Zertifikat sein?

    ja. in so einem zertifkat kann ein schlüssel für so ziemlich alles sein. das zertifikat-format ist universell einsetzbar.

    warum ist dieser key eigentlich so wichtig?



  • Weil der Server meine Requests mit einer Error Message beantwortet, wenn ich diesen Hash, der mit dem key errechnet wird, falsch beantworte.

    Und weil ich mit meinem eigenen Client gerne den Streaming Dienst nutzen möchte - für den ich ja auch immerhin bezahle (!) -, brauch ich diesen Key....

    Hab das Zertifikat gerade gelöscht 😉 - Der Cient läuft immer noch, das wird den Key wohl nicht enthalten



  • also ich würde mich ja eher an den support / serverbetreiben wenden, als hier irgendwelche aktionen zu starten.



  • Tut mir Leid, wenn ich hier Leute gegen ihren Willen ihrer Zeit beraubt haben.
    Allerdings glaube ich nicht, dass man mir den Key aushändigen wird 😞

    Aber ein Versuch kostet ja nichts, ich werde mal anfragen. Dankeschön 🙂



  • md6 - nachtrag schrieb:

    soweit ich weiß, kann es bei md5 kollisionen geben (d.h. das verschiedene daten den gleichen md5-hash bekommen können).

    MD5 hat definitiv Kollisionen. Ich kann einen Hash für einen beliebig langen Daten bilder aber der Hash selbst ist nur 16 Bytes lang. Es gibt also nur eine Anzahl von MD5-Hashes, aber unbegrenzt viele Daten, für die ich einen MD5-Hash bilden kann. Schon bei 17 Bytes Daten werde ich mindestens 256 Kollisionen haben.

    Aus dieser Tatsache ergibt sich auch, dass der MD5-hash nicht reversibel sein kann. Für einen Hash Wert gibt es ja schließlich wahrscheinlich mehrere (unbegrenzt viele) Datenströme, die diesen MD5 Hash ergeben.



  • Um das ursprüngliche Problem zu lösen, würde ich versuchen, von verschiedenen Kombinationen der Daten solange Hash-Werte zu bilden, bis der richtige rauskommt.

    Falls du lieber weiter im Speicher des Prozesses rumstochern möchtest, könntest du L. Spiros MHS verwenden (http://memoryhacking.com/) – es unterstützt verschiedene fähigere Suchfunktionen, bis hin zu eigenen Suchskripts. 🙂
    Ob man damit auch in anderen Suchmodi XOR umkehren kann, weiß ich nicht; vielleicht schon
    (mit einem Skript geht es natürlich auf jeden Fall, denke ich, aber man muss ja ned gleich die Nuklearwaffen rausholen, nur weil jemand einen Holzsichtschutz aufgestellt hat 😉 )



  • Sonnenfilter schrieb:

    Um das ursprüngliche Problem zu lösen, würde ich versuchen, von verschiedenen Kombinationen der Daten solange Hash-Werte zu bilden, bis der richtige rauskommt.

    das ist ja eben dieses brute-force prinzip, das vorher schon angesprochen wurde.

    das problem ist, dass es unendlich viele kominationen gibt, man kann also unendlich lange "rumprobieren". die wahrscheinlichkeit, dass man den richtigen key findet, geht gegen 0.



  • Der einfachere Lösungsansatz zuerst:
    Frag doch mal nach, was für diesen Parameter verwendet wird, vielleicht bekommst du sogar Zugriff auf die interne Dokumentation (die der Anbieter hoffentlich hat 😉 ), immerhin bezahlst du anscheinend auch.

    Der andere Ansatz:
    Man kann die Anzahl schon reduzieren, wenn man ein paar Annahmen trifft, also beispielsweise, dass die Daten alle hintereinander zusammengefügt wurden, bevor sie gehasht wurden (und nicht ihre einzelnen Bits nach irgendwelchen Mustern verteilt), oder dass die Daten nicht mittels AES-256 mit der Zeit (oder einem Hash von ihr) als Schlüssel verschlüsselt wurden, solche Dinge eben.
    Das reduziert dann die Anzahl der Möglichkeiten schon.
    So wie ich das verstanden habe, vermutest du, dass es nur zwei [ähhh…] Dinge als Ausgangsgrößen verwendet werden: Der Pfad zur Datei (URL?) und irgendein Timestamp. Ich würde dazu noch den Dateinahmen, IP, Port und vielleicht die aktuelle Zeit nehmen, wobei diese wahrscheinlich im selben Format wie die des Timestamps ist (also Unix-Zeit, UTC, Datum im ISO-Format, …).
    Die musst du dann nur noch (vllt. mithilfe eines Programms) verketten, in jeweils anderer Reihenfolge, den MD5-Hash bilden und schließlich ausprobieren, ob es klappt. Fertig 🙂

    Natürlich wird dieses Vorgehen nicht sicher zu einer Lösung führen, aber so besteht wenigstens eine gewisse Chance auf Erfolg.



  • Danke für alle Antworten. 🙂

    Ich muss peinlicherweise gestehen, dass ich einen Fehler gemacht habe...
    Der Hash kommt über das Netzwerk rein ! - Ich Idiot !

    Er war nur mit gzip coodiert, deshalb hab ich ihn übersehen, warum kann MS Network Monitor kein gzip automatisch entpacken ?!

    Aber nochmal vielen Dank für die vielen Vorschläge 😉



  • lol.
    Danke, dass Du das noch öffentlich aufklärst. Es wird bald jemanden mit genau dem selben Problem geben und der findet durch Dich die Lösung hier.


Anmelden zum Antworten