Pular para o conteúdo

Timesketch - Análise Colaborativa de Linha do Tempo Forense

Timesketch - Análise Colaborativa de Linha do Tempo Forense

Timesketch é uma ferramenta de código aberto (do Google) para análise colaborativa de linha do tempo forense. Investigadores ingerem dados com timestamp — artefatos de disco/triage analisados por Plaso, logs, CSVs — em um “sketch,” depois pesquisam, filtram, tagueiam, comentam e marcam eventos em uma linha do tempo compartilhada. É construído para trabalho em DFIR em equipe: múltiplos analistas trabalham no mesmo incidente, compartilham pesquisas salvas e executam analisadores automatizados para identificar atividade suspeita. Ele funciona naturalmente com ferramentas de coleta como Velociraptor.

Deployment

MétodoComando / Nota
Docker Compose (recomendado)siga o deployment oficial docker-compose na documentação
Quick dev installuse a configuração deploy/docker do projeto
Criar um usuáriotsctl create-user <username>
Adicionar ao grupotsctl add-user-to-group ...
Web UIservido no host/port configurado após inicialização

Timesketch é uma aplicação de servidor (Elasticsearch/OpenSearch + PostgreSQL + web UI), não um único binário. Implante com Docker Compose para o setup mais suave.

Ingestão de Dados

FonteComo
Arquivo de armazenamento PlasoCarregar um arquivo .plaso produzido por log2timeline.py
CSV / JSONLCarregar com as colunas necessárias datetime, message, timestamp_desc
CLI importtimesketch_importer -u user -p pass --host URL data.csv
API importUse o cliente Python import_streamer

Plaso → Timesketch

# Criar uma super linha do tempo de uma imagem/triage com Plaso, depois importar
log2timeline.py --storage-file evidence.plaso /mnt/triage
timesketch_importer --host https://ts.example.com \
  -u analyst evidence.plaso --sketch_id 1

Pesquisando a Linha do Tempo

Timesketch usa uma sintaxe de consulta estilo Elasticsearch/Lucene.

ConsultaCorresponde
powershellEventos contendo o termo
data_type:"windows:evtx:record"Um tipo de dados de analisador específico
message:*mimikatz*Wildcard dentro do campo de mensagem
tag:badEventos que você tagueou como “bad”
datetime:[2026-06-01 TO 2026-06-02]Um intervalo de tempo
event_identifier:4624 AND username:adminCombinações booleanas

Trabalhando com Eventos

AçãoDescrição
StarMarcar eventos de interesse
TagAplicar rótulos (ex: bad, suspicious, lateral-movement)
CommentAdicionar notas do investigador a um evento
Saved searchArmazenar uma consulta para reuso / compartilhamento
StoryEscrever uma narrativa que incorpora pesquisas salvas e descobertas

Analisadores

Analisadores executam automaticamente sobre uma linha do tempo para sinalizar padrões.

AnalisadorSuperfícies
Browser search / artifactsAtividade web de interesse
Login/Windows eventsAnomalias de autenticação
SigmaCorresponde regras de detecção Sigma contra eventos
Yet, threat intel feedsIndicadores conhecidos-ruins
TaggerAuto-tags eventos por regras
TarefaComo
Executar um analisadorAcionar da UI ou API em uma linha do tempo
Sigma rulesGerenciar regras para que o analisador Sigma possa corresponder a elas
AggregationsConstruir gráficos (ex: eventos ao longo do tempo, usuários principais)

API / Automação

from timesketch_api_client import client
ts = client.TimesketchApi("https://ts.example.com", "analyst", "password")
sketch = ts.get_sketch(1)
for event in sketch.explore("tag:bad", as_pandas=True).itertuples():
    print(event.message)

Fluxos de Trabalho Comuns

# Construir uma super linha do tempo de saída de triage e carregá-la em um sketch
log2timeline.py --storage-file case.plaso /evidence
timesketch_importer -u analyst case.plaso --sketch_id 5

# Na UI: pesquise atividade suspeita, taqueie descobertas, escreva uma Story
#   message:*mimikatz*  →  tag "credential-access"  →  adicionar à Story

Timesketch vs Outras Ferramentas de Linha do Tempo

AspectoTimesketchPlaso (log2timeline)Splunk
PapelUI de análise colaborativaGeração de linha do tempoSIEM/log analytics
ColaboraçãoPrimeira classe (sketches, stories)Nenhuma (CLI)Dashboards de equipe
InputPlaso, CSV, JSONLFilesystem/artifactsForwarders/indexes
Melhor paraRevisão de linha do tempo DFIR em equipeProduzindo a linha do tempoLogging de empresa amplo

Recursos