
Herramienta de análisis forense de navegadores para Google Chrome, otros navegadores basados en Chromium y Mozilla Firefox
HindsightForense del historial de Internet para Google Chrome/Chromium y Mozilla Firefox
Hindsight es una herramienta gratuita para analizar artefactos web. Comenzó con el historial de navegación del navegador web Google Chrome, se ha ampliado para admitir otras aplicaciones basadas en Chromium y ahora también analiza perfiles de Mozilla Firefox. Hindsight puede analizar varios tipos diferentes de artefactos web, incluidos URL, historial de descargas, registros de caché, marcadores, registros de autocompletado, contraseñas guardadas, preferencias, extensiones de navegador, cookies HTTP y registros de Local Storage (cookies HTML5). Una vez que los datos se extraen de cada archivo, se correlacionan con los datos de otros archivos de historial y se colocan en una línea de tiempo.
Para los perfiles de Firefox, Hindsight analiza places.sqlite (visitas del historial, marcadores y descargas), cookies.sqlite y formhistory.sqlite. Seleccione "Firefox" en la GUI o pase -b Firefox en la línea de comandos, apuntando a un directorio de perfil como \[userdir]\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>.
Tiene una interfaz web sencilla: para iniciarla, ejecute "hindsight_gui.py" (o en Windows, el "hindsight_gui.exe" empaquetado) y visite http://localhost:8080 en un navegador:
El único campo que debe completar es "Profile Path". Esta es la ubicación del perfil de Chrome que desea analizar (las rutas de perfil predeterminadas para los diferentes sistemas operativos se enumeran al final de esta página). Haga clic en "Run" y será llevado a la página de resultados donde podrá guardar los resultados en una hoja de cálculo (u otros formatos).
Para instalar Hindsight (tanto la herramienta de línea de comandos como la interfaz web), haga:
pip install pyhindsight
pip install git+https://github.com/cclgroupltd/ccl_chromium_reader.git
Si deseas utilizar la función "View SQLite DB in Browser" en la interfaz web de Hindsight, deberás ejecutar otro comando de instalación:
curl -sSL https://raw.githubusercontent.com/RyanDFIR/hindsight/main/install-js.sh | sh
También existe una versión de línea de comandos de Hindsight: hindsight.py o hindsight.exe. La guía del usuario en la carpeta de documentación cubre muchos temas, pero la información a continuación debería ayudarte a empezar con la versión de línea de comandos:
Ejemplo de uso: > C:\hindsight.py -i "C:\Users\Ryan\AppData\Local\Google\Chrome\User Data\Default" -o test_case
Opciones de línea de comandos:
| Opción | Descripción |
|---|---|
| -i o --input | Ruta a un perfil de navegador, o a un directorio padre en el que buscar perfiles de forma recursiva |
| -o o --output | Nombre del archivo de salida (sin extensión) |
| -f o --format | Formato de salida (por defecto es XLSX; otras opciones son SQLite y JSONL) |
| -c o --cache | Ruta al directorio de caché; solo es necesario si el directorio está fuera del directorio "input" indicado. Los sistemas Mac están configurados así por defecto. |
| -b o --browser_type | Forzar un navegador para cada perfil: Chrome, Edge, Brave, Vivaldi, Firefox o Tor (sin distinguir mayúsculas y minúsculas; Chromium es un alias de Chrome). Omítelo para detectar automáticamente cada perfil. |
| -l o --log | Ubicación en la que Hindsight debe registrar (se añadirá al final si ya existe) |
| --log-level | Nivel de detalle que se escribe en el registro: debug, info (el valor predeterminado), warning o error. Usa debug al informar de un error |
| -h o --help | Muestra estas opciones y las ubicaciones de datos predeterminadas de Chrome |
| -t o --timezone | Zona horaria de visualización para las marcas de tiempo en la salida (todos los formatos): un nombre IANA como Asia/Kolkata o America/New_York, o un desplazamiento respecto a UTC como UTC+05:30 |
| --only o --artifacts | Analizar solo estos artefactos (separados por comas; se puede repetir) |
| --skip o --exclude | Analizar todo excepto estos artefactos (separados por comas; se puede repetir) |
| --list-artifacts | Imprime los nombres de artefactos aceptados por --only y --skip, y luego sale |
Cuando la entrada contiene perfiles de varios navegadores, omite --browser_type para
que Hindsight detecte cada perfil por separado. Usa la anulación solo cuando tengas la intención
de tratar cada perfil descubierto como el navegador especificado.
De forma predeterminada, Hindsight analiza todos los artefactos que encuentra. --only y --skip limitan esa
selección, lo cual es útil para un triaje rápido y para omitir la caché cuando es grande y
no es relevante para la cuestión en cuestión.
hindsight.py -i <profile> --only history,downloads
hindsight.py -i <profile> --skip cache
hindsight.py -i <profile> --only user-activity --skip sessions
Los nombres de artefactos son neutrales respecto al navegador: history selecciona los registros de URL History de Chrome y los registros de URL de places.sqlite de Firefox, por lo que el mismo comando funciona en cualquiera de los dos. Los nombres no distinguen entre mayúsculas y minúsculas, y los espacios, guiones bajos y guiones son intercambiables (local-storage, local_storage y "Local Storage" son el mismo nombre).
Los nombres de grupo se pueden usar en cualquier lugar donde se pueda usar un nombre de artefacto, y seleccionan todo lo que contienen: user-activity, website-storage, browser-extensions, configuration, además de caches (todos los artefactos de caché) y all. --only y --skip se pueden combinar, y --skip restringe aún más lo seleccionado por --only.
Ejecute hindsight.py --list-artifacts para obtener la lista completa con descripciones y alias.
Un artefacto excluido por un filtro se informa como [ skipped ] durante la ejecución y se anota en el registro, de modo que un informe que omite un artefacto siga siendo distinguible de un perfil que nunca lo tuvo. Un nombre no reconocido es un error en lugar de ser ignorado, para que una errata no pueda producir silenciosamente un informe que abarque los artefactos equivocados.
Tenga en cuenta que la detección de versión sigue leyendo los esquemas de la base de datos del perfil, por lo que el filtrado no cambia la versión del navegador detectada.
Los registros de descarga y caché conservan el ETag que envió el servidor. La mayoría de los servidores web y almacenes de objetos lo generan a partir de la hora de modificación y el tamaño del archivo, por lo que Hindsight lo interpreta para obtener cuándo se modificó el archivo por última vez en el servidor y qué tamaño tenía. El resultado aparece en la columna ETag Decoded de la línea de tiempo XLSX, y en los campos separados etag_format, etag_modified, etag_size y etag_notes de la salida SQLite y JSONL.