
hindsight v2026.06
Инструмент криминалистического анализа браузера для Google Chrome, других браузеров на базе Chromium и Mozilla Firefox
Hindsight
Криминалистический анализ истории интернета для Google Chrome/Chromium и Mozilla Firefox
Hindsight — это бесплатный инструмент для анализа веб-артефактов. Он начинался с истории просмотров веб-браузера Google Chrome, затем был расширен для поддержки других приложений на базе Chromium, а теперь также разбирает профили Mozilla Firefox. Hindsight может разбирать множество различных типов веб-артефактов, включая URL-адреса, историю загрузок, записи кэша, закладки, записи автозаполнения, сохранённые пароли, настройки, расширения браузера, HTTP-cookie и записи Local Storage (cookie HTML5). После извлечения данных из каждого файла они сопоставляются с данными из других файлов истории и помещаются на временную шкалу.
Для профилей Firefox Hindsight разбирает places.sqlite (посещения истории, закладки и загрузки), cookies.sqlite и formhistory.sqlite. Выберите "Firefox" в графическом интерфейсе или передайте -b Firefox в командной строке, указав на каталог профиля, например \[userdir]\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>.
У него простой веб-интерфейс — чтобы запустить его, выполните "hindsight_gui.py" (или в Windows — упакованный "hindsight_gui.exe") и откройте http://localhost:8080 в браузере:
Единственное обязательное поле — "Profile Path". Это расположение профиля Chrome, который вы хотите проанализировать (пути профилей по умолчанию для разных ОС перечислены внизу этой страницы). Нажмите "Run", и вы попадёте на страницу результатов, где можно сохранить результаты в электронную таблицу (или другие форматы).
Ручная установка
Чтобы установить Hindsight (как инструмент командной строки, так и веб-интерфейс), выполните:
pip install pyhindsight
pip install git+https://github.com/cclgroupltd/ccl_chromium_reader.git
Если вы хотите использовать функцию "View SQLite DB in Browser" в веб-интерфейсе Hindsight, вам нужно выполнить ещё одну команду установки:
curl -sSL https://raw.githubusercontent.com/RyanDFIR/hindsight/main/install-js.sh | sh
Командная строка
Существует также версия Hindsight для командной строки — hindsight.py или hindsight.exe. Руководство пользователя в папке documentation охватывает многие темы, но приведённая ниже информация поможет вам начать работу с версией для командной строки:
Пример использования: > C:\hindsight.py -i "C:\Users\Ryan\AppData\Local\Google\Chrome\User Data\Default" -o test_case
Параметры командной строки:
| Параметр | Описание |
|---|---|
| -i или --input | Путь к профилю браузера или родительскому каталогу для рекурсивного поиска профилей |
| -o или --output | Имя выходного файла (без расширения) |
| -f или --format | Формат вывода (по умолчанию XLSX, другие варианты — SQLite и JSONL) |
| -c или --cache | Путь к каталогу кэша; нужен только если каталог находится вне указанного каталога "input". В системах Mac это настроено так по умолчанию. |
| -b или --browser_type | Принудительно использовать один браузер для всех профилей: Chrome, Edge, Brave, Vivaldi, Firefox или Tor (без учёта регистра; Chromium — это псевдоним для Chrome). Не указывайте, чтобы автоматически определять каждый профиль. |
| -l или --log | Расположение, куда Hindsight должен записывать журнал (будет дополняться, если существует) |
| --log-level | Сколько деталей записывать в журнал: debug, info (по умолчанию), warning или error. Используйте debug при сообщении об ошибке |
| -h или --help | Показывает эти параметры и расположения данных Chrome по умолчанию |
| -t или --timezone | Часовой пояс отображения для временных меток в выводе XLSX |
| --only или --artifacts | Разбирать только эти артефакты (через запятую; можно повторять) |
| --skip или --exclude | Разбирать всё, кроме этих артефактов (через запятую; можно повторять) |
| --list-artifacts | Вывести имена артефактов, принимаемые --only и --skip, затем выйти |
Когда входные данные содержат профили из нескольких браузеров, не указывайте --browser_type, чтобы
Hindsight определил каждый профиль отдельно. Используйте переопределение только тогда, когда вы намерены
обрабатывать каждый обнаруженный профиль как указанный браузер.
Выбор артефактов для разбора
По умолчанию Hindsight разбирает каждый найденный артефакт. --only и --skip сужают этот
набор, что полезно для быстрой триажной сортировки и для пропуска кэша, когда он большой и
не относится к рассматриваемому вопросу.
hindsight.py -i <profile> --only history,downloads
hindsight.py -i <profile> --skip cache
hindsight.py -i <profile> --only user-activity --skip sessions
Имена артефактов не зависят от браузера: history выбирает записи URL из History в Chrome и
записи URL из places.sqlite в Firefox, поэтому одна и та же команда работает в обоих случаях. Имена
нечувствительны к регистру, а пробелы, подчёркивания и дефисы взаимозаменяемы
(local-storage, local_storage и "Local Storage" — одно и то же имя).
Имена групп можно использовать везде, где можно использовать имя артефакта, и они выбирают всё, что под ними:
user-activity, website-storage, browser-extensions, configuration, а также caches
(все артефакты кэша) и all. --only и --skip можно комбинировать, при этом --skip
дополнительно сужает --only.
Выполните hindsight.py --list-artifacts, чтобы получить полный список с описаниями и псевдонимами.
Артефакт, исключённый фильтром, во время выполнения отображается как [ skipped ] и отмечается в
журнале, поэтому отчёт, в котором отсутствует артефакт, остаётся отличимым от профиля, в котором
его никогда не было. Нераспознанное имя является ошибкой, а не игнорируется, поэтому опечатка не может
тихо привести к отчёту, охватывающему не те артефакты.
Обратите внимание, что определение версии всё равно читает схемы баз данных профиля, поэтому фильтрация не меняет определённую версию браузера.
Пути профилей по умолчанию
Расположения папки профиля Chrome по умолчанию:
- 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>
Запросы функций
Пожалуйста, создайте issue, если у вас есть идея новой функции (или вы обнаружили что-то сломанное).
Участие в разработке
См. CONTRIBUTING.md, чтобы узнать, как настроить, запустить оба набора тестов и получить корпус профилей браузеров, который разбирают сквозные тесты.