Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

UserAssist Forensics

forensics

Dé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

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis