
hindsight v2026.06
Browser-Forensik-Tool für Google Chrome, andere Chromium-basierte Browser und Mozilla Firefox
Hindsight
Forensik der Internet-Historie für Google Chrome/Chromium und Mozilla Firefox
Hindsight ist ein kostenloses Tool zur Analyse von Web-Artefakten. Es begann mit dem Browserverlauf des Google Chrome-Webbrowsers, wurde um die Unterstützung anderer Chromium-basierter Anwendungen erweitert und parst nun auch Mozilla Firefox-Profile. Hindsight kann eine Reihe verschiedener Arten von Web-Artefakten parsen, darunter URLs, Download-Verlauf, Cache-Einträge, Lesezeichen, Autofill-Einträge, gespeicherte Passwörter, Einstellungen, Browser-Erweiterungen, HTTP-Cookies und Local-Storage-Einträge (HTML5-Cookies). Sobald die Daten aus jeder Datei extrahiert wurden, werden sie mit Daten aus anderen Verlaufsdateien korreliert und in einer Zeitleiste platziert.
Für Firefox-Profile parst Hindsight places.sqlite (Verlaufsbesuche, Lesezeichen und Downloads), cookies.sqlite und formhistory.sqlite. Wählen Sie "Firefox" in der GUI oder übergeben Sie -b Firefox auf der Kommandozeile und verweisen Sie auf ein Profilverzeichnis wie \[userdir]\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>.
Es verfügt über eine einfache Web-UI – um sie zu starten, führen Sie "hindsight_gui.py" aus (oder unter Windows die gepackte "hindsight_gui.exe") und besuchen Sie http://localhost:8080 in einem Browser:
Das einzige Feld, das Sie ausfüllen müssen, ist "Profile Path". Dies ist der Speicherort des Chrome-Profils, das Sie analysieren möchten (die Standard-Profilpfade für verschiedene Betriebssysteme sind unten auf dieser Seite aufgeführt). Klicken Sie auf "Run" und Sie gelangen zur Ergebnisseite, wo Sie die Ergebnisse in einer Tabellenkalkulation (oder anderen Formaten) speichern können.
Manuelle Installation
Um Hindsight zu installieren (sowohl das Kommandozeilen-Tool als auch die Weboberfläche), führen Sie Folgendes aus:
pip install pyhindsight
pip install git+https://github.com/cclgroupltd/ccl_chromium_reader.git
Wenn Sie die Funktion "View SQLite DB in Browser" in der Hindsight-Weboberfläche nutzen möchten, müssen Sie einen weiteren Installationsbefehl ausführen:
curl -sSL https://raw.githubusercontent.com/RyanDFIR/hindsight/main/install-js.sh | sh
Kommandozeile
Es gibt auch eine Kommandozeilenversion von Hindsight – hindsight.py oder hindsight.exe. Das Benutzerhandbuch im Dokumentationsordner behandelt viele Themen, aber die folgenden Informationen sollten Ihnen den Einstieg in die Kommandozeilenversion erleichtern:
Beispielverwendung: > C:\hindsight.py -i "C:\Users\Ryan\AppData\Local\Google\Chrome\User Data\Default" -o test_case
Kommandozeilenoptionen:
| Option | Beschreibung |
|---|---|
| -i or --input | Pfad zu einem Browserprofil oder zu einem übergeordneten Verzeichnis, in dem rekursiv nach Profilen gesucht wird |
| -o or --output | Name der Ausgabedatei (ohne Erweiterung) |
| -f or --format | Ausgabeformat (Standard ist XLSX, andere Optionen sind SQLite und JSONL) |
| -c or --cache | Pfad zum Cache-Verzeichnis; nur erforderlich, wenn sich das Verzeichnis außerhalb des angegebenen "input"-Verzeichnisses befindet. Mac-Systeme sind standardmäßig so eingerichtet. |
| -b or --browser_type | Erzwingt einen Browser für jedes Profil: Chrome, Edge, Brave, Vivaldi, Firefox oder Tor (Groß-/Kleinschreibung wird nicht beachtet; Chromium ist ein Alias für Chrome). Weglassen, um jedes Profil automatisch zu erkennen. |
| -l or --log | Speicherort, in den Hindsight protokollieren soll (wird angehängt, falls vorhanden) |
| --log-level | Wie viele Details in das Log geschrieben werden sollen: debug, info (der Standard), warning oder error. Verwenden Sie debug beim Melden eines Fehlers |
| -h or --help | Zeigt diese Optionen und die Standard-Chrome-Datenspeicherorte an |
| -t or --timezone | Anzeigezeitzone für die Zeitstempel in der XLSX-Ausgabe |
| --only or --artifacts | Nur diese Artefakte parsen (kommagetrennt; wiederholbar) |
| --skip or --exclude | Alles außer diesen Artefakten parsen (kommagetrennt; wiederholbar) |
| --list-artifacts | Gibt die von --only und --skip akzeptierten Artefaktnamen aus und beendet sich dann |
Wenn die Eingabe Profile von mehreren Browsern enthält, lassen Sie --browser_type weg, damit
Hindsight jedes Profil separat erkennt. Verwenden Sie die Überschreibung nur, wenn Sie beabsichtigen,
jedes gefundene Profil als den angegebenen Browser zu behandeln.
Auswählen, welche Artefakte geparst werden sollen
Standardmäßig parst Hindsight jedes Artefakt, das es findet. --only und --skip schränken dies
ein, was für eine schnelle Triage und zum Überspringen des Caches nützlich ist, wenn dieser groß und
für die jeweilige Fragestellung nicht relevant ist.
hindsight.py -i <profile> --only history,downloads
hindsight.py -i <profile> --skip cache
hindsight.py -i <profile> --only user-activity --skip sessions
Artefaktnamen sind browserneutral: history wählt die History-URL-Einträge von Chrome und
die URL-Einträge aus Firefoxs places.sqlite aus, sodass derselbe Befehl bei beiden funktioniert. Namen
sind unabhängig von der Groß-/Kleinschreibung, und Leerzeichen, Unterstriche und Bindestriche sind austauschbar
(local-storage, local_storage und "Local Storage" sind derselbe Name).
Gruppennamen können überall dort verwendet werden, wo ein Artefaktname verwendet werden kann, und wählen alles darunter aus:
user-activity, website-storage, browser-extensions, configuration, plus caches
(jedes Cache-Artefakt) und all. --only und --skip können kombiniert werden, wobei --skip
--only weiter einschränkt.
Führen Sie hindsight.py --list-artifacts aus, um die vollständige Liste mit Beschreibungen und Aliasen zu erhalten.
Ein durch einen Filter ausgeschlossenes Artefakt wird während des Laufs als [ skipped ] gemeldet und im
Log vermerkt, sodass ein Bericht, der ein Artefakt auslässt, von einem Profil unterscheidbar bleibt, das
es nie hatte. Ein nicht erkannter Name ist ein Fehler und wird nicht ignoriert, sodass ein Tippfehler nicht
still und leise einen Bericht erzeugen kann, der die falschen Artefakte abdeckt.
Beachten Sie, dass die Versionserkennung weiterhin die Datenbankschemata des Profils liest, sodass die Filterung die erkannte Browserversion nicht ändert.
Standard-Profilpfade
Die Standard-Speicherorte des Chrome-Standardprofilordners sind:
- 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>
Funktionswünsche
Bitte reichen Sie ein Issue ein, wenn Sie eine Idee für eine neue Funktion haben (oder etwas Defektes entdeckt haben).
Mitwirken
Siehe CONTRIBUTING.md für Informationen zur Einrichtung, zum Ausführen der beiden Testsuiten und zum Erhalt des Browserprofil-Korpus, den die End-to-End-Tests parsen.