Chrome unter Windows verwendet AES seit Version 80, um Browser-Cookies zu verschlüsseln.
(Das Cookie des Chrome-Browsers für Linux und MacOS wird hier nicht erwähnt. Im Folgenden bezieht sich "Cookie" auf das Cookie des Chrome-Browsers für Windows.)
Bisher wurde es mit der DPAPI-Windows-API (CryptUnprotectData in crypt32.dll) verschlüsselt, mit der neuen Methode verschlüsselte Cookies können jedoch nicht mit der alten Methode entschlüsselt werden.
Apps, die den Inhalt der Windows Chrome-Cookie-Datei direkt lesen, um sich bei einem Webdienst anzumelden, sind von dieser Änderung betroffen. (Beispiel: Nico Raw Comment Viewer)
Der Überblick über das Verfahren zum Entschlüsseln von AES-verschlüsselten Cookies ist unten dargestellt.
Der Standardwert lautet wie folgt (wie zuvor).
%userprofile%\appdata\local\google\chrome\user data\default\cookies
(Änderungen, wenn Sie Ihr Profil verschieben, Windows neu installieren, Ihr Google-Konto ändern usw.)
Verschlüsseltes Cookie Der Anfang der Daten ist "0x01 00 00 00" → von DPAPI verschlüsseltes Cookie
Verschlüsseltes Cookie Der Anfang der Daten ist "v10" → AES-verschlüsseltes Cookie
Die Entschlüsselung erfordert nicht nur einen Schlüssel, sondern auch einen Wert namens nonce.
Für Nonce werden 12 Bytes nach dem 4. Byte ohne das Präfix 3 Bytes ('v10') vom Anfang jeder verschlüsselten Cookie-Daten unverändert verwendet.
Standardmäßig wird der Schlüssel verschlüsselt und verschlüsselt und in der unten stehenden Datei "Local State" gespeichert.
%userprofile%\appdata\local\google\chrome\user data\local state
Der Inhalt von Local State ist im JSON-Format. Verschlüsselte Schlüsseldaten werden in ["os_crypt"] -> ["encrypted_key"] gespeichert.
Die Länge des erhaltenen Schlüssels sollte 256 Bit (32 Byte) betragen.
Sie haben jetzt den Schlüssel entschlüsselt, der zum Entschlüsseln des Cookies erforderlich ist.
Der Teil der verschlüsselten Cookie-Daten ohne die ersten 15 Bytes ('v10' + Nonce 12 Bytes) wird durch 256-Bit-AES-GCM unter Verwendung der oben erhaltenen Nonce und des Schlüssels entschlüsselt.
Außerdem werden die letzten 16 Bytes der entschlüsselten Daten entfernt.
https://github.com/taizan-hokuto/chrome_cookie Ich benutze die Kryptographie-Bibliothek für AES-GCM. Wenn die Kryptografie nicht enthalten ist, führen Sie "pip install cryptography" aus. python 3.7.4 Chrome-Version: Bestätigt für die Arbeit mit 80.0.3987.87 (Official Build) (64-Bit).
browsercookiejar (regen100) https://github.com/regen100/browsercookiejar
AES GCM example in python and go (sumanmukherjee03) https://gist.github.com/sumanmukherjee03/dd16d6c732a1055b6af97daba484809d
A little tool to play with Windows security (gentilkiwi) https://github.com/gentilkiwi/mimikatz
Recommended Posts