La Windows Timeline repose sur le service Plateforme des appareils connectés (CDPSvc - Connected Devices Platform Service). Ce service surveille en permanence les interactions de l’utilisateur avec l’interface graphique, les applications et les navigateurs (spécifiquement Microsoft Edge), en consignant ces interactions localement avant de les synchroniser éventuellement vers le Cloud Microsoft (si l’appareil est connecté à un compte MSA ou Azure AD).
Puisque la base de données trace l’interaction humaine, elle est stockée profondément dans le profil spécifique de l’utilisateur.
Emplacement de l’artefact :C:\Users\<username>\AppData\Local\ConnectedDevicesPlatform\L.<username>\ActivitiesCache.db
Format : base de données SQLite version 3 standard.
Fichiers d’accompagnement : les analystes doivent également collecter les journaux de transactions (Write-Ahead Logs : ActivitiesCache.db-wal et ActivitiesCache.db-shm) pour s’assurer que les activités récemment mises en cache, qui n’ont pas encore été validées dans la base principale, soient correctement analysées.
2. Anatomie de la base de données : une mine d’or forensique
L’ouverture de la base de données dans un visualiseur comme DB Browser for SQLite révèle plusieurs tables. Les équipes DFIR doivent se concentrer sur la liaison des données entre les tables Activity et Activity_PackageId.
Table Activity
la table centrale contenant chaque action journalisée.
Id : un GUID unique pour l’activité.
AppId : identifie l’application utilisée (fait le lien avec la table Activity_PackageId).
Payload : un imposant bloc JSON (contenant souvent des chaînes Base64) avec les métadonnées exactes du fichier ouvert ou de l’URL visitée.
StartTime et EndTime : horodatages Epoch (Unix) définissant la durée exacte de l’interaction.
Table Activity_PackageId
agit comme une table de correspondance (lookup table). Elle traduit l’AppId abstrait trouvé dans la table Activity en un chemin d’exécutable réel ou en un nom d’application UWP (ex: C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE).
3. DFIR avancé : synchronisation cloud et presse-papiers
Des recherches récentes menées par Cellebrite ont mis en évidence deux composants critiques de ActivitiesCache.db qui l’élèvent au-dessus des artefacts d’exécution standards.
A. Synchronisation inter-appareils (Le PlatformDeviceId)
Si l’utilisateur compromis est connecté à un compte Microsoft (MSA), Windows synchronise sa chronologie sur tous ses appareils.
Implication forensique : la table Activity inclut un champ PlatformDeviceId. Si un attaquant compromet les identifiants MSA d’un employé et se connecte depuis une machine externe non autorisée, les actions de l’attaquant (fichiers ouverts, outils lancés) sur sa propre machine pourraient être synchronisées et redescendre dans la base ActivitiesCache.db locale de la victime. Les analystes peuvent différencier l’activité locale de l’activité distante de l’attaquant en comparant les chaînes PlatformDeviceId.
B. La charge utile du presse-papiers (Extraction des secrets)
Windows 10/11 propose un “Presse-papiers dans le cloud” (Touche Win+V). S’il est activé, le texte copié est suivi par le CDPSvc.
Implication forensique : à l’intérieur de la table ActivityOperation ou au sein de certains blocs JSON Payload, les analystes peuvent trouver des chaînes encodées en Base64 étiquetées ClipboardPayload. Le décodage de cette chaîne peut révéler exactement ce que l’attaquant a copié-collé pendant sa session — exposant des mots de passe volés, des adresses de portefeuilles de cryptomonnaie, ou des lignes de commande PowerShell malveillantes exécutées dans le terminal.
La base de données Timeline fournit le “chaînon manquant” dans les investigations complexes.
Le récit du phishing : si le Prefetch montre un .exe malveillant s’exécutant à 14h05, la Timeline peut montrer l’utilisateur ouvrant Microsoft Edge à 14h02, visitant une URL Dropbox spécifique, et téléchargeant une archive .zip à 14h04. L’intégralité du vecteur d’attaque est cartographiée dans un seul artefact.
Menace interne (Exfiltration de données) : la chronologie prouve l’intention délibérée. Elle montrera explicitement un employé ouvrant un document SharePoint hautement confidentiel, suivi immédiatement d’une activité dans le presse-papiers, suivie de l’ouverture d’une URL de webmail personnel.
Corrélation des mouvements latéraux : lorsqu’un acteur de la menace utilise des identifiants compromis pour accéder à un serveur via RDP, ses interactions graphiques ultérieures (ouverture de fichiers de configuration spécifiques, exploration de partages réseau) seront immuablement enregistrées dans le fichier ActivitiesCache.db du serveur pour ce compte administrateur spécifique.
Puisque le champ Payload contient du JSON imbriqué et des chaînes codées en Base64, l’examen manuel de la base de données SQLite via des requêtes SQL est inefficace lors d’un triage rapide. Les équipes DFIR s’appuient sur des outils de parsing automatisés.