Skip to content

Análisis forense de Windows Timeline: ActivitiesCache.db

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.

Publicado el 8 min de lectura

Resumen. Windows Timeline es una base de datos SQLite por usuario, ActivitiesCache.db, ubicada en %LOCALAPPDATA%\ConnectedDevicesPlatform\<cuenta>\. Registra las aplicaciones que usó el usuario, los archivos y páginas abiertos, el tiempo de foco por aplicación y, a veces, texto del portapapeles. Adquiérala junto con su archivo -wal, lea las tablas Activity y ActivityOperation, convierta las marcas de tiempo Unix desde UTC y corrobore con otros artefactos. Es muy rica en Windows 10 e incierta en Windows 11: compruebe, no suponga.

La mayoría de los artefactos de Windows responden a una pregunta concreta. Prefetch dice que un binario se ejecutó. Las Jump Lists dicen que una aplicación abrió un archivo. Windows Timeline es distinto porque responde a varias preguntas a la vez, por usuario y con duraciones. Eso la convierte en una de las mejores fuentes para reconstruir qué hacía una persona frente al teclado, y en una de las más fáciles de malinterpretar.

Esta guía es la puerta de entrada de la serie. Cada sección enlaza con un artículo más detallado.

Qué es Windows Timeline

Timeline llegó con Windows 10 versión 1803 (actualización de abril de 2018) como parte de la Connected Devices Platform, el servicio detrás de las funciones multidispositivo de Microsoft del tipo «continúa donde lo dejaste» (el examen de la base de datos de kacos2000). Microsoft describe el historial de actividades como lo que usted hace en el dispositivo, por ejemplo las aplicaciones y servicios que usa, los archivos que abre y los sitios web que visita, almacenado localmente en el dispositivo (Microsoft Support).

La parte visible era la vista Timeline en la Vista de tareas (Windows + Tab). Microsoft indica que la experiencia de Timeline se retiró en Windows 11, aunque se mantiene en Windows 10 (Microsoft Support: Get help with Timeline). La vista desapareció; qué contiene todavía la base en Windows 11 se trata en Windows 11 Timeline: ¿sigue siendo útil ActivitiesCache.db?.

Dónde se almacena

ElementoValor
CarpetaC:\Users\<user>\AppData\Local\ConnectedDevicesPlatform\<account-folder>\
Base de datosActivitiesCache.db (SQLite 3)
Archivos asociadosActivitiesCache.db-wal (registro write-ahead), ActivitiesCache.db-shm (índice de memoria compartida)
Carpeta de cuentaL.<username> para cuentas locales; otro identificador para cuentas Microsoft y profesionales o educativas
AlcanceUna base de datos por carpeta de cuenta

La carpeta ConnectedDevicesPlatform puede contener más de una carpeta de cuenta para el mismo usuario de Windows, por ejemplo tras pasar de una cuenta local a una cuenta Microsoft. Adquiera la carpeta completa. Las rutas, el nombre de las carpetas de cuenta, los targets de KAPE y el manejo de archivos bloqueados se detallan en dónde está ActivitiesCache.db y cómo adquirirlo.

Qué contiene

La base tiene varias tablas. Tres concentran casi todo el valor para la investigación (Group-IB, kacos2000):

TablaQué contienePor qué importa
ActivityUna fila por actividad: aplicación, tipo, inicio/fin, payload JSON, payload del portapapelesLa cronología en sí
ActivityOperationOperaciones en cola (inserción, actualización, eliminación) pendientes de sincronizarRastros de entradas que el usuario quitó de Timeline
Activity_PackageIdNombres de paquete o de ejecutable por actividad, con caducidadAyuda a identificar la aplicación

Cada fila de Activity tiene un tipo de actividad. Los más habituales:

ActivityTypeSignificadoDatos clave
5Aplicación, archivo o página abiertosdisplayText, contentUri, appDisplayName en el payload
6Aplicación en uso (foco)activeDurationSeconds, userTimezone, hora de inicio y de fin
10Contenido del portapapelesTexto en Base64 en ClipboardPayload
16Operación de copiar o pegarLa columna Group indica copia o pegado
2NotificaciónMetadatos de notificaciones toast

La aplicación se identifica mediante el JSON AppId, un array de pares plataforma/aplicación en el que las carpetas del sistema aparecen como GUID de carpetas conocidas. Cada campo se explica en tipos de actividad y campos del payload de ActivitiesCache.db.

Por qué el archivo -wal no es opcional

ActivitiesCache.db funciona en modo write-ahead log de SQLite. Las filas nuevas y modificadas se añaden a ActivitiesCache.db-wal; solo llegan al archivo principal cuando un checkpoint las copia de vuelta. La documentación de SQLite es clara: separar una base de datos de su archivo WAL puede hacer que se pierdan transacciones ya confirmadas (sqlite.org/wal.html).

