Skip to content

Parsers de ActivitiesCache.db comparados: WxTCmd y más

Comparativa justa de parsers de Windows Timeline: WxTCmd, herramientas de kacos2000, Plaso, Velociraptor, SQL y este parser web, con el manejo del WAL.

Publicado el 7 min de lectura

Resumen. WxTCmd es la referencia: gratuito, automatizable, tres CSV y compatible con KAPE. Las herramientas de kacos2000 son el kit de investigación, con carving del portapapeles incluido. Plaso integra Timeline en una supercronología. Velociraptor recoge y consulta a escala de flota. Windows Timeline Parser sirve para el triaje sin instalación en un navegador, con su propia reproducción del WAL y estado WAL por fila. Para todo lo que vaya a un tribunal, ejecute dos herramientas y compare.

Esta comparativa se limita a lo que cada proyecto documenta o muestra su código fuente. Cuando algo no está documentado, la tabla lo dice en lugar de adivinar.

Los candidatos

HerramientaTipoSe ejecuta enSalida
WxTCmd (Eric Zimmerman)CLI, .NETWindows (el código incluye compilaciones .NET 6+ con soporte para Linux)3 archivos CSV
WindowsTimeline (kacos2000)Ejecutable con interfaz gráfica, scripts de PowerShell, consultas SQL, herramientas de carving del portapapelesWindowsCuadrícula / CSV, resultados SQL
Plaso windows_timelinePlugin del parser SQLiteLinux, Windows, macOS (Python)Eventos de supercronología
Velociraptor Windows.Forensics.TimelineArtefacto de endpointAgentes de VelociraptorResultados de consulta; obsoleto en favor de Generic.Forensic.SQLiteHunter
ActivitiesCacheParserScript de PythonCualquier sistema con PythonInformes
DB Browser for SQLite + SQLManualCualquieraLo que usted consulte
Windows Timeline ParserAplicación web, Rust → WebAssemblyCualquier navegador modernoTabla interactiva, CSV, JSON

Las suites comerciales también analizan Timeline; Belkasoft, por ejemplo, publicó una demostración en Forensic Focus. Quedan fuera del alcance de este artículo.

WxTCmd

WxTCmd es la herramienta a la que recurren la mayoría de los analistas, y con motivo. Recibe una base con -f y un directorio de salida con --csv, con un formato de fecha opcional --dt (README). Su código escribe tres archivos, uno para Activity, otro para ActivityOperation y otro para Activity_PackageId, con un prefijo de marca de tiempo y el nombre de perfil tomado de la ruta (Program.cs). El CSV de Activity incluye columnas de ejecutable, texto mostrado, información de contenido, payload, payload del portapapeles, inicio, fin, duración, zona horaria y plataforma del dispositivo. SANS la incluye entre sus herramientas forenses (SANS).

Manejo del WAL. El README no menciona el WAL. El código abre la base mediante un ORM sobre una biblioteca SQLite estándar, sin copiarla. Por diseño de SQLite, un archivo -wal que esté junto a la base se lee, y la última conexión que se cierra puede volcarlo en la base y borrarlo (sqlite.org). Consecuencia práctica: mantenga ActivitiesCache.db-wal junto a la copia que analiza, no apunte nunca WxTCmd a la evidencia original y cuente con que el WAL de esa copia se consumirá.

Puntos fuertes: madura, automatizable, un módulo de KAPE listo para usar, CSV preparados para Timeline Explorer. Límites: flujo de trabajo centrado en Windows; sin indicación por fila de lo que procede del WAL.

WindowsTimeline de kacos2000

El repositorio de Costas Katsavounidis acompaña a la investigación pública más detallada sobre esta base (PDF). Ofrece un parser con interfaz gráfica, scripts de PowerShell para bases en vivo y sin conexión, consultas SQL listas para usar y herramientas del portapapeles que, según su autor, recuperan entradas eliminadas tanto de la base como del WAL (repositorio).

Puntos fuertes: profundidad de investigación; carving; SQL que se puede leer y adaptar. Límites: herramientas para Windows; las consultas SQL necesitan una compilación de SQLite con soporte JSON.

Plaso

El plugin windows_timeline de Plaso requiere las tablas Activity y Activity_PackageId y genera eventos de uso por parte del usuario y de actividades genéricas (código fuente). Úselo cuando Timeline sea una fuente entre cientos y quiera todo en el mismo eje.

Puntos fuertes: integración en la supercronología. Límites: menos detalle específico de Timeline que un parser dedicado; consulte su documentación para saber cómo trata su versión los archivos -wal.

Velociraptor

Windows.Forensics.Timeline apunta a C:\Users\*\AppData\Local\ConnectedDevicesPlatform\*\ActivitiesCache.db y está documentado como obsoleto en favor de Generic.Forensic.SQLiteHunter (documentación de Velociraptor). Úselo para hacer hunting en muchos endpoints o para recoger los archivos y analizarlos sin conexión.

DB Browser for SQLite y SQL

Posible, didáctico y arriesgado con evidencia. Un cliente normal leerá el WAL y puede volcarlo (sqlite.org). Abra siempre una copia, y recuerde que los payloads JSON y el contenido Base64 del portapapeles hay que decodificarlos a mano.

Windows Timeline Parser (este sitio)

Lo que hace, tal como está implementado:

  • Lector SQLite propio de solo lectura en Rust, compilado a WebAssembly y ejecutado en un Web Worker. Sin motor SQLite, sin ruta de escritura, sin subida.
  • Reproducción del WAL: checksums validados, solo transacciones confirmadas; frames no confirmados ignorados; un WAL que no encaja con la base se detecta y se ignora con una advertencia.
  • Estado WAL por fila: solo en el WAL, modificada en el WAL o volcada (por qué importa).
  • Decodificación: AppId resuelto con GUID de carpetas conocidas, contentUri convertido en ruta, segundos de foco, zona horaria del usuario, texto Base64 del portapapeles.
  • Carga: archivos sueltos, carpetas y colecciones ZIP de triaje; cada base emparejada con su WAL; propietario deducido de la ruta.
  • Triaje: marcas para portapapeles, filas solo en el WAL, eliminaciones, carpetas escribibles por el usuario, otras unidades y rutas de red; filtros; UTC/local; CSV (protegido contra inyección de fórmulas) y JSON.

Lo que no hace: recuperar mediante carving registros eliminados, analizar Metadata o ActivityAssetCache, procesar en streaming bases muy grandes. Es más reciente que WxTCmd y tiene menos recorrido en casos reales, y precisamente por eso recomendamos un segundo parser para los hallazgos críticos.

Lado a lado

WxTCmdkacos2000PlasoTimeline Parser
InstalaciónHerramienta .NETEjecutable de Windows / PowerShellPaquete de Python / DockerNinguna (navegador)
TablasActivity, ActivityOperation, Activity_PackageIdLas mismas, más consultasActivity, Activity_PackageIdActivity, ActivityOperation, Activity_PackageId
WALMediante la biblioteca SQLite, si está junto al archivoMediante SQLite; las herramientas de carving leen el WALVer la documentación de PlasoReproducción propia, estado por fila
Registros eliminadosNoCarving del portapapelesNoNo
Portapapeles decodificadoPayload exportadoSíNo documentadoSí
SalidaCSVInterfaz gráfica, CSVAlmacenamiento Plaso / cronologíasTabla, CSV, JSON
Lotes / scriptsSíEn parteSíNo (interactivo)

Cuál usar y cuándo

  • Flujo de laboratorio con KAPE, Timeline Explorer e informes: WxTCmd.
  • Datos del portapapeles eliminados, investigación: las herramientas de kacos2000.
  • Todo en una misma cronología: Plaso.
  • Cientos de endpoints: Velociraptor.
  • Un portátil, sin permisos de instalación y una respuesta en cinco minutos, o una segunda opinión sobre el contenido del WAL: Windows Timeline Parser, siguiendo la guía paso a paso.

FAQ

¿Cuál es la herramienta de referencia para analizar ActivitiesCache.db?

WxTCmd, de Eric Zimmerman, es un parser gratuito de línea de comandos muy utilizado. Exporta las tablas Activity, ActivityOperation y Activity_PackageId a CSV y encaja en los flujos de trabajo de KAPE.

¿Procesa WxTCmd el archivo -wal?

Su README no menciona el WAL. Abre la base mediante una biblioteca SQLite, y SQLite lee un -wal que esté junto a la base. Mantenga el WAL junto a la copia que analiza y analice solo copias, porque SQLite puede volcar y borrar el WAL al cerrar.

Artículos relacionados

Artículos relacionados

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.
Windows Timeline, SRUM, Prefetch y Jump Lists comparados: qué registra cada uno, dónde está, cuánto dura y qué pregunta forense responde mejor cada artefacto.
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.