Ir al contenido

Timesketch - Análisis Colaborativo de Línea de Tiempo Forense

Timesketch - Análisis Colaborativo de Línea de Tiempo Forense

Timesketch es una herramienta abierta (de Google) para análisis colaborativo de línea de tiempo forense. Los investigadores ingieren datos con marca de tiempo — artefactos de disco/triage analizados por Plaso, logs, CSVs — en un “sketch”, luego buscan, filtran, etiquetan, comentan y marcan con estrellas eventos en una línea de tiempo compartida. Está construido para trabajo en equipo de DFIR: múltiples analistas trabajan el mismo incidente, comparten búsquedas guardadas y ejecutan analizadores automatizados para descubrir actividad sospechosa. Se empareja naturalmente con herramientas de recopilación como Velociraptor.

Implementación

MétodoComando / Nota
Docker Compose (recomendado)seguir la implementación oficial de docker-compose en la documentación
Instalación dev rápidausar la configuración deploy/docker del proyecto
Crear un usuariotsctl create-user <username>
Agregar a grupotsctl add-user-to-group ...
IU webservida en el host/puerto configurado después del inicio

Timesketch es una aplicación servidora (Elasticsearch/OpenSearch + PostgreSQL + IU web), no un único binario. Implementar con Docker Compose para la configuración más suave.

Ingesta de Datos

FuenteCómo
Archivo de almacenamiento PlasoCargar un archivo .plaso producido por log2timeline.py
CSV / JSONLCargar con las columnas requeridas datetime, message, timestamp_desc
Importación CLItimesketch_importer -u user -p pass --host URL data.csv
Importación APIUsar el cliente Python import_streamer

Plaso → Timesketch

# Crear una línea de tiempo super de una imagen/triage con Plaso, luego importar
log2timeline.py --storage-file evidence.plaso /mnt/triage
timesketch_importer --host https://ts.example.com \
  -u analyst evidence.plaso --sketch_id 1

Búsqueda en la Línea de Tiempo

Timesketch utiliza una sintaxis de consulta de estilo Elasticsearch/Lucene.

ConsultaCoincide
powershellEventos que contienen el término
data_type:"windows:evtx:record"Un tipo de datos de analizador específico
message:*mimikatz*Comodín dentro del campo de mensaje
tag:badEventos que etiquetaste como “bad”
datetime:[2026-06-01 TO 2026-06-02]Un rango de tiempo
event_identifier:4624 AND username:adminCombinaciones booleanas

Trabajar con Eventos

AcciónDescripción
StarMarcar eventos de interés
TagAplicar etiquetas (p. ej. bad, suspicious, lateral-movement)
CommentAgregar notas del investigador a un evento
Saved searchAlmacenar una consulta para reutilización / compartición
StoryEscribir una narración que incruste búsquedas guardadas y hallazgos

Analizadores

Los analizadores se ejecutan automáticamente sobre una línea de tiempo para marcar patrones.

AnalizadorSuperficies
Búsqueda del navegador / artefactosActividad web de interés
Eventos de login/WindowsAnomalías de autenticación
SigmaCoincide con reglas de detección de Sigma contra eventos
Yet, threat intel feedsIndicadores conocidos como maliciosos
TaggerAuto-etiqueta eventos por reglas
TareaCómo
Ejecutar un analizadorDesencadenar desde la IU o API en una línea de tiempo
Reglas de SigmaAdministrar reglas para que el analizador de Sigma pueda coincidir
AggregationsConstruir gráficos (p. ej. eventos a lo largo del tiempo, usuarios principales)

API / Automatización

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)

Flujos de Trabajo Comunes

# Construir una línea de tiempo super a partir de la salida de triage y cargarla en un sketch
log2timeline.py --storage-file case.plaso /evidence
timesketch_importer -u analyst case.plaso --sketch_id 5

# En la IU: buscar actividad sospechosa, etiquetar hallazgos, escribir una Story
#   message:*mimikatz*  →  tag "credential-access"  →  agregar a Story

Timesketch vs Otras Herramientas de Línea de Tiempo

AspectoTimesketchPlaso (log2timeline)Splunk
RolIU de análisis colaborativoGeneración de línea de tiempoSIEM/análisis de logs
ColaboraciónDe primera clase (sketches, stories)Ninguna (CLI)Dashboards de equipo
EntradaPlaso, CSV, JSONLFilesystem/artefactosForwarders/indexes
Mejor paraRevisión de línea de tiempo de equipo DFIRProducir la línea de tiempoLogging empresarial amplio

Recursos