
Ferramenta forense para navegadores para Google Chrome, outros navegadores baseados em Chromium e Mozilla Firefox
HindsightForense de histórico de internet para Google Chrome/Chromium e Mozilla Firefox
Hindsight é uma ferramenta gratuita para analisar artefatos web. Começou com o histórico de navegação do navegador Google Chrome, expandiu-se para suportar outras aplicações baseadas em Chromium e agora também analisa perfis do Mozilla Firefox. O Hindsight consegue analisar vários tipos diferentes de artefatos web, incluindo URLs, histórico de downloads, registros de cache, favoritos, registros de preenchimento automático, senhas salvas, preferências, extensões de navegador, cookies HTTP e registros de Local Storage (cookies HTML5). Depois que os dados são extraídos de cada arquivo, eles são correlacionados com dados de outros arquivos de histórico e colocados em uma linha do tempo.
Para perfis do Firefox, o Hindsight analisa places.sqlite (visitas do histórico, favoritos e downloads), cookies.sqlite e formhistory.sqlite. Selecione "Firefox" na GUI ou passe -b Firefox na linha de comando, apontando para um diretório de perfil como \[userdir]\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>.
Ele tem uma interface web simples - para iniciá-la, execute "hindsight_gui.py" (ou no Windows, o "hindsight_gui.exe" empacotado) e visite http://localhost:8080 em um navegador:
O único campo que você é obrigado a preencher é "Profile Path". Este é o local do perfil do Chrome que você deseja analisar (os caminhos de perfil padrão para diferentes sistemas operacionais estão listados no final desta página). Clique em "Run" e você será levado à página de resultados, onde poderá salvar os resultados em uma planilha (ou outros formatos).
Para instalar o Hindsight (tanto a ferramenta de linha de comando quanto a interface web), faça:
pip install pyhindsight
pip install git+https://github.com/cclgroupltd/ccl_chromium_reader.git
Se você quiser usar o recurso "View SQLite DB in Browser" na interface web do Hindsight, precisará executar outro comando de instalação:
curl -sSL https://raw.githubusercontent.com/RyanDFIR/hindsight/main/install-js.sh | sh
Também existe uma versão de linha de comando do Hindsight - hindsight.py ou hindsight.exe. O guia do usuário na pasta de documentação cobre muitos tópicos, mas as informações abaixo devem ajudá-lo a começar com a versão de linha de comando:
Exemplo de uso: > C:\hindsight.py -i "C:\Users\Ryan\AppData\Local\Google\Chrome\User Data\Default" -o test_case
Opções de Linha de Comando:
| Opção | Descrição |
|---|---|
| -i ou --input | Caminho para um perfil de navegador, ou um diretório pai para pesquisar perfis recursivamente |
| -o ou --output | Nome do arquivo de saída (sem extensão) |
| -f ou --format | Formato de saída (o padrão é XLSX, outras opções são SQLite e JSONL) |
| -c ou --cache | Caminho para o diretório de cache; necessário apenas se o diretório estiver fora do diretório "input" fornecido. Sistemas Mac são configurados dessa forma por padrão. |
| -b ou --browser_type | Força um navegador para cada perfil: Chrome, Edge, Brave, Vivaldi, Firefox ou Tor (não diferencia maiúsculas de minúsculas; Chromium é um alias para Chrome). Omita para detectar automaticamente cada perfil. |
| -l ou --log | Local onde o Hindsight deve registrar logs (anexará se existir) |
| --log-level | Quanto detalhe escrever no log: debug, info (o padrão), warning ou error. Use debug ao relatar um bug |
| -h ou --help | Mostra estas opções e os locais padrão de dados do Chrome |
| -t ou --timezone | Fuso horário de exibição para os timestamps na saída XLSX |
| --only ou --artifacts | Analisar apenas estes artefatos (separados por vírgula; repetível) |
| --skip ou --exclude | Analisar tudo exceto estes artefatos (separados por vírgula; repetível) |
| --list-artifacts | Imprime os nomes de artefatos aceitos por --only e --skip, depois sai |
Quando a entrada contém perfis de vários navegadores, omita --browser_type para
deixar o Hindsight detectar cada perfil separadamente. Use a substituição apenas quando você pretender
tratar cada perfil descoberto como o navegador especificado.
Por padrão, o Hindsight analisa todos os artefatos que encontra. --only e --skip restringem essa
seleção, o que é útil para triagem rápida e para pular o cache quando ele é grande e
não é relevante para a questão em análise.
hindsight.py -i <profile> --only history,downloads
hindsight.py -i <profile> --skip cache
hindsight.py -i <profile> --only user-activity --skip sessions
Os nomes de artefatos são neutros em relação ao navegador: history seleciona os registros de URL do History do Chrome e
os registros de URL do places.sqlite do Firefox, então o mesmo comando funciona em ambos. Os nomes não diferenciam maiúsculas de minúsculas, e espaços, sublinhados e hífens são intercambiáveis
(local-storage, local_storage e "Local Storage" são o mesmo nome).
Nomes de grupos podem ser usados em qualquer lugar onde um nome de artefato pode, e selecionam tudo sob eles:
user-activity, website-storage, browser-extensions, configuration, além de caches
(todos os artefatos de cache) e all. --only e --skip podem ser combinados, com --skip
restringindo ainda mais o --only.
Execute hindsight.py --list-artifacts para a lista completa com descrições e aliases.
Um artefato excluído por um filtro é reportado como [ skipped ] durante a execução e anotado no
log, então um relatório que omite um artefato permanece distinguível de um perfil que
nunca o teve. Um nome não reconhecido é um erro em vez de ser ignorado, então um erro de digitação não pode
produzir silenciosamente um relatório cobrindo os artefatos errados.
Observe que a detecção de versão ainda lê os esquemas de banco de dados do perfil, então a filtragem não altera a versão do navegador detectada.
Os locais padrão da pasta de perfil padrão do Chrome são:
Por favor, abra uma issue se você tiver uma ideia para um novo recurso (ou encontrou algo quebrado).
Consulte CONTRIBUTING.md para saber como configurar, executar as duas suítes de testes e obter o corpus de perfis de navegador que os testes de ponta a ponta analisam.