Glossaire
É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.
Un élément shell (shell item) est un enregistrement binaire qui identifie un élément de l'espace de noms du Shell Windows : un lecteur, un dossier, un fichier, un partage réseau, un élément du Panneau de configuration ou un périphérique comme un téléphone. L'Explorateur ne décrit pas les emplacements par de simples chemins : il enchaîne des éléments shell dans une liste d'identifiants (item ID list), que les programmes manipulent via un pointeur appelé PIDL (pointer to an ID list). Parcourir cette liste depuis le Bureau reconstitue l'emplacement complet.
On retrouve des éléments shell dans de nombreux artefacts d'activité utilisateur : les ShellBags de UsrClass.dat, la liste d'identifiants cible des fichiers LNK, les raccourcis intégrés aux Jump Lists et plusieurs clés MRU comme OpenSaveMRU et LastVisitedMRU.
Leur intérêt forensique tient aux métadonnées capturées au moment de l'enregistrement. Un élément de type fichier stocke généralement le nom court et une date de modification au format date/heure FAT, peu précis (résolution de deux secondes). Sur les Windows récents, des blocs d'extension ajoutent le nom long en Unicode, les dates de création et de dernier accès et, sur NTFS, la référence MFT — numéro d'entrée et numéro de séquence — du dossier ou du fichier.
Ces données étant un instantané, les éléments shell peuvent prouver la connaissance de dossiers supprimés depuis, situés sur un support amovible ou sur un partage réseau. Les dates qu'ils contiennent reflètent l'objet au moment de la création de l'élément, pas forcément son état actuel : comparez-les avec la $MFT avant de conclure.
Artefacts concernés
- 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.
- Jump ListsFiche Jump Lists : AutomaticDestinations et CustomDestinations, AppID, entrées DestList avec dernier accès, nombre d'accès, épinglage, et JLECmd.
- OpenSaveMRU et LastVisitedMRUFiche OpenSavePidlMRU et LastVisitedPidlMRU : clés ComDlg32 par version, ce qu'enregistre la boîte Ouvrir/Enregistrer, horodatages, pistes d'exfiltration.
- 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.