Aller au contenu

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
Type
Base de données
Windows
1011
Cible KAPE
WindowsTimeline
Velociraptor
Windows.Triage.Targets:WindowsTimeline

Pré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émentEmplacementPersistant ?
RéglagesNTUSER.DAT\Software\Microsoft\Clipboard (EnableClipboardHistory, EnableCloudClipboard, CloudClipboardAutomaticUpload)Oui
Historique actif (jusqu'à 25 éléments)Mémoire du service utilisateur du Presse-papiersJusqu'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éesOui, 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éeC:\pagefile.sys, C:\hiberfil.sysJusqu'à écrasement

Ce que l'artefact prouve

  • Contenu copié : le texte exact d'une copie (depuis ActivitiesCache.db ou 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/AppId de 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

ChampSignification
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 = 10Contenu du presse-papiers conservé par la base de la chronologie
ActivityType = 16Enregistrement d'une opération copier/coller
ClipboardPayloadJSON contenant le texte copié encodé en Base64 ; vérifiez les tables Activity et ActivityOperation
Payload / AppIdApplication d'où les données ont été copiées
metadata.json (épinglés)Éléments épinglés avec la date d'épinglage

Horodatages

HorodatagePositionné quandFormatPièges
StartTimeCopie du texte dans le presse-papiersSecondes epoch Unix, UTCUniquement dans la fenêtre de 12 heures
ExpirationTimeSuppression programméeSecondes epoch Unix, UTCToujours environ 12 heures après StartTime
LastModifiedTimeDernière modification de l'enregistrementSecondes epoch Unix, UTCCe 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, UTCIndique l'épinglage, pas la copie d'origine
Dernière écriture de la clé Software\Microsoft\ClipboardModification d'un réglageFILETIME, UTCMontre 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.db expirent 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.sys ou enregistrées dans hiberfil.sys, et survivre au-delà des 12 heures.

Collecte

  • Cible KAPE : WindowsTimeline (collecte ActivitiesCache.db*). Aucune cible ne couvre le dossier Clipboard\Pinned : copiez-le à la main. Les réglages du registre sont collectés avec RegistryHivesUser.
  • Velociraptor (Windows.Triage.Targets) : WindowsTimeline ; l'artefact Exchange Windows.Forensics.Clipboard dé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.db en CSV, ActivityType compris ; décodez ensuite le contenu Base64 du presse-papiers.
  • DB Browser for SQLite : filtrez ActivityType = 10 et décodez ClipboardPayload (CyberChef ou PowerShell [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String(...))).
  • Velociraptor : Windows.Forensics.Clipboard (Exchange) et l'extension Generic.Forensic.SQLiteHunter, qui décode les contenus du presse-papiers de ActivitiesCache.db.
  • Plugin clipboard de Volatility 2 : lit les structures du presse-papiers dans une image mémoire ; pour l'historique Win+V, extrayez le processus du service cbdhsvc et 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.db avec 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

Termes du glossaire

Tous les artefacts sur une page : aide-mémoire