D4rckOps/sec

Mémo /Forensique /DB Browser for SQLite : fouiller les bases des navigateurs

Mis à jour le 07.10.2026

DB Browser for SQLite : fouiller les bases des navigateurs

Historique, téléchargements, cookies, recherches tapées : les navigateurs rangent tout dans des bases SQLite. Voici comment les lire.

Pourquoi ces bases comptent

Les navigateurs stockent leurs données dans des fichiers SQLite : historique, téléchargements (source et destination), cookies, mots-clés tapés dans la barre de recherche, autorisations, extensions.

En investigation, on peut y trouver :

  • l’origine d’un téléchargement malveillant ;
  • son nom de fichier d’origine, pour pivoter vers la MFT ;
  • les URL visitées juste avant un incident ;
  • des recherches qui renseignent sur l’intention de l’utilisateur.

L’outil

DB Browser for SQLite (sqlitebrowser) ouvre ces fichiers en lecture. Deux onglets suffisent la plupart du temps :

  • Structure de la base : les tables et leurs colonnes, pour s’orienter ;
  • Parcourir les données : le contenu, avec filtres par colonne.

L’onglet Exécuter le SQL permet des requêtes plus fines.

Les fichiers à connaître

NavigateurHistorique et téléchargementsAutres
Firefoxplaces.sqlitecookies.sqlite, formhistory.sqlite, permissions.sqlite
Chrome, EdgeHistoryCookies, Web Data, Login Data

Les noms et structures varient d’un navigateur à l’autre, et d’une version à l’autre.

Les pièges

  • Les profils. Chaque utilisateur — et parfois chaque session — a son propre profil (Default, Profile 1…). Un utilisateur peut avoir téléchargé un outil depuis un compte administrateur local : le téléchargement n’apparaîtra pas dans son profil habituel. Examiner tous les profils.

  • Les horodatages. Firefox compte en microsecondes depuis le 1er janvier 1970 ; Chrome et Edge en microsecondes depuis le 1er janvier 1601. Une conversion avec la mauvaise origine décale toute la chronologie de plusieurs siècles — ou, pire, de quelques heures si l’on confond aussi les fuseaux.

    -- Chrome : convertir last_visit_time en date lisible (UTC)
    SELECT url, title,
           datetime(last_visit_time / 1000000 - 11644473600, 'unixepoch') AS visite
    FROM urls ORDER BY last_visit_time DESC LIMIT 50;
    
  • Toujours sur une copie, navigateur fermé (voir la fiche sur les artefacts des navigateurs).