Les cookies de navigateur en forensique
2026-05-19 · 3 min
Les cookies sont une source de chronologie sous-estimée. Chaque ligne porte
trois horodatages et un domaine ; ce triplet à lui seul reconstitue quels
sites le navigateur a vus et quand, même lorsque l'historique a été effacé.
Sur un poste où l'utilisateur a effacé History mais a oublié la base
Cookies, la table des cookies sauve fréquemment l'enquête.
Où ils se trouvent
| Navigateur | Fichier | Stockage |
|---|---|---|
| Chrome / Edge | Network/Cookies | SQLite cookies |
| Firefox | cookies.sqlite | moz_cookies |
| Safari | Cookies.binarycookies | format binaire propre à Apple |
Chromium a déplacé Cookies dans Network/ aux alentours de M96. Les
acquisitions Chrome plus anciennes l'auront à la racine du profil.
Ce que vous obtenez par ligne
- Domaine (et host_key dans Chromium, avec un point initial pour les wildcards).
- Nom, chemin.
is_secure,is_httponly,samesite,priority.- Heure de création, dernière heure d'accès, expiration.
Trois horodatages par cookie signifient un chevauchement de chronologie
avec l'historique, les téléchargements et même les échantillons réseau
SRUM. Un cookie __Secure-3PSI posé à la
même seconde qu'une ligne de téléchargement verrouille la visite de manière
incontestable.
Le problème de la valeur chiffrée
Chromium chiffre les valeurs de cookies au repos depuis la v80. Sous
Windows, la clé est encapsulée par DPAPI sous la clé maîtresse de
l'utilisateur ; sous macOS, elle réside dans le Keychain ; sous Linux,
c'est une clé fixe peanuts ou kwallet/gnome-keyring selon la
distribution. Sans les clés en direct, la colonne encrypted_value est du
chiffré AES-256-GCM.
Pour la plupart des enquêtes, cela n'a pas d'importance : les métadonnées
répondent à la question. Les cas où cela compte (prouver un jeton de
session précis, récupérer un état OAuth) requièrent les clés de profil de
l'utilisateur. Mimikatz, DonPAPI et dpapilab-ng couvrent l'extraction
sous Windows ; sous macOS, l'extraction du Keychain avec le mot de passe
utilisateur fonctionne pour une acquisition déverrouillée.
Les cookies Firefox restent en clair. Les binarycookies Safari aussi.
Lire Cookies.binarycookies rapidement
Si vous n'avez pas de parseur sous la main, le format est assez petit pour
se parcourir à la main. Magie cook, nombre de pages en big-endian, tailles
par page en big-endian, puis blocs de pages. Chaque enregistrement de
cookie comporte 56 octets d'en-tête plus quatre chaînes terminées par NUL
(domaine, nom, chemin, valeur). Les deux horodatages sont en Mac absolute
time au format float64.
Pièges
- La suppression d'un cookie n'efface pas la ligne instantanément dans Chromium ; il existe une fenêtre de tombstone avant que la ligne ne soit réclamée. On peut parfois récupérer des cookies récemment supprimés depuis le WAL.
host_keydans Chromium n'est pas toujours l'hôte de l'URL. Un cookie posé parexample.compour.example.comaffiche le point initial ; utilisez l'hôte sans le point comme clé de comparaison.- Un
expires_atSafari à0signifie cookie de session. Ne l'affichez pas comme 2001-01-01.