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?
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
kein Hang
Flo354
kein Hang
Flo354
kein Hang
Flo354
Flo354