Aller au contenu

Exécution

UserAssist

Fiche UserAssist : clés GUID de NTUSER.DAT, noms en ROT13, nombre d'exécutions, temps au premier plan et dernière exécution des programmes lancés.

Emplacement
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count
Prouve
Un utilisateur a lancé un programme ou raccourci via l'Explorateur, combien de fois, quand
Horodatages
Dernière exécution par entrée et LastWrite de la clé Count en FILETIME, UTC ; noms de valeurs encodés en ROT13
Rétention
Pas de petite limite fixe, s'accumule pendant la vie du profil ; s'arrête si Start_TrackProgs = 0 ; les nettoyeurs suppriment les clés Count
Accès
NTUSER.DAT par utilisateur, verrouillé tant que l'utilisateur est connecté : collecte en NTFS brut (KAPE) ou VSS ; reg export pour l'utilisateur courant
Type
Registre
Windows
XPVista / 78 / 8.11011
Cible KAPE
RegistryHivesUser
Velociraptor
Windows.Triage.Targets:RegistryHivesUser

Présentation

UserAssist est un enregistrement de registre, propre à chaque utilisateur, que l'Explorateur tient sur les programmes et raccourcis lancés depuis l'interface graphique (menu Démarrer, bureau, barre des tâches, double-clic dans l'Explorateur). Windows s'en sert pour ses listes « les plus utilisés ». Pour l'enquêteur, c'est une preuve d'exécution attribuée à un utilisateur, avec un compteur et une date de dernière exécution, stockée dans son NTUSER.DAT.

Emplacement

NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count

Version de WindowsGUIDSuit
7 / 8 / 10 / 11{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}Exécutables lancés
7 / 8 / 10 / 11{F4E57C4B-2036-45F0-A9AB-443BCFE33D9F}Raccourcis (.lnk) lancés
XP / Vista{75048700-EF1F-11D0-9888-006097DEACF9}Programmes et raccourcis lancés
XP / Vista{5E6AB780-7743-11CF-A12B-00AA004AE837}Éléments de la barre d'outils d'Internet Explorer

Les noms de valeurs sont encodés en ROT13. À partir de Windows 7, les dossiers connus contenus dans le nom sont remplacés par des GUID de dossiers connus, par exemple {1AC14E77-02E7-4E5D-B744-2EB1AE5198B7} pour System32 et {6D809377-6AF0-444B-8957-A3773F02200E} pour Program Files sur les systèmes 64 bits.

Ce que l'artefact prouve

  • L'utilisateur propriétaire du NTUSER.DAT a lancé le programme ou le raccourci via l'interface de l'Explorateur.
  • Combien de fois et quand pour la dernière fois ; à partir de Windows 7, également combien de temps la fenêtre a eu le focus.
  • Il ne capture pas les programmes démarrés depuis une invite de commandes, un script, un service ou une tâche planifiée : l'absence dans UserAssist ne signifie pas que le programme n'a jamais tourné.

Champs clés

Windows 7 et ultérieurs (données de 72 octets) :

ChampSignification
Nom de valeur (ROT13)Chemin de l'exécutable, du raccourci ou AppUserModelID
Nombre d'exécutions (offset 4)Nombre de lancements
Nombre de focus (offset 8)Nombre de fois où la fenêtre a reçu le focus
Temps de focus (offset 12)Durée totale au premier plan, en millisecondes
Dernière exécution (offset 60)Date du dernier lancement, FILETIME

Windows XP (données de 16 octets) : identifiant de session, compteur d'exécutions (qui démarre à 5 : retranchez 5), dernière exécution en FILETIME à l'offset 8.

Les valeurs spéciales comme UEME_CTLSESSION et UEME_CTLCUACount:ctor servent à la gestion interne : ce ne sont pas des programmes.

Horodatages

HorodatagePositionné quandFormatPièges
Dernière exécution (données)L'utilisateur lance l'élément via l'ExplorateurFILETIME, UTCCertaines entrées ont un compteur mais une date nulle ; les mises à jour de focus seules ne la modifient pas
LastWrite de la clé CountMise à jour de n'importe quelle valeur UserAssistFILETIME, UTCDésigne la mise à jour la plus récente, toutes entrées confondues

Rétention et effacement

  • Pas de petite limite fixe : les entrées s'accumulent pendant toute la vie du profil.
  • Le suivi s'arrête si l'utilisateur désactive « Autoriser Windows à suivre le lancement des applications » (valeur Start_TrackProgs = 0 sous ...\Explorer\Advanced), et les outils de nettoyage suppriment souvent les clés Count.
  • Les valeurs supprimées restent parfois récupérables dans l'espace non alloué de la ruche et dans les NTUSER.DAT des clichés instantanés.

Collecte

  • Cible KAPE : RegistryHivesUser (NTUSER.DAT et UsrClass.dat avec leurs journaux)
  • Velociraptor (Windows.Triage.Targets) : RegistryHivesUser ; Windows.Registry.UserAssist le décode en direct.
  • Commandes natives (utilisateur courant uniquement ; la ruche d'un utilisateur connecté est verrouillée) :
reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist" E:\case\userassist.reg

Outils d'analyse

  • Registry Explorer / RECmd (Eric Zimmerman) : décode le ROT13, les GUID de dossiers connus, les compteurs et les dates.
  • RegRipper : plugin userassist.
  • UserAssistView (NirSoft) : décodeur rapide pour le système en direct.
  • Velociraptor : Windows.Registry.UserAssist.

Conseils d'investigation

  • Cherchez les outils d'administration et d'exfiltration lancés par double-clic (rclone.exe, WinSCP.exe, mstsc.exe, archiveurs) et les raccourcis vers des scripts.
  • Un temps de focus élevé montre que l'utilisateur a réellement travaillé dans l'application, pas seulement qu'il l'a ouverte.
  • Combinez avec BAM/DAM et le Prefetch pour les heures d'exécution, et avec les Jump Lists pour les fichiers ouverts dans le même programme.
  • mstsc.exe dans UserAssist, plus les clés Terminal Server Client (connexions RDP), montre une connexion RDP sortante par cet utilisateur.
  • Décodez toujours une copie qui inclut les journaux de transactions : les lancements récents peuvent ne figurer que dans .LOG1/.LOG2.

Artefacts liés

Termes du glossaire

Guides

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