browserforensics
Zurück zu allen Artikeln

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

BrowserDateiSpeicher
Chrome / EdgeNetwork/CookiesSQLite cookies
Firefoxcookies.sqlitemoz_cookies
SafariCookies.binarycookiesApple-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_key in Chromium ist nicht immer der URL-Host. Ein von example.com für .example.com gesetztes Cookie zeigt den führenden Punkt; verwenden Sie den getrimmten Host als Vergleichsschlüssel.
  • Safaris expires_at von 0 bedeutet Sitzungs-Cookie. Stellen Sie das nicht als 2001-01-01 dar.

Weiterführende Lektüre