Accès aux fichiers
OpenSaveMRU et LastVisitedMRU
Fiche OpenSavePidlMRU et LastVisitedPidlMRU : clés ComDlg32 par version, ce qu'enregistre la boîte Ouvrir/Enregistrer, horodatages, pistes d'exfiltration.
- Emplacement
- NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32
- Prouve
- Un utilisateur a choisi un fichier dans une boîte Ouvrir/Enregistrer, et quel programme a utilisé quel dossier
- Horodatages
- LastWrite de chaque sous-clé en FILETIME, UTC, ne date que l'entrée la plus récente ; les shell items portent les dates DOS de l'élément
- Rétention
- Nombre d'entrées limité par liste, les plus anciennes supprimées ; effacé avec les éléments récents ou par des nettoyeurs ; anciennes versions en slack et VSS
- 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
Outils
Comparer tous les outilsPrésentation
Les programmes qui utilisent la boîte de dialogue de fichiers standard de Windows (« Ouvrir », « Enregistrer sous », « Parcourir… », et le sélecteur de fichiers des navigateurs lors d'un envoi) laissent Windows mémoriser les choix récents de l'utilisateur. Ces souvenirs se trouvent sous la clé ComDlg32 du NTUSER.DAT : quels fichiers ont été sélectionnés, et quel dossier chaque application a utilisé en dernier. Ce sont des preuves fortes d'une sélection délibérée de fichiers par l'utilisateur, y compris de fichiers téléversés via un navigateur.
Emplacement
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\
| Version de Windows | Sous-clé | Contenu |
|---|---|---|
| XP | OpenSaveMRU (+ sous-clés par extension) | Chemins complets en texte |
| XP | LastVisitedMRU | Nom de l'exécutable + chemin du dossier en texte |
| Vista / 7 / 8 / 10 / 11 | OpenSavePidlMRU\<ext> et OpenSavePidlMRU\* | Fichier sélectionné, sous forme de liste de shell items (PIDL) |
| Vista / 7 / 8 / 10 / 11 | LastVisitedPidlMRU (et LastVisitedPidlMRULegacy) | Nom de l'exécutable + PIDL du dernier dossier utilisé |
| 7 / 8 / 10 / 11 | CIDSizeMRU | Noms des exécutables ayant affiché la boîte de dialogue |
Ce que l'artefact prouve
OpenSavePidlMRU: l'utilisateur a sélectionné ce fichier (chemin complet reconstruit depuis le PIDL) dans une boîte d'ouverture ou d'enregistrement. La sous-clé*mélange toutes les extensions ; les autres sont propres à une extension.LastVisitedPidlMRU: le programme X a utilisé en dernier le dossier Y dans la boîte de dialogue, par exemplechrome.exe→E:\Exfil, indice fort d'un envoi ou d'un emplacement de téléchargement.CIDSizeMRU: un programme a affiché la boîte au moins une fois, même sans sélection.- Cela ne prouve pas que le fichier a été effectivement lu ou envoyé ; confirmez avec l'historique du navigateur, les journaux de proxy ou les traces propres à l'application.
Champs clés
| Élément | Signification |
|---|---|
| Valeurs numérotées | PIDL (Vista+) ou chemin texte (XP) d'une entrée |
MRUListEx (MRUList sous XP) | Ordre d'utilisation, la plus récente en premier |
| Données d'une valeur LastVisited | Nom de l'exécutable en UTF-16, puis PIDL du dossier |
Horodatages
| Horodatage | Positionné quand | Format | Pièges |
|---|---|---|---|
| LastWrite de chaque sous-clé | Ajout d'une entrée ou remontée en tête | FILETIME, UTC | Ne date que l'entrée la plus récente de la sous-clé (première de MRUListEx) |
| Heures dans les shell items | Copiées depuis les métadonnées du fichier ou dossier | Date/heure DOS | Décrivent l'élément, pas l'usage de la boîte de dialogue |
Rétention et effacement
- Chaque liste conserve un nombre limité d'entrées et abandonne les plus anciennes.
- Vider l'historique des éléments récents ou utiliser un outil de nettoyage supprime les clés ; l'espace libre de la ruche et les clichés instantanés en gardent souvent des versions plus anciennes.
- Les applications portables ou à boîte de dialogue personnalisée (certaines applications Electron ou Java) peuvent ne pas utiliser la boîte standard et ne laisser aucune entrée.
Collecte
- Cible KAPE :
RegistryHivesUser - Velociraptor (
Windows.Triage.Targets) :RegistryHivesUser - Commandes natives (utilisateur courant) :
reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32" E:\case\comdlg32.reg
Outils d'analyse
- Registry Explorer / RECmd (Eric Zimmerman) : décode les PIDL en chemins.
- RegRipper : plugin
comdlg32.
Conseils d'investigation
- Pour une exfiltration par envoi web, cherchez des navigateurs (
chrome.exe,msedge.exe,firefox.exe) dansLastVisitedPidlMRUpointant vers des dossiers sensibles ou amovibles, et les fichiers envoyés dansOpenSavePidlMRU. - Une archive (
.zip,.7z) créée à un endroit puis sélectionnée dans une boîte de dialogue du navigateur est une séquence classique : comparez le LastWrite de la sous-clé.zipà l'activité web. - Les entrées des boîtes d'enregistrement révèlent où l'utilisateur a enregistré des outils téléchargés ou des données exportées.
- Corrélez les chemins de dossiers avec les ShellBags et les noms de fichiers avec les fichiers LNK et RecentDocs.
Artefacts liés
- RecentDocsFiche RecentDocs : clé de NTUSER.DAT et sous-clés par extension, ordre MRUListEx, sens du LastWrite et rapprochement des entrées avec les fichiers LNK.
- ShellBagsFiche ShellBags : clés BagMRU et Bags dans UsrClass.dat et NTUSER.DAT, shell items, horodatages des dossiers, dossiers supprimés et USB, analyse avec SBECmd.
- Fichiers de raccourci LNKFiche LNK : raccourcis du dossier Recent, première et dernière ouverture, horodatages de la cible, numéro de série, partage réseau et adresse MAC.
- Artefacts des navigateurs (Chrome, Edge, Firefox)Fiche navigateurs : fichiers de profil Chromium et Firefox, tables History et places.sqlite, horodatages WebKit et PRTime, téléchargements, cookies, cache.
- TypedPaths et WordWheelQueryFiche TypedPaths et WordWheelQuery : chemins saisis dans la barre d'adresse et recherches de l'Explorateur dans NTUSER.DAT, ordre, horodatages, conseils.
Termes du glossaire
- NTUSER.DATLa ruche du Registre propre à chaque utilisateur, stockée dans son profil et chargée comme HKEY_CURRENT_USER, riche en traces d'activité.
- Élément shell (ShellItem / PIDL)Structure binaire identifiant un élément de l'espace de noms du Shell Windows, chaînée en listes dans les ShellBags, LNK et Jump Lists.
- 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.