UserAssist Forensics
forensicsDéfinition
UserAssist est une clé de registre Windows stockée dans NTUSER.DAT sous Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count. Elle enregistre automatiquement l'historique d'exécution des programmes lancés via l'interface graphique Windows (double-clic sur bureau, menu Démarrer, Explorateur), incluant un compteur d'exécutions et un timestamp de dernière exécution pour chaque programme. L'encodage ROT-13 des noms de programmes dans UserAssist était historiquement la première « obfuscation » rencontrée par les investigateurs débutants. En réalité, ROT-13 n'est pas du chiffrement mais un simple décalage alphabétique de 13 positions, facilement réversible. Les GUIDs des sous-clés correspondant aux différents types d'entrées varient selon la version Windows : {CEBFF5CD...} pour les exécutables, {F4E57C4B...} pour les raccourcis. Les informations enregistrées par UserAssist incluent le nombre d'exécutions (focus count), le temps de session (en secondes) pour les applications GUI, le timestamp de dernière exécution (valeur FILETIME Windows), et dans certaines versions, le focus time. Ces données permettent de distinguer une seule exécution d'un outil malveillant d'une utilisation répétée, et d'établir précisément quand une application a été utilisée pour la dernière fois. La corrélation avec d'autres artefacts est essentielle. UserAssist ne capture que les exécutions via l'interface graphique, pas les exécutions depuis la ligne de commande, les scripts ou les services. Les exécutions en ligne de commande sont mieux tracées par ShimCache, AmCache, Prefetch, et BAM/DAM. Un programme présent dans ShimCache mais absent de UserAssist a probablement été exécuté silencieusement (malware, script). Les GUIDs dans UserAssist permettent également de déduire comment un programme a été lancé : depuis le menu Démarrer, depuis le bureau, depuis l'Explorateur, ou via un raccourci. Cette contextualisation peut être utile pour distinguer une utilisation normale d'une utilisation suspecte.
Fonctionnement
Windows Explorer met à jour les clés UserAssist à chaque exécution d'un programme via l'interface graphique. Les entrées sont encodées en ROT-13 (décalage+13 de l'alphabet, facilement réversible). La structure contient une valeur binaire de 72 octets incluant session count, focus count, focus time et last execution timestamp (FILETIME).
Application DFIR
UserAssist prouve une exécution GUI d'un programme avec le nombre de fois qu'il a été lancé. Pour les investigations de menaces internes, il révèle les applications utilisées par un employé. Pour les investigations malware, l'absence dans UserAssist d'un malware présent dans AmCache suggère une exécution automatisée (service, tâche planifiée, WMI).
Outils
UserAssist (Didier Stevens, décodage ROT-13 automatique), Registry Explorer (Eric Zimmerman), RegRipper (plugin userassist), NirSoft UserAssist Viewer. Pour la timeline : combiner avec MFTECmd, PECmd (Prefetch), AmcacheParser dans Timeline Explorer.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h