
hindsight v2026.06
Outil de criminalistique numérique pour navigateur Google Chrome, autres navigateurs basés sur Chromium, et Mozilla Firefox
Hindsight
Analyse forensic de l'historique Internet pour Google Chrome/Chromium et Mozilla Firefox
Hindsight est un outil gratuit d'analyse des artefacts web. Il a commencé par l'historique de navigation du navigateur Google Chrome, s'est étendu à la prise en charge d'autres applications basées sur Chromium, et analyse désormais également les profils Mozilla Firefox. Hindsight peut analyser un certain nombre de types d'artefacts web différents, notamment les URL, l'historique des téléchargements, les enregistrements de cache, les signets, les enregistrements de remplissage automatique, les mots de passe enregistrés, les préférences, les extensions de navigateur, les cookies HTTP et les enregistrements de stockage local (cookies HTML5). Une fois les données extraites de chaque fichier, elles sont corrélées avec les données d'autres fichiers d'historique et placées dans une chronologie.
Pour les profils Firefox, Hindsight analyse places.sqlite (visites d'historique, signets et téléchargements), cookies.sqlite et formhistory.sqlite. Sélectionnez « Firefox » dans l'interface graphique ou passez -b Firefox en ligne de commande, en pointant vers un répertoire de profil tel que \[userdir]\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>.
Il dispose d'une interface web simple - pour la démarrer, exécutez « hindsight_gui.py » (ou sous Windows, le « hindsight_gui.exe » packagé) et visitez http://localhost:8080 dans un navigateur :
Le seul champ que vous êtes tenu de remplir est « Profile Path ». Il s'agit de l'emplacement du profil Chrome que vous souhaitez analyser (les chemins de profil par défaut pour les différents OS sont listés en bas de cette page). Cliquez sur « Run » et vous serez redirigé vers la page de résultats où vous pourrez enregistrer les résultats dans un tableur (ou d'autres formats).
Installation manuelle
Pour installer Hindsight (à la fois l'outil en ligne de commande et l'interface web), faites :
pip install pyhindsight
pip install git+https://github.com/cclgroupltd/ccl_chromium_reader.git
Si vous souhaitez utiliser la fonctionnalité « View SQLite DB in Browser » dans l'interface web de Hindsight, vous devrez exécuter une autre commande d'installation :
curl -sSL https://raw.githubusercontent.com/RyanDFIR/hindsight/main/install-js.sh | sh
Ligne de commande
Il existe également une version en ligne de commande de Hindsight - hindsight.py ou hindsight.exe. Le guide d'utilisation dans le dossier documentation couvre de nombreux sujets, mais les informations ci-dessous devraient vous permettre de démarrer avec la version en ligne de commande :
Exemple d'utilisation : > C:\hindsight.py -i "C:\Users\Ryan\AppData\Local\Google\Chrome\User Data\Default" -o test_case
Options de la ligne de commande :
| Option | Description |
|---|---|
| -i or --input | Chemin vers un profil de navigateur, ou un répertoire parent dans lequel rechercher récursivement les profils |
| -o or --output | Nom du fichier de sortie (sans extension) |
| -f or --format | Format de sortie (par défaut XLSX, autres options : SQLite et JSONL) |
| -c or --cache | Chemin vers le répertoire de cache ; nécessaire uniquement si le répertoire est en dehors du répertoire « input » donné. Les systèmes Mac sont configurés ainsi par défaut. |
| -b or --browser_type | Force un navigateur pour chaque profil : Chrome, Edge, Brave, Vivaldi, Firefox ou Tor (insensible à la casse ; Chromium est un alias pour Chrome). Omettre pour détecter automatiquement chaque profil. |
| -l or --log | Emplacement dans lequel Hindsight doit journaliser (ajouté à la suite si le fichier existe) |
| --log-level | Niveau de détail à écrire dans le journal : debug, info (par défaut), warning ou error. Utilisez debug lors du signalement d'un bug |
| -h or --help | Affiche ces options et les emplacements par défaut des données Chrome |
| -t or --timezone | Fuseau horaire d'affichage pour les horodatages dans la sortie XLSX |
| --only or --artifacts | N'analyser que ces artefacts (séparés par des virgules ; répétable) |
| --skip or --exclude | Analyser tout sauf ces artefacts (séparés par des virgules ; répétable) |
| --list-artifacts | Affiche les noms d'artefacts acceptés par --only et --skip, puis quitte |
Lorsque l'entrée contient des profils de plusieurs navigateurs, omettez --browser_type pour
laisser Hindsight détecter chaque profil séparément. N'utilisez la substitution que lorsque vous avez l'intention
de traiter chaque profil découvert comme le navigateur spécifié.
Sélection des artefacts à analyser
Par défaut, Hindsight analyse chaque artefact qu'il trouve. --only et --skip restreignent ce
périmètre, ce qui est utile pour un triage rapide et pour ignorer le cache lorsqu'il est volumineux et
non pertinent pour la question posée.
hindsight.py -i <profile> --only history,downloads
hindsight.py -i <profile> --skip cache
hindsight.py -i <profile> --only user-activity --skip sessions
Les noms d'artefacts sont neutres vis-à-vis du navigateur : history sélectionne les enregistrements d'URL History de Chrome et
les enregistrements d'URL places.sqlite de Firefox, de sorte que la même commande fonctionne sur l'un ou l'autre. Les noms sont
insensibles à la casse, et les espaces, traits de soulignement et traits d'union sont interchangeables
(local-storage, local_storage et "Local Storage" sont le même nom).
Les noms de groupes peuvent être utilisés partout où un nom d'artefact peut l'être, et sélectionnent tout ce qui se trouve en dessous :
user-activity, website-storage, browser-extensions, configuration, plus caches
(chaque artefact de cache) et all. --only et --skip peuvent être combinés, --skip
restreignant davantage --only.
Exécutez hindsight.py --list-artifacts pour obtenir la liste complète avec les descriptions et les alias.
Un artefact exclu par un filtre est signalé comme [ skipped ] pendant l'exécution et noté dans
le journal, de sorte qu'un rapport qui omet un artefact reste distinguable d'un profil qui
ne l'a jamais eu. Un nom non reconnu est une erreur plutôt que d'être ignoré, de sorte qu'une faute de frappe ne peut pas
produire silencieusement un rapport couvrant les mauvais artefacts.
Notez que la détection de version lit toujours les schémas de base de données du profil, donc le filtrage ne change pas la version de navigateur détectée.
Chemins de profil par défaut
Les emplacements par défaut du dossier de profil par défaut de Chrome sont :
- WinXP: [userdir]\Local Settings\Application Data\Google\Chrome\User Data\Default
- Vista/7/8/10: [userdir]\AppData\Local\Google\Chrome\User Data\Default
- Linux: [userdir]/.config/google-chrome/Default
- OS X: [userdir]/Library/Application Support/Google/Chrome/Default
- iOS: \Applications\com.google.chrome.ios\Library\Application Support\Google\Chrome\Default
- Android: /userdata/data/com.android.chrome/app_chrome/Default
- CrOS: \home\user\<GUID>
Demandes de fonctionnalités
Veuillez ouvrir un ticket si vous avez une idée de nouvelle fonctionnalité (ou si vous avez repéré quelque chose de cassé).
Contribution
Voir CONTRIBUTING.md pour savoir comment configurer, exécuter les deux suites de tests, et obtenir le corpus de profils de navigateur que les tests de bout en bout analysent.