En un equipo encendido o usado recientemente, las últimas horas de actividad suelen estar solo en el WAL. Analice la base sola y obtendrá una cronología que se detiene justo antes de la parte interesante. El mecanismo y sus consecuencias forenses se explican en por qué importa ActivitiesCache.db-wal.

Qué puede demostrar y qué no

PreguntaRespuesta de TimelineFiabilidad
¿Abrió el usuario este archivo?Fila de tipo 5 con la ruta del archivoAlta, por cuenta de usuario
¿Cuánto tiempo usó esta aplicación?activeDurationSeconds del tipo 6Buena, pero compárela con inicio/fin
¿Qué aplicación se usó en un USB o un recurso compartido?Ruta en otra letra de unidad o ruta UNCBuena para la ruta; el volumen requiere otros artefactos
¿Qué copió?Texto del portapapeles (tipo 10), si existeAlta cuando existe, rara vez existe
¿Se ejecutó un programa?Solo si generó una actividad de usuarioParcial: la ausencia no demuestra nada
¿Cuándo exactamente, en hora local?Segundos Unix en UTC más userTimezoneBuena, si la conversión es explícita

Las reglas de interpretación, incluido por qué una fila de Timeline es prueba de uso y no de creación de procesos, están en ¿demuestra Windows Timeline la ejecución o el acceso a archivos?.

Un flujo de trabajo que se sostiene

  1. Adquiera la carpeta ConnectedDevicesPlatform completa de cada usuario, desde una imagen de disco o una colección de triaje. Conserve la estructura Users\<name>\ para atribuir cada base a su cuenta.
  2. Calcule hashes de lo adquirido antes de abrir nada con una herramienta que pueda escribir. Una biblioteca SQLite estándar puede hacer un checkpoint y borrar el WAL al cerrar la base (sqlite.org): trabaje sobre copias.
  3. Analice la base y su WAL juntos. Anote qué filas existen solo en el WAL: son las más recientes y las que sostendrán el informe.
  4. Normalice la hora. Guarde UTC; convierta a hora local con el userTimezone del payload solo para el relato.
  5. Filtre según la pregunta: tipo 5 para archivos abiertos, tipo 6 para uso, tipos 10 y 16 para el portapapeles, ActivityOperation con tipo de operación 3 para eliminaciones.
  6. Corrobore con SRUM, Prefetch, archivos LNK, Jump Lists y registros de eventos. La comparación está en Windows Timeline vs SRUM vs Prefetch vs Jump Lists.

El Windows Timeline Parser realiza los pasos 3 a 5 en el navegador: suelte la base y su WAL y reproduce las transacciones WAL confirmadas, marca las filas que están solo en el WAL o que cambiaron en él, decodifica AppId y payloads, y exporta a CSV o JSON. No se sube nada. El paso a paso está en cómo analizar ActivitiesCache.db en el navegador.

Límites que conviene tener presentes

  • Retención. Cada entrada tiene un ExpirationTime; kacos2000 lo midió en exactamente 30 días tras la última modificación, y en 12 horas para las entradas del portapapeles (kacos2000).
  • Configuración. El usuario o una directiva pueden detener la recopilación («Almacenar mi historial de actividades en este dispositivo») y borrar el historial (Microsoft Support).
  • Cobertura. No todos los procesos generan actividad. Timeline trata del uso por parte del usuario.
  • Registros eliminados. Las filas borradas pueden sobrevivir en páginas libres o en frames antiguos del WAL, pero la mayoría de los parsers, incluido este por ahora, no los recuperan mediante carving.

La lista completa, con las maniobras antiforenses y cómo detectarlas, está en limitaciones y antiforense de Windows Timeline.

FAQ

¿Qué es ActivitiesCache.db?

Es la base de datos SQLite, una por usuario, que hay detrás de Windows Timeline y del historial de actividades. Registra qué aplicaciones usó el usuario, qué archivos y páginas abrió, cuánto tiempo tuvo el foco cada aplicación y, en algunas configuraciones, el texto del portapapeles.

¿Qué versiones de Windows tienen Windows Timeline?

Timeline llegó con Windows 10 versión 1803. Microsoft retiró la vista Timeline en Windows 11, pero la base de datos puede seguir existiendo en sistemas Windows 11: compruébelo en lugar de darlo por supuesto.

¿Necesito el archivo -wal?

Sí. La base funciona en modo write-ahead log de SQLite, así que los cambios recientes permanecen en ActivitiesCache.db-wal hasta un checkpoint. Sin él, a menudo falta la actividad más reciente.

Lecturas recomendadas

Artículos relacionados

Referencia de campos de ActivitiesCache.db: ActivityType 5, 6, 10 y 16, JSON AppId, claves del payload como activeDurationSeconds y las columnas de fecha.
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.
Paso a paso: abra ActivitiesCache.db y su -wal en un visor gratuito, filtre aplicaciones, archivos, tiempo de foco y portapapeles, y exporte a CSV o JSON.