Activité utilisateur
Historique du presse-papiers
Fiche presse-papiers : ce que Windows 10/11 garde en mémoire, éléments épinglés sur disque, texte du presse-papiers cloud dans ActivitiesCache.db et registre.
- Emplacement
- C:\Users\<user>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db
- Prouve
- Texte copié, application source et heure, si la synchronisation cloud était active
- Horodatages
- StartTime, ExpirationTime, LastModifiedTime du presse-papiers cloud en secondes epoch Unix, UTC ; éléments épinglés datés par metadata.json et le dossier
- Rétention
- Historique en mémoire (25 éléments) effacé au redémarrage ou à la déconnexion ; lignes cloud expirées après 12 h environ ; épinglés gardés jusqu'au désépinglage
- Accès
- Fichiers du profil, copier ActivitiesCache.db avec son -wal ; capturer la RAM d'abord sur un système allumé, un redémarrage détruit l'historique
- Preuve de
- Activité utilisateur
- Type
- Base de données
- Windows
- 1011
- Cible KAPE
- WindowsTimeline
- Velociraptor
- Windows.Triage.Targets:WindowsTimeline
Outils
Comparer tous les outilsPrésentation
Depuis Windows 10 version 1809, la combinaison Win+V ouvre un historique du presse-papiers qui conserve plusieurs copies récentes au lieu de la seule dernière. Cet historique est géré en mémoire par le service utilisateur du Presse-papiers (cbdhsvc_<suffixe>, hébergé dans svchost.exe) et vidé à chaque redémarrage. Ce qui atteint le disque dépend des réglages de l'utilisateur :
- Les éléments épinglés sont écrits dans le profil pour survivre aux redémarrages.
- Si la synchronisation entre appareils (presse-papiers cloud) est aussi activée, le texte copié est également enregistré dans la base de la chronologie Windows,
ActivitiesCache.db, pendant environ 12 heures.
Soyez précis dans vos rapports : avec les réglages par défaut (historique et synchronisation désactivés), aucun contenu du presse-papiers n'est écrit sur le disque ; seuls la mémoire, le fichier d'échange ou le fichier d'hibernation peuvent le contenir.
Emplacement
| Élément | Emplacement | Persistant ? |
|---|---|---|
| Réglages | NTUSER.DAT\Software\Microsoft\Clipboard (EnableClipboardHistory, EnableCloudClipboard, CloudClipboardAutomaticUpload) | Oui |
| Historique actif (jusqu'à 25 éléments) | Mémoire du service utilisateur du Presse-papiers | Jusqu'au redémarrage ou à la déconnexion |
| Éléments épinglés | %LOCALAPPDATA%\Microsoft\Windows\Clipboard\Pinned\<GUID>\ avec metadata.json et des fichiers de données | Oui, jusqu'au désépinglage |
| Dossier d'historique | %LOCALAPPDATA%\Microsoft\Windows\Clipboard\HistoryData\ | Créé à l'activation de l'historique |
| Entrées du presse-papiers cloud | %LOCALAPPDATA%\ConnectedDevicesPlatform\<id>\ActivitiesCache.db (+ -wal, -shm) | Environ 12 heures par entrée |
| Mémoire paginée | C:\pagefile.sys, C:\hiberfil.sys | Jusqu'à écrasement |
Ce que l'artefact prouve
- Contenu copié : le texte exact d'une copie (depuis
ActivitiesCache.dbou la mémoire), utile pour des mots de passe, numéros de compte, commandes ou données préparées pour une exfiltration. - Application source : l'application d'où provient la copie (
Payload/AppIdde l'activité). - Chronologie : le moment de la copie (
StartTime) dans la fenêtre de rétention. - Configuration de l'utilisateur : historique et synchronisation activés ou non, ce qui indique les preuves à attendre.
- L'artefact ne prouve pas que le texte a été collé quelque part, et un résultat vide ne prouve rien si la synchronisation était désactivée.
Champs clés
| Champ | Signification |
|---|---|
EnableClipboardHistory (DWORD) | 1 = historique du presse-papiers (Win+V) activé |
EnableCloudClipboard (DWORD) | 1 = synchronisation entre appareils activée |
CloudClipboardAutomaticUpload (DWORD) | 1 = éléments copiés synchronisés automatiquement |
ActivityType = 10 | Contenu du presse-papiers conservé par la base de la chronologie |
ActivityType = 16 | Enregistrement d'une opération copier/coller |
ClipboardPayload | JSON contenant le texte copié encodé en Base64 ; vérifiez les tables Activity et ActivityOperation |
Payload / AppId | Application d'où les données ont été copiées |
metadata.json (épinglés) | Éléments épinglés avec la date d'épinglage |
Horodatages
| Horodatage | Positionné quand | Format | Pièges |
|---|---|---|---|
StartTime | Copie du texte dans le presse-papiers | Secondes epoch Unix, UTC | Uniquement dans la fenêtre de 12 heures |
ExpirationTime | Suppression programmée | Secondes epoch Unix, UTC | Toujours environ 12 heures après StartTime |
LastModifiedTime | Dernière modification de l'enregistrement | Secondes epoch Unix, UTC | Ce n'est pas l'heure de la copie : utilisez StartTime |
Date d'épinglage dans metadata.json, création du dossier Pinned\<GUID> | Élément épinglé | Horodatage JSON / NTFS, UTC | Indique l'épinglage, pas la copie d'origine |
Dernière écriture de la clé Software\Microsoft\Clipboard | Modification d'un réglage | FILETIME, UTC | Montre quand l'utilisateur a activé ou désactivé l'historique ou la synchronisation |
Rétention et effacement
- L'historique en mémoire contient jusqu'à 25 éléments et se vide au redémarrage ; la déconnexion le vide aussi.
- Les lignes du presse-papiers cloud dans
ActivitiesCache.dbexpirent au bout d'environ 12 heures ; des restes peuvent subsister dans le WAL et les pages libres jusqu'à écrasement (WAL SQLite). - Désépingler supprime le dossier de l'élément sous
Pinned; les fichiers de données épinglés semblent chiffrés ou encodés, leur contenu n'est donc pas directement lisible. - « Effacer » dans le panneau Win+V supprime les éléments non épinglés ; désactiver l'historique arrête la collecte.
- Les copies en mémoire peuvent être paginées dans
pagefile.sysou enregistrées danshiberfil.sys, et survivre au-delà des 12 heures.
Collecte
- Cible KAPE :
WindowsTimeline(collecteActivitiesCache.db*). Aucune cible ne couvre le dossierClipboard\Pinned: copiez-le à la main. Les réglages du registre sont collectés avecRegistryHivesUser. - Velociraptor (
Windows.Triage.Targets) :WindowsTimeline; l'artefact ExchangeWindows.Forensics.Clipboarddécode les lignes du presse-papiers sur un système en fonctionnement. - La mémoire d'abord : sur un système allumé, capturez la RAM avant toute autre action (ordre de volatilité) ; un redémarrage détruit l'historique.
reg query HKCU\Software\Microsoft\Clipboard
robocopy C:\Users\alice\AppData\Local\ConnectedDevicesPlatform E:\case\CDP ActivitiesCache.db* /S /COPY:DAT
robocopy C:\Users\alice\AppData\Local\Microsoft\Windows\Clipboard E:\case\Clipboard /E /COPY:DAT
Outils d'analyse
- WxTCmd (Eric Zimmerman) : convertit
ActivitiesCache.dben CSV,ActivityTypecompris ; décodez ensuite le contenu Base64 du presse-papiers. - DB Browser for SQLite : filtrez
ActivityType = 10et décodezClipboardPayload(CyberChef ou PowerShell[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String(...))). - Velociraptor :
Windows.Forensics.Clipboard(Exchange) et l'extensionGeneric.Forensic.SQLiteHunter, qui décode les contenus du presse-papiers deActivitiesCache.db. - Plugin
clipboardde Volatility 2 : lit les structures du presse-papiers dans une image mémoire ; pour l'historique Win+V, extrayez le processus du servicecbdhsvcet cherchez-y des chaînes.
Conseils d'investigation
- Commencez par les valeurs de registre
Clipboard: elles indiquent s'il faut s'attendre à des lignes cloud, à des éléments épinglés ou à des données uniquement en mémoire. - Les lignes du presse-papiers vivent peu : pour un incident récent, collectez en priorité
ActivitiesCache.dbavec son WAL. - Associez un mot de passe ou un chemin copié à l'activité de l'application source dans la chronologie Windows et aux traces d'exécution pour reconstituer la session.
- Cherchez dans pagefile.sys et hiberfil.sys des chaînes copiées déjà connues pour dépasser la fenêtre de 12 heures.
- Les utilisateurs gardent souvent des secrets dans des éléments épinglés ou des Sticky Notes : examinez les deux dans les affaires de vol d'identifiants.
- Ce comportement a été documenté sous Windows 10 ; validez-le sur une version de Windows 11 équivalente avant d'affirmer que l'absence de lignes est significative.
Artefacts liés
- Windows Timeline (ActivitiesCache.db)Fiche Windows Timeline : ActivitiesCache.db et WAL, tables Activity, valeurs ActivityType, durée au premier plan, presse-papiers, expiration à 30 jours.
- Sticky Notes (plum.sqlite et StickyNotes.snt)Fiche Sticky Notes : table Note de plum.sqlite et horodatages en ticks .NET sous Windows 10/11, ancien StickyNotes.snt, récupération via le WAL, collecte.
- pagefile.sys et swapfile.sysFiche pagefile.sys et swapfile.sys : mémoire paginée sur disque, données récupérables, ClearPageFileAtShutdown, compression et outils de carving.
- hiberfil.sys (fichier d'hibernation)Fiche hiberfil.sys : ce que sauvent l'hibernation et le démarrage rapide, compression selon la version, conversion en image mémoire brute.
- Ruches du registreFiche ruches du registre : SYSTEM, SOFTWARE, SAM, SECURITY, NTUSER.DAT, UsrClass.dat, journaux de transactions, RegBack, LastWrite et collecte.
- Notepad TabState (Windows 11)Fiche Notepad TabState : fichiers .bin des onglets du Bloc-notes Windows 11, texte jamais enregistré, chemins des fichiers, hashs, WindowState et analyse.
Termes du glossaire
- Ordre de volatilitéLe principe consistant à collecter d'abord les preuves les plus volatiles, avant qu'elles ne disparaissent, comme décrit dans la RFC 3227.
- NTUSER.DATLa ruche du Registre propre à chaque utilisateur, stockée dans son profil et chargée comme HKEY_CURRENT_USER, riche en traces d'activité.
- UTC et heure locale dans les artefacts WindowsPourquoi certains artefacts Windows enregistrent l'UTC et d'autres l'heure locale, et comment la clé TimeZoneInformation aide à normaliser une chronologie.
- Journal WAL SQLite (-wal)Le fichier annexe -wal où SQLite écrit les modifications récentes avant de les fusionner dans la base ; il contient souvent les preuves récentes.