Entschlüsseln Sie die Formularwertedatei von Safari

Unter Mac OS 10.7 gab es eine verschlüsselte Datei namens Form Values ​​im Ordner /home/Users/${user}/Library/Safari . Diese verschlüsselte Datei enthielt alle Formularwerte zum automatischen Ausfüllen in Safari. Ich weiß nicht, ob diese Datei in der aktuellen Version noch existiert, aber während einer Analyse eines alten Macs von mir habe ich diese verschlüsselte Datei gefunden und wollte sie untersuchen.

Diese Datei scheint mit einem Schlüssel verschlüsselt zu sein, der in login.keychain des Benutzers enthalten ist . Ich habe den Schlüssel (256 Bit lang), aber ich konnte den richtigen Weg zum Entschlüsseln von Daten nicht finden.

Laut dieser Antwort https://apple.stackexchange.com/a/198290/332020 ist die Datei mit AES-128 Bit verschlüsselt. Aber keine meiner Implementierungen hat funktioniert (AES-128 mit den ersten 128 Bits als Salt, 128 danach als Schlüssel, ECB, CBC, ...). Seit Mac OS 10.7 im Jahr 2011 veröffentlicht wurde, habe ich auch 3DES ausprobiert, ebenfalls ohne Glück.

Weiß jemand mehr über den Verschlüsselungsprozess?

Bitte geben Sie genauer an, wie Sie versucht haben, es zu entschlüsseln (mit welchen Befehlen) und wie sie fehlgeschlagen sind. Außerdem weist die Antwort in der ursprünglichen Frage auf ein Tool hin, das behauptet, die Datei entschlüsseln zu können. Hast du das schon probiert?
@nohillside Ich werde meine Frage morgen mit dem Quellcode aktualisieren. Außerdem ist das Tool nicht mehr verfügbar.
Bitte beachten Sie, dass „Fragen zur Programmierung auf Code-Ebene (Cocoa, LLVM usw.) hier nicht zum Thema gehören. Wir ermutigen zu AppleScript-, Automator- und UNIX-Shell-Scripting-Fragen sowie zur Verwendung von Tools wie Xcode für nicht sprachspezifische Aufgaben." Fragen auf Codeebene können auf StackOverflow gestellt werden.
Ich verstehe, aber meine Frage bezieht sich nicht auf den Code. Ich weiß, wie man Krypto verwendet, und der von mir verwendete Code wird für mehrere Produkte verwendet. Meine Frage bezieht sich auf das Verständnis einer Funktion in Bezug auf Mac (Safari). Aus diesem Grund habe ich bei Stackoverflow nicht danach gefragt, da ich den von Safari auf dem Mac verwendeten Verschlüsselungsprozess nicht kenne und nicht, wie man ihn programmiert.
Die Windows-Version des Tools ist weiterhin verfügbar ( Guidancesoftware.com/app/Safari-Form-Values-Decryptor ), ebenso wie der Originalartikel ( web.archive.org/web/20161026122600/http://… )
Danke für den Artikel, nicht gefunden!!!! Interessant ist, dass der Autor von einem 32-Byte-Schlüssel (wie ich ihn habe) mit AES-128 spricht. Es macht keinen Sinn, wenn kein Teil als IV verwendet wird. Die Software hingegen ist ein Plug-in, das in EnCase Forensic (Shareware, sehr teuer) eingefügt werden kann. Ich habe die .exe im Internet nicht gefunden.
Ich habe die Lösung gefunden! Das „Passwort“ im Schlüsselbund wird durch PBKDF2 mit dem Salt „someSalt“ und 1000 Iterationen abgeleitet. 128 Bit als Ausgabe, die dann AES CBC mit PKCS5Padding durchläuft. Und es ist geschafft! Soll ich eine Antwort auf meine eigene Frage erstellen?

Antworten (1)

Also... Nach stundenlanger Recherche habe ich endlich den Verschlüsselungsprozess gefunden.

Das im Schlüsselbund enthaltene Passwort ist NICHT der Verschlüsselungsschlüssel! Das Passwort muss abgeleitet werden, um den Schlüssel zu erhalten. Der Prozess ist wie folgt: PBKDF2_SHA1(password: passwordFromKeychain, salt: someSalt, iterations: 1000, outputLen: 128)

Dann kann die Chiffre leicht entschlüsselt werden. Es ist einfach AES-CBC-128 mit PKCS5Padding und ohne IV (oder IV = [0, ...])

Die Ausgabe ist eine binäre PLIST, die von jedem Programm gelesen werden kann, das über eine solche Fähigkeit verfügt. So können Sie feststellen, ob der Entschlüsselungsprozess erfolgreich ist, indem Sie überprüfen, ob die ersten 6 Byte gleich sind: „bplist“.

Ich habe einen Code (JAVA) geschrieben, um die Entschlüsselung durchzuführen: https://github.com/Flo354/SafariFormValuesDecryptor

Vielen Dank, dass Sie zurückgekommen sind und Ihre eigene Frage beantwortet haben!
Danke, aber ich finde Ihre Beschreibung unvollständig - und ich habe keine Ahnung, was PBKDF2_SHA1 ist, wo es zu finden ist und wo Sie das "someSalt"-Ding usw. bekommen. Sie müssen detaillierter sein, und BITTE Sagen Sie auch, wie es anders geht - verschlüsseln Sie die Daten zurück, damit Safari sie verwenden kann.