Que fait Analyse des artefacts Shellbag Windows ?
Présentation
Les Shellbags sont des artefacts de registre Windows qui traquent la façon dont les utilisateurs interagissent avec les dossiers via l'Explorateur Windows, en stockant les paramètres d'affichage tels que la taille des icônes, la position des fenêtres, l'ordre de tri et le mode d'affichage. D'un point de vue forensique, les Shellbags fournissent une preuve définitive de l'accès à un dossier — même pour les dossiers qui n'existent plus sur le système. Lorsqu'un utilisateur accède à un dossier via l'Explorateur Windows, la boîte de dialogue Ouvrir/Enregistrer ou le Panneau de configuration, une entrée Shellbag est créée ou mise à jour dans la ruche de registre de l'utilisateur. Ces entrées persistent après la suppression du dossier, la déconnexion du disque et même après une réinitialisation du profil utilisateur, ce qui les rend inestimables pour prouver qu'un utilisateur a navigué vers des répertoires spécifiques sur des disques locaux, des périphériques USB, des partages réseau ou des archives zip.
Quand utiliser
- Lors de l'investigation d'incidents de sécurité nécessitant l'analyse des artefacts Shellbag Windows
- Lors de la création de règles de détection ou de requêtes de chasse aux menaces pour ce domaine
- Lorsque les analystes SOC ont besoin de procédures structurées pour ce type d'analyse
- Lors de la validation de la couverture de surveillance de sécurité pour des techniques d'attaque connexes
Prérequis
- Connaissance des concepts et outils de criminalistique numérique
- Accès à un environnement de test ou de laboratoire pour une exécution sécurisée
- Python 3.8+ avec les dépendances requises installées
- Autorisation appropriée pour toute activité de test
Emplacements dans le registre
Windows 7/8/10/11
| Ruche | Chemin de clé | Stocke |
|---|---|---|
| NTUSER.DAT | Software\Microsoft\Windows\Shell\BagMRU | Arbre hiérarchique des dossiers |
| NTUSER.DAT | Software\Microsoft\Windows\Shell\Bags | Paramètres d'affichage par dossier |
| UsrClass.dat | Local Settings\Software\Microsoft\Windows\Shell\BagMRU | Shell Bureau/Explorateur |
| UsrClass.dat | Local Settings\Software\Microsoft\Windows\Shell\Bags | Paramètres d'affichage supplémentaires |
Structure BagMRU
La clé BagMRU contient un arbre hiérarchique de sous-clés numérotées représentant la structure des répertoires. Chaque valeur de sous-clé contient un blob binaire d'élément d'interpréteur de commandes (SHITEMID) qui encode l'identité du dossier :
- Racine (BagMRU) : Racine de l'espace de noms du Bureau
- BagMRU\0 : Généralement "Poste de travail"
- BagMRU\0\0 : Premier lecteur (ex. C:)
- BagMRU\0\0\0 : Premier sous-dossier sur C:
Chaque élément Shell contient :
- Le type d'élément (dossier, lecteur, réseau, zip, panneau de configuration)
- Nom court (format 8.3)
- Nom long (Unicode)
- Horodatages de création/modification
- Entrée/séquence MFT pour les dossiers NTFS
Analyse avec EZ Tools
SBECmd (Ligne de commande)
# Analyser les Shellbags à partir d'un répertoire de ruches de registre
SBECmd.exe -d "C:\Evidence\Registry" --csv C:\Output --csvf shellbags.csv
# Analyser depuis un système en direct (nécessite les droits administrateur)
SBECmd.exe --live --csv C:\Output --csvf live_shellbags.csv
# Principales colonnes de sortie :
# AbsolutePath - Chemin complet reconstitué
# CreatedOn - Date de première navigation dans le dossier
# ModifiedOn - Date de dernière modification des paramètres d'affichage
# AccessedOn - Horodatage du dernier accès
# ShellType - Type d'élément Shell (Directory, Drive, Network, etc.)
# Value - Données brutes de l'élément Shell
ShellBags Explorer (Interface graphique)
# Lancer l'outil graphique pour une analyse interactive
ShellBagsExplorer.exe
# Charger les ruches de registre : Fichier > Charger une ruche
# Naviguer dans l'arborescence pour voir la hiérarchie des dossiers
# Clic droit sur les entrées pour obtenir les propriétés détaillées des éléments Shell
Scénarios d'investigation forensique
Prouver la navigation sur un périphérique USB
Chemin Shellbag : Poste de travail\E:\Confidential\Project_Files
ShellType : Directory (sur volume amovible)
CreatedOn : 2025-03-15 09:30:00 UTC
Ceci prouve que l'utilisateur a navigué vers E:\Confidential\Project_Files
via l'Explorateur Windows, même si le périphérique USB n'est plus connecté.
La lettre de volume E: et les horodatages du répertoire peuvent être corrélés
avec les entrées de registre USBSTOR et MountPoints2.
Détecter l'accès à un partage réseau
Chemin Shellbag : \\FileServer01\Finance\Q4_Reports
ShellType : Network Location
AccessedOn : 2025-02-20 14:15:00 UTC
Ceci prouve que l'utilisateur a accédé à un partage réseau, même si
le partage a été désactivé ou l'accès révoqué.
Identifier la connaissance d'un dossier supprimé
Chemin Shellbag : C:\Users\suspect\Documents\Exfiltration_Staging
ShellType : Directory
CreatedOn : 2025-01-10 08:00:00 UTC
Bien que C:\Users\suspect\Documents\Exfiltration_Staging
n'existe plus, l'entrée Shellbag prouve que l'utilisateur
a créé et consulté ce dossier.
Limites
- Les Shellbags n'enregistrent que les interactions au niveau des dossiers, pas l'accès aux fichiers individuels
- Uniquement créés par le shell de l'Explorateur et les boîtes de dialogue Ouvrir/Enregistrer
- L'accès en ligne de commande (cmd, PowerShell) ne génère pas d'entrées Shellbag
- L'accès programmatique aux fichiers via les API ne génère pas d'entrées Shellbag
- Les horodatages peuvent refléter des modifications des paramètres d'affichage, pas nécessairement un accès au dossier
- Windows peut mettre à jour les entrées Shellbag par lots lors de l'arrêt de l'Explorateur
Références
- Analyse forensique Shellbags 2025 : https://www.cybertriage.com/blog/shellbags-forensic-analysis-2025/
- Analyse forensique SANS Shellbag : https://www.sans.org/blog/computer-forensic-artifacts-windows-7-shellbags
- Analyse Shellbag par Magnet Forensics : https://www.magnetforensics.com/blog/forensic-analysis-of-windows-shellbags/
- ShellBags Explorer : https://ericzimmerman.github.io/
Exemple de sortie
$ SBECmd.exe -d "C:\Evidence\Users\jsmith" --csv /analysis/shellbag_output
SBECmd v2.1.0 - ShellBags Explorer (Ligne de commande)
======================================================
Traitement des ruches pour l'utilisateur : jsmith
NTUSER.DAT : C:\Evidence\Users\jsmith\NTUSER.DAT
UsrClass.dat : C:\Evidence\Users\jsmith\AppData\Local\Microsoft\Windows\UsrClass.dat
[+] Entrées Shellbag NTUSER.DAT : 456
[+] Entrées Shellbag UsrClass.dat : 1 234
[+] Total des entrées Shellbag : 1 690
--- Chronologie d'accès aux dossiers (Fenêtre d'incident) ---
Dernier accès (UTC) | Chemin du dossier | Type | Nombre d'accès
------------------------|---------------------------------------------------------|-------------|---------------
2024-01-15 14:34:05 | C:\Users\jsmith\Downloads | File System | 45
2024-01-15 14:36:25 | C:\ProgramData\Updates | File System | 3
2024-01-15 15:05:00 | \\FILESERV01\Finance | Network | 2
2024-01-15 15:12:30 | \\FILESERV01\Finance\Q4_Reports | Network | 1
2024-01-15 15:30:00 | E:\ | Removable | 4
2024-01-15 15:30:45 | E:\Backup | Removable | 3
2024-01-15 15:31:20 | E:\Backup\Corporate_Data | Removable | 2
2024-01-15 16:12:45 | \\FILESERV01\HR\Employees | Network | 1
2024-01-15 16:15:00 | \\FILESERV01\HR\Employees\Records_2024 | Network | 1
2024-01-16 02:35:00 | C:\Windows\Temp | File System | 5
2024-01-17 02:44:00 | C:\ProgramData\svc | File System | 2
2024-01-18 01:10:00 | C:\Users\jsmith\AppData\Local\Temp | File System | 8
--- Accès aux partages réseau ---
\\FILESERV01\Finance Premier : 2023-09-10 Dernier : 2024-01-15
\\FILESERV01\Finance\Q4_Reports Premier : 2024-01-15 Dernier : 2024-01-15 (NOUVEAU)
\\FILESERV01\HR\Employees Premier : 2024-01-15 Dernier : 2024-01-15 (NOUVEAU)
\\DC01\SYSVOL Premier : 2023-03-15 Dernier : 2024-01-16 (heure d'accès anormale)
--- Accès aux périphériques amovibles ---
E:\ (Périphérique USB)
Nom du volume : BACKUP_DRIVE
Premier accès : 2024-01-15 15:30:00 UTC
Dernier accès : 2024-01-15 15:45:22 UTC
Dossiers consultés : 3 (E:\, E:\Backup, E:\Backup\Corporate_Data)
--- Chemins supprimés ou n'existant plus ---
C:\ProgramData\Updates\ (dossier supprimé, Shellbag persiste)
C:\ProgramData\svc\ (dossier supprimé, Shellbag persiste)
C:\Windows\Temp\tools\ (dossier supprimé, Shellbag persiste)
Résumé :
Total des dossiers uniques consultés : 1 690
Partages réseau consultés : 4 (2 nouvellement consultés pendant l'incident)
Supports amovibles : 1 périphérique USB (préparation de données suspectée)
Preuve de dossiers supprimés : 3 chemins (indice anti-forensique)
Exportation CSV vers : /analysis/shellbag_output/