Skip to content

Parseurs ActivitiesCache.db comparés : WxTCmd et autres

Comparatif honnête des parseurs Windows Timeline : WxTCmd, outils de kacos2000, Plaso, Velociraptor, requêtes SQL et ce parseur web, avec la gestion du WAL.

Publié le 7 min de lecture

En bref. WxTCmd est la référence : gratuit, scriptable, trois CSV, compatible KAPE. Les outils de kacos2000 forment la boîte à outils de recherche, carving du presse-papiers compris. Plaso intègre Timeline dans une super-chronologie. Velociraptor collecte et interroge à l'échelle d'un parc. Le Windows Timeline Parser sert au triage sans installation dans un navigateur, avec son propre rejeu du WAL et un statut WAL par ligne. Pour tout ce qui ira devant un tribunal, faites tourner deux outils et comparez.

Ce comparatif s'en tient à ce que chaque projet documente ou à ce que montre son code source. Quand quelque chose n'est pas documenté, le tableau le dit au lieu de deviner.

Les candidats

OutilTypeTourne surSortie
WxTCmd (Eric Zimmerman)CLI, .NETWindows (le code source prévoit des builds .NET 6+ avec gestion de Linux)3 fichiers CSV
WindowsTimeline (kacos2000)Exe graphique, scripts PowerShell, requêtes SQL, outils de carving du presse-papiersWindowsGrille / CSV, résultats SQL
Plaso windows_timelinePlugin de parseur SQLiteLinux, Windows, macOS (Python)Événements de super-chronologie
Velociraptor Windows.Forensics.TimelineArtefact endpointAgents VelociraptorRésultats de requête ; déprécié au profit de Generic.Forensic.SQLiteHunter
ActivitiesCacheParserScript PythonPartout où Python tourneRapports
DB Browser for SQLite + SQLManuelTousCe que vous interrogez
Windows Timeline ParserApplication web, Rust → WebAssemblyTout navigateur récentTableau interactif, CSV, JSON

Les suites commerciales analysent aussi Timeline ; Belkasoft a par exemple publié une démonstration sur Forensic Focus. Elles sortent du cadre de cet article.

WxTCmd

WxTCmd est l'outil que la plupart des analystes sortent en premier, et pour de bonnes raisons. Il prend une base avec -f et un dossier de sortie avec --csv, plus un format de date optionnel avec --dt (README). Son code écrit trois fichiers, un pour Activity, un pour ActivityOperation et un pour Activity_PackageId, préfixés par un horodatage et par le nom de profil tiré du chemin (Program.cs). Le CSV Activity contient notamment les colonnes exécutable, texte affiché, informations de contenu, payload, payload du presse-papiers, début, fin, durée, fuseau horaire et plateforme de l'appareil. Le SANS le référence parmi ses outils forensiques (SANS).

Gestion du WAL. Le README ne mentionne pas le WAL. Le code ouvre la base via un ORM reposant sur une bibliothèque SQLite standard, sans la copier. Par conception de SQLite, un fichier -wal placé à côté de la base est lu, et la dernière connexion qui se ferme peut le reporter dans la base puis le supprimer (sqlite.org). Conséquence pratique : gardez ActivitiesCache.db-wal à côté de la copie que vous analysez, ne pointez jamais WxTCmd sur la preuve originale, et attendez-vous à ce que le WAL de cette copie soit consommé.

Points forts : mature, scriptable, un module KAPE prêt à l'emploi, des CSV prêts pour Timeline Explorer. Limites : workflow centré sur Windows ; aucune indication par ligne de ce qui provient du WAL.

WindowsTimeline de kacos2000

Le dépôt de Costas Katsavounidis accompagne la recherche publique la plus détaillée sur cette base (PDF). Il propose un parseur graphique, des scripts PowerShell pour les bases à chaud et hors ligne, des requêtes SQL prêtes à l'emploi, et des outils de presse-papiers dont l'auteur indique qu'ils récupèrent des entrées supprimées à la fois dans la base et dans le WAL (dépôt).

Points forts : profondeur de recherche ; carving ; SQL lisible et adaptable. Limites : outillage Windows ; les requêtes SQL exigent une build SQLite avec prise en charge JSON.

Plaso

Le plugin windows_timeline de Plaso exige les tables Activity et Activity_PackageId et émet des événements pour l'engagement utilisateur et les activités génériques (code source). Utilisez-le quand Timeline n'est qu'une source parmi des centaines et que vous voulez tout sur un même axe.

Points forts : intégration dans la super-chronologie. Limites : moins de détails propres à Timeline qu'un parseur dédié ; consultez sa documentation pour savoir comment votre version traite les fichiers -wal.

Velociraptor

Windows.Forensics.Timeline cible C:\Users\*\AppData\Local\ConnectedDevicesPlatform\*\ActivitiesCache.db et est documenté comme déprécié au profit de Generic.Forensic.SQLiteHunter (documentation Velociraptor). Utilisez-le pour chasser sur de nombreux endpoints, ou pour collecter les fichiers en vue d'une analyse hors ligne.

DB Browser for SQLite et SQL

Possible, formateur, et risqué sur une preuve. Un client ordinaire lira le WAL et pourra le reporter (sqlite.org). N'ouvrez jamais qu'une copie, et rappelez-vous que les payloads JSON et le contenu Base64 du presse-papiers doivent être décodés à la main.

Windows Timeline Parser (ce site)

Ce qu'il fait, tel qu'il est implémenté :

  • Lecteur SQLite maison en lecture seule, écrit en Rust, compilé en WebAssembly, exécuté dans un Web Worker. Pas de moteur SQLite, pas de chemin d'écriture, pas d'envoi.
  • Rejeu du WAL : sommes de contrôle validées, transactions validées uniquement ; trames non validées ignorées ; un WAL qui ne correspond pas à la base est détecté et ignoré avec un avertissement.
  • Statut WAL par ligne : uniquement dans le WAL, modifiée dans le WAL, ou reportée (pourquoi c'est important).
  • Décodage : AppId résolu avec les GUID de dossiers connus, contentUri converti en chemin, secondes de focus, fuseau horaire de l'utilisateur, texte Base64 du presse-papiers.
  • Chargement : fichiers isolés, dossiers et collectes ZIP de triage ; chaque base associée à son WAL ; propriétaire déduit du chemin.
  • Triage : marqueurs pour le presse-papiers, les lignes uniquement dans le WAL, les suppressions, les dossiers modifiables par l'utilisateur, les autres lecteurs et les chemins réseau ; filtres ; UTC/local ; CSV (protégé contre l'injection de formules) et JSON.

Ce qu'il ne fait pas : carver les enregistrements supprimés, analyser Metadata ou ActivityAssetCache, traiter en flux les très grosses bases. Il est plus récent que WxTCmd et a moins de vécu sur le terrain, et c'est précisément pourquoi nous recommandons un second parseur pour les constats critiques.

Côte à côte

WxTCmdkacos2000PlasoTimeline Parser
InstallationOutil .NETExe Windows / PowerShellPaquet Python / DockerAucune (navigateur)
TablesActivity, ActivityOperation, Activity_PackageIdLes mêmes, plus des requêtesActivity, Activity_PackageIdActivity, ActivityOperation, Activity_PackageId
WALVia la bibliothèque SQLite, s'il est à côté du fichierVia SQLite ; les outils de carving lisent le WALVoir la documentation de PlasoRejeu maison, statut par ligne
Enregistrements supprimésNonCarving du presse-papiersNonNon
Presse-papiers décodéPayload exportéOuiNon documentéOui
SortieCSVInterface graphique, CSVStockage Plaso / chronologiesTableau, CSV, JSON
Traitement par lots / scriptsOuiEn partieOuiNon (interactif)

Lequel choisir, et quand

  • Workflow de laboratoire avec KAPE, Timeline Explorer, rapports : WxTCmd.
  • Données de presse-papiers supprimées, recherche : les outils de kacos2000.
  • Tout sur une seule chronologie : Plaso.
  • Des centaines d'endpoints : Velociraptor.
  • Un portable, pas de droits d'installation, une réponse en cinq minutes, ou un second avis sur le contenu du WAL : le Windows Timeline Parser, en suivant le guide pas à pas.

FAQ

Quel est l'outil de référence pour analyser ActivitiesCache.db ?

WxTCmd d'Eric Zimmerman est un parseur gratuit en ligne de commande très répandu. Il exporte les tables Activity, ActivityOperation et Activity_PackageId en CSV et s'intègre aux workflows KAPE.

WxTCmd traite-t-il le fichier -wal ?

Son README ne mentionne pas le WAL. Il ouvre la base via une bibliothèque SQLite, et SQLite lit un -wal placé à côté de la base. Gardez le WAL à côté de la copie analysée, et n'analysez que des copies, car SQLite peut reporter puis supprimer le WAL à la fermeture.

Articles liés

Articles liés

Pas à pas : ouvrir ActivitiesCache.db et son -wal dans un visualiseur gratuit, filtrer applications, fichiers, focus et presse-papiers, exporter en CSV ou JSON.
Windows Timeline, SRUM, Prefetch et Jump Lists comparés : ce que chacun enregistre, où il se trouve, combien de temps il dure et à quelle question il répond.
Là où s'arrêtent les preuves Windows Timeline : expiration, paramètres, historique effacé, lignes supprimées, WAL manquant, limites des parseurs, falsification.