Browser-Cookies in der Forensik
2026-05-19 · 2 min
Cookies sind eine unterschätzte Zeitleistenquelle. Jede Zeile trägt drei
Zeitstempel und eine Domain; allein dieses Tripel rekonstruiert, welche
Seiten der Browser gesehen hat und wann, selbst wenn der Verlauf gelöscht
wurde. Auf einem Host, auf dem der Benutzer History gelöscht, aber die
Cookies-Datenbank vergessen hat, rettet die Cookie-Tabelle häufig den
Fall.
Wo sie liegen
| Browser | Datei | Speicher |
|---|---|---|
| Chrome / Edge | Network/Cookies | SQLite cookies |
| Firefox | cookies.sqlite | moz_cookies |
| Safari | Cookies.binarycookies | Apple-Binärformat |
Chromium hat Cookies mit etwa M96 nach Network/ verschoben. Ältere
Chrome-Erfassungen finden die Datei noch im Profilstamm.
Was Sie pro Zeile erhalten
- Domain (und host_key bei Chromium, mit führendem Punkt für Wildcards).
- Name, Pfad.
is_secure,is_httponly,samesite,priority.- Erstellungszeit, letzte Zugriffszeit, Ablauf.
Drei Zeitstempel pro Cookie bedeuten Überlappung in der Zeitleiste mit
Verlauf, Downloads und sogar SRUM-
Netzwerkmessungen. Ein __Secure-3PSI-Cookie, das in derselben Sekunde wie
eine Download-Zeile gesetzt wird, belegt den Besuch eindeutig.
Das Problem des verschlüsselten Werts
Chromium verschlüsselt Cookie-Werte seit v80 im Ruhezustand. Unter Windows
ist der Schlüssel per DPAPI mit dem Master-Schlüssel des Benutzers
gekapselt; unter macOS liegt er im Keychain; unter Linux ist es entweder
ein fester peanuts-Schlüssel oder kwallet/gnome-keyring, je nach
Distribution. Ohne die Live-Schlüssel ist die Spalte encrypted_value
AES-256-GCM-Chiffretext.
Für die meisten Ermittlungen spielt das keine Rolle; die Metadaten
beantworten die Frage. Die Fälle, in denen es wichtig ist (Nachweis eines
bestimmten Sitzungs-Tokens, Wiederherstellung eines OAuth-State),
benötigen die Profilschlüssel des Benutzers. Mimikatz, DonPAPI und
dpapilab-ng decken die Extraktion unter Windows ab; unter macOS
funktioniert die Keychain-Extraktion mit dem Benutzerpasswort für eine
entsperrte Erfassung.
Firefox-Cookies bleiben im Klartext. Safari-binarycookies sind ebenfalls
unverschlüsselt.
Cookies.binarycookies schnell lesen
Wenn Sie keinen Parser zur Hand haben, ist das Format klein genug, um es
von Hand zu durchlaufen. Magic cook, Big-Endian-Seitenanzahl,
Big-Endian-Größen pro Seite, dann Seitenblöcke. Jeder Cookie-Datensatz
besteht aus 56 Byte Header und vier NUL-terminierten Strings (Domain,
Name, Pfad, Wert). Beide Zeitstempel sind float64 in Mac Absolute Time.
Fallstricke
- Das Löschen eines Cookies entfernt die Zeile in Chromium nicht sofort; es gibt ein Tombstone-Fenster, bevor die Zeile abgeräumt wird. Manchmal lassen sich kürzlich gelöschte Cookies aus dem WAL wiederherstellen.
host_keyin Chromium ist nicht immer der URL-Host. Ein vonexample.comfür.example.comgesetztes Cookie zeigt den führenden Punkt; verwenden Sie den getrimmten Host als Vergleichsschlüssel.- Safaris
expires_atvon0bedeutet Sitzungs-Cookie. Stellen Sie das nicht als 2001-01-01 dar.