Parte: 9 — Forense digital y respuesta a incidentes · Fuente: SANS FOR508 y documentación de plaso/log2timeline ⏱️ Duración estimada: 130 min · Nivel: Avanzado
Aprender a construir y analizar super-timelines: la fusión de todos los timestamps de un sistema (sistema de archivos, registro, logs, artefactos) en una única línea de tiempo ordenada. Al terminar podrás usar plaso/log2timeline y Timesketch para reconstruir la secuencia exacta de un incidente.
Al finalizar, el alumno podrá:
log2timeline/psort.| # | Tema | Por qué importa |
|---|---|---|
| 1 | Timeline de FS vs. super-timeline | Alcance de la evidencia temporal |
| 2 | plaso: log2timeline y psort | Motor estándar de timelines |
| 3 | Fuentes que agrega plaso | Riqueza del resultado |
| 4 | Acotar por ventana temporal | Reducir el ruido |
| 5 | MACB y pivoteo | Encontrar el punto de entrada |
| 6 | Timesketch | Análisis colaborativo |
| 7 | Anti-forense en timelines | Timestomping y huecos |
| 8 | Correlación multi-fuente | La historia completa |
log2timeline extrae, psort filtra/exporta. Característica: soporta cientos de parsers.log2timeline.py, psort.py, pinfo.py (imagen Docker oficial log2timeline/plaso)..dd/.E01 propia de las clases anteriores.Usa una imagen forense propia de una VM que investigaste.
bash
log2timeline.py --storage-file caso.plaso imagen.E01
bash
pinfo.py caso.plaso
bash
psort.py -o l2tcsv -w timeline.csv caso.plaso
bash
psort.py -o l2tcsv -w recorte.csv caso.plaso \
"date > '2026-07-10 00:00:00' AND date < '2026-07-11 00:00:00'"
$UsnJrnl.Construye la super-timeline de una imagen propia con un incidente simulado y entrega la secuencia cronológica desde la entrada del atacante hasta la exfiltración, con al menos seis eventos fechados y correlacionados de fuentes distintas.
Criterio de aceptación: tu narrativa incluye seis eventos con fecha/hora UTC, cada uno respaldado por una fuente identificada (FS, registro, log, navegador…), y las fuentes coinciden entre sí (o explicas las incoherencias por timestomping).
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
| La timeline tiene millones de líneas | No la acotaste. Filtra por ventana y fuentes relevantes. |
| Tiempos en zonas distintas | Mezcla de UTC y local. Normaliza todo a UTC con --timezone. |
| log2timeline tarda muchísimo | Imagen grande con todos los parsers. Usa --parsers para acotar. |
| Eventos que se contradicen | Timestomping. Contrasta $SI vs $FN y $UsnJrnl. |
| Timesketch no importa el CSV | Formato incorrecto. Exporta con el formato compatible (l2tcsv o json_line). |
❓ ¿Super-timeline siempre? No siempre: es potente pero ruidosa. Para casos acotados, una timeline de FS puede bastar.
❓ ¿Cómo evito ahogarme en datos? Acota por ventana temporal, filtra por fuentes relevantes y pivotea desde eventos conocidos en vez de leer todo.
❓ ¿Timesketch es obligatorio? No, pero facilita el trabajo en equipo, el etiquetado y la búsqueda. Un CSV también sirve para casos pequeños.
❓ ¿Cómo detecto manipulación de tiempos?
Buscando incoherencias entre fuentes que registran el mismo hecho: FS, $UsnJrnl, logs y artefactos deberían concordar.