Skip to content

Limitaciones y antiforense de Windows Timeline

Dónde se agota la evidencia de Windows Timeline: caducidad, configuración, historial borrado, filas eliminadas, WAL ausente, límites del parser y manipulación.

Publicado el 7 min de lectura

Resumen. La evidencia de Timeline se agota de seis formas previsibles: caducidad (30 días; 12 horas para el portapapeles), configuración (recopilación desactivada por el usuario o por directiva), borrado (borrar historial, entradas quitadas), eliminación del archivo, WAL ausente y límites del parser (sin carving de páginas libres ni de frames WAL obsoletos). Cada una deja rastro en algún sitio: filas de eliminación en ActivityOperation, la fecha de creación de la base en la tabla Metadata, el diario USN, las instantáneas de volumen, la configuración del registro. La ausencia de filas en Timeline nunca demuestra, por sí sola, que no ocurriera nada.

Saber dónde se detiene un artefacto es lo que separa un hallazgo de una suposición. Esta es la lista para Windows Timeline, con la comprobación cruzada de cada punto.

Límites naturales

Caducidad

Cada fila tiene un ExpirationTime. kacos2000 lo midió en exactamente 2.592.000 segundos (30 días) después de LastModifiedTime para las actividades normales y 43.200 segundos (12 horas) para el contenido del portapapeles (kacos2000). Una actividad que se sigue actualizando va aplazando su caducidad; la apertura puntual de un archivo hace seis semanas ya no está en la tabla viva.

Comprobación cruzada: instantáneas y copias de seguridad del perfil; SRUM, que tiene su propia retención, independiente; Jump Lists y archivos LNK, que no tienen un campo de caducidad temporal.

Cobertura

Timeline registra la actividad visible para el usuario (aplicaciones, archivos, páginas), no cada proceso (Microsoft Support). Una herramienta lanzada desde un servicio, una tarea programada o un shell remoto sin ventana de escritorio no tiene por qué aparecer. Los propios tipos de actividad son observaciones de investigadores, no una especificación pública: varios números siguen sin explicación (kacos2000/WindowsTimeline).

Comprobación cruzada: Prefetch, AmCache, eventos de creación de procesos en EVTX.

Windows 11

La vista Timeline se retiró en Windows 11 (Microsoft Support) y lo que la base sigue recibiendo varía. Vea Windows 11 Timeline: ¿sigue siendo útil ActivitiesCache.db?

Hora

Las marcas de tiempo son segundos Unix en UTC fijados por el reloj local. Un reloj del sistema erróneo produce horas erróneas; la base no contiene ninguna fuente de tiempo independiente. El userTimezone del payload registra la zona horaria al crear la actividad (Microsoft Graph), lo que ayuda cuando un portátil ha viajado.

Antiforense deliberado

AcciónEfecto en ActivitiesCache.dbQué deja atrás
Desactivar «Almacenar mi historial de actividades en este dispositivo»Deja de registrarse la actividad nuevaEstado de la opción en la colmena del usuario; un hueco en las filas mientras otros artefactos continúan
Directiva de grupo / MDM (EnableActivityFeed, PublishUserActivities)Publicación de actividades de usuario desactivada (CSP Privacy)Valores de directiva en la colmena SOFTWARE
«Borrar el historial de actividades»Filas eliminadas para la cuenta (Microsoft Support)Páginas liberadas de la base, frames del WAL, un inicio repentino de la cronología
Quitar una entrada (Timeline de Windows 10)Entrada copiada a ActivityOperation con estado eliminado (kacos2000)Una operación de eliminación en cola con su propio CreatedTime
Borrar el archivo de la baseWindows lo vuelve a crearEntradas del diario USN; el DatabaseInstanceIdUpdateTime de la tabla Metadata, que kacos2000 identificó como la fecha de creación de la base (kacos2000)
Editar la base con un cliente SQLiteFilas modificadas o eliminadasDepende de la configuración: el contenido borrado puede permanecer en espacio libre salvo que secure_delete esté activo (PRAGMA de SQLite) o el archivo se reconstruyera con VACUUM (VACUUM de SQLite)

La operación de eliminación es un regalo

La limpieza más habitual, quitar una entrada comprometedora, es también la más visible. La tabla ActivityOperation conserva la operación con tipo de operación 3, el Id de la actividad y la hora en que se puso en cola la eliminación. En Windows Timeline Parser, estas filas se marcan como Eliminación y se fechan por su hora de creación, no por la hora de inicio de la actividad a la que apuntan, así que aparecen en la cronología en el momento de la limpieza.

kacos2000 describe una sutileza: en las cuentas Microsoft, las entradas con estado eliminado permanecen en ActivityOperation solo hasta que se sincronizan, y después vuelven a Activity hasta caducar (kacos2000). Como la sincronización en la nube del historial terminó para las cuentas Microsoft en 2021 y para las cuentas Entra ID a partir de enero de 2024 (Microsoft Support), conviene probar este comportamiento en sistemas actuales en lugar de darlo por hecho. Revise también ActivityStatus en Activity.

Señales de que la base se reinició

  • La fila más antigua es mucho más reciente que el perfil, mientras SRUM y Prefetch muestran actividad anterior del mismo usuario.
  • La fecha de creación de la tabla Metadata es reciente.
  • El diario USN muestra ActivitiesCache.db borrado y vuelto a crear (parser USN).
  • Una instantánea de volumen contiene una base mayor y más antigua.

Fallos de adquisición (los que nos causamos nosotros)

FalloResultadoSolución
No se adquirió el WALFalta la actividad más reciente, las filas actualizadas muestran valores antiguosAdquirir ActivitiesCache.db* (adquisición)
Base y WAL de momentos distintosFrames que no coinciden; un parser cuidadoso ignora el WALAdquirir ambos en una sola pasada o desde una instantánea
Originales abiertos con un cliente SQLiteWAL volcado y borrado al cerrar (sqlite.org)Calcular hashes y trabajar sobre copias
Solo se adquirió una carpeta de cuentaSe pierde la actividad de otro tipo de cuentaAdquirir la carpeta ConnectedDevicesPlatform completa

Límites del parser (incluido este)

Ser explícito con la herramienta forma parte de ser explícito con la evidencia. Hoy, Windows Timeline Parser:

  • Analiza las filas vivas de Activity, ActivityOperation y Activity_PackageId, con las transacciones WAL confirmadas aplicadas.
  • No recupera mediante carving registros eliminados de freeblocks, páginas de la freelist ni frames WAL de una generación de salt anterior. Informa de por qué se detuvo la lectura del WAL (por ejemplo, «pertenece a una generación anterior del WAL»), pero no extrae esos frames.
  • No analiza las tablas Metadata, ActivityAssetCache ni AppSettings.
  • Muestra la columna Group (Copy / Paste) en la exportación JSON, no en la tabla.
  • Carga cada base en la memoria del navegador.
  • Se ha probado con archivos SQLite reales construidos según el esquema documentado; contraste los hallazgos críticos con un segundo parser (comparativa de parsers).

Para recuperar registros eliminados, herramientas de investigación SQLite como bring2lite analizan las freelists y el WAL (Meng y Baier, 2019), y kacos2000 publica herramientas de carving del portapapeles (kacos2000/WindowsTimeline).

FAQ

¿Puede un usuario borrar su historial de Windows Timeline?

Sí. Windows ofrece un botón para borrar el historial de actividades, los usuarios podían quitar entradas individuales de Timeline en Windows 10 y la opción de almacenar el historial puede desactivarse. Quitar una entrada deja una operación de eliminación pendiente en ActivityOperation, que es en sí misma una prueba.

¿Cuánto tiempo conserva Windows Timeline la actividad?

Cada fila tiene un ExpirationTime. Los investigadores lo midieron en 30 días tras la última modificación para las actividades normales y en 12 horas para el contenido del portapapeles.

Artículos relacionados

Artículos relacionados

Cómo el modo WAL de SQLite esconde la actividad más reciente de Windows Timeline en ActivitiesCache.db-wal, cómo funcionan los checkpoints y cómo analizarlo.
Referencia de campos de ActivitiesCache.db: ActivityType 5, 6, 10 y 16, JSON AppId, claves del payload como activeDurationSeconds y las columnas de fecha.
Guía completa de análisis forense de Windows Timeline: qué registra ActivitiesCache.db, dónde está, por qué importa el -wal y cómo leerlo en una investigación.