Exécution
MUICache
Fiche MUICache : emplacements dans UsrClass.dat et NTUSER.DAT, valeurs FriendlyAppName et ApplicationCompany, ce qu'elles prouvent et limites de datation.
- Emplacement
- UsrClass.dat\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
- Prouve
- Le shell d'un utilisateur a résolu le nom d'un exécutable, en général parce qu'il a tourné
- Horodatages
- Uniquement le LastWrite de la clé MuiCache en FILETIME, UTC ; les entrées n'ont pas d'horodatage propre
- Rétention
- Entrées accumulées pendant toute la vie du profil, sans limite documentée, et conservées après suppression de l'exécutable
- Accès
- UsrClass.dat verrouillé tant que l'utilisateur est connecté : reg query à chaud, sinon NTFS brut (KAPE) ou VSS
- Preuve de
- Exécution
- Type
- Registre
- Windows
- XPVista / 78 / 8.11011
- Cible KAPE
- RegistryHivesUser
- Velociraptor
- Windows.Triage.Targets:RegistryHivesUser
Outils
Comparer tous les outilsPrésentation
Le cache MUI (Multilingual User Interface) stocke le nom d'affichage des exécutables pour que le shell n'ait pas à relire les ressources de version de chaque fichier. Lorsqu'un programme est démarré via le shell, Windows lit son FileDescription (et, sur les versions récentes, son CompanyName) et le met en cache dans le registre de l'utilisateur. On obtient une liste d'exécutables par utilisateur, avec leur nom lisible, qui survit souvent à la suppression du programme.
Emplacement
| Version de Windows | Ruche | Clé |
|---|---|---|
| XP | NTUSER.DAT | Software\Microsoft\Windows\ShellNoRoam\MUICache |
| Vista / 7 / 8 / 10 / 11 | UsrClass.dat | Local Settings\Software\Microsoft\Windows\Shell\MuiCache |
Sur un système en fonctionnement, la clé Vista+ est visible sous HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache.
Ce que l'artefact prouve
- Le shell de l'utilisateur propriétaire de la ruche a chargé les informations d'affichage de l'exécutable. En pratique, cela arrive surtout quand le programme est exécuté : MUICache sert donc couramment de preuve complémentaire d'exécution attribuée à un utilisateur.
- Il conserve le chemin complet, ce qui expose les outils lancés depuis une clé USB, un dossier temporaire ou un partage réseau.
- Il n'est pas concluant à lui seul : d'autres opérations du shell ayant besoin du nom d'affichage peuvent créer des entrées, et il n'enregistre ni compteur ni heure par entrée.
Champs clés
| Nom de valeur | Données |
|---|---|
<chemin complet>.FriendlyAppName | FileDescription issu de la ressource de version PE (Windows 7 et ultérieurs) |
<chemin complet>.ApplicationCompany | CompanyName issu de la ressource de version PE (Windows 7 et ultérieurs) |
<chemin complet> | Nom lisible (style XP / Vista) |
LangID | Valeur de gestion de la langue, pas un programme |
Horodatages
| Horodatage | Positionné quand | Format | Pièges |
|---|---|---|---|
LastWrite de la clé MuiCache | Ajout ou modification de n'importe quelle valeur | FILETIME, UTC | Ne date que l'ajout le plus récent ; les entrées n'ont pas d'heure propre |
Rétention et effacement
- Les entrées s'accumulent pendant toute la vie du profil ; aucune limite de taille n'est documentée.
- Certains outils de nettoyage suppriment la clé. Les valeurs supprimées peuvent rester récupérables dans l'espace libre de la ruche, et des copies plus anciennes existent dans les clichés instantanés de
UsrClass.dat. - Renommer ou supprimer l'exécutable n'efface pas son entrée : MUICache peut conserver le nom d'outils disparus depuis longtemps.
Collecte
- Cible KAPE :
RegistryHivesUser(collecteUsrClass.datetNTUSER.DATavec leurs journaux) - Velociraptor (
Windows.Triage.Targets) :RegistryHivesUser - Commandes natives (utilisateur courant) :
reg query "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache"
Outils d'analyse
- Registry Explorer / RECmd (Eric Zimmerman) : navigation ou export par lot de la clé.
- RegRipper : plugin
muicache. - ExecutedProgramsList (NirSoft) : combine MUICache avec d'autres sources d'exécution sur un système en direct.
Conseils d'investigation
- Le nom lisible est lu dans le fichier lui-même : un binaire nommé
svchost.exedont leFriendlyAppNameest celui d'un archiveur ou d'un outil d'accès distant trahit un renommage. - Un
ApplicationCompanyvide ou étrange à côté d'un nom d'allure système est un indice de tri rapide. - Dressez la liste des chemins inhabituels par utilisateur, puis confirmez exécution et heure avec UserAssist, BAM/DAM ou le Prefetch.
- Si le binaire a disparu, pivotez vers Amcache (SHA-1) et ShimCache avec le même chemin.
Artefacts liés
- UserAssistFiche 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.
- BAM / DAM (Background Activity Moderator)Fiche BAM et DAM : clés de la ruche SYSTEM selon la version de Windows 10, SID par utilisateur, dernière exécution en FILETIME, rétention de sept jours.
- ShimCache (AppCompatCache)Fiche ShimCache (AppCompatCache) : emplacement dans SYSTEM, nombre d'entrées par version, ordre, sens de l'horodatage et limites comme preuve d'exécution.
- Amcache.hveFiche Amcache.hve : clés d'inventaire des fichiers et programmes, SHA-1, métadonnées PE, horodatages, et pourquoi une entrée ne prouve pas l'exécution.
- Fichiers PE (exécutables Windows)Fiche de tri des fichiers PE : hash, imphash et en-tête Rich, limites de la date de compilation, sections et entropie, informations de version, signatures, PDB.
Termes du glossaire
- Preuve d'exécutionLes artefacts qui montrent qu'un programme s'est réellement exécuté sous Windows, et pas seulement qu'il était présent sur le disque.
- UsrClass.datLa seconde ruche du Registre par utilisateur, mappée sur HKCU\Software\Classes, qui contient les ShellBags, le MUICache et des objets COM.
- LastWrite d'une clé de RegistreL'unique FILETIME stocké dans chaque clé de Registre, qui indique en UTC la dernière modification de la clé ou de l'une de ses valeurs.