Communitygithub.com

Analyse des artefacts Shellbag Windows

Analyser les artefacts de registre Shellbag (BagMRU) Windows avec SBECmd et d'autres outils.

Qu'est-ce que Analyse des artefacts Shellbag Windows ?

Cette compétence permet d'analyser les artefacts Shellbag Windows, des entrées de registre qui enregistrent comment les utilisateurs interagissent avec les dossiers via l'Explorateur Windows. Elle est essentielle en investigation numérique pour prouver l'accès à des dossiers, même après leur suppression ou déconnexion du périphérique. La compétence prend en charge l'utilisation de SBECmd en ligne de commande et de ShellBags Explorer en mode graphique, et fournit des scénarios d'investigation concrets (preuve de navigation sur des clés USB, accès à des partages réseau, accès à des dossiers supprimés). Elle détaille les emplacements de registre, la structure BagMRU et les limites de l'artefact, en s'appuyant sur les outils de la suite EZ Tools. Adaptée aux analystes SOC et aux enquêteurs numériques, cette compétence fournit des procédures structurées pour valider la couverture de détection et analyser les incidents de sécurité.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/analyzing-windows-shellbag-artifacts

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

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

RucheChemin de cléStocke
NTUSER.DATSoftware\Microsoft\Windows\Shell\BagMRUArbre hiérarchique des dossiers
NTUSER.DATSoftware\Microsoft\Windows\Shell\BagsParamètres d'affichage par dossier
UsrClass.datLocal Settings\Software\Microsoft\Windows\Shell\BagMRUShell Bureau/Explorateur
UsrClass.datLocal Settings\Software\Microsoft\Windows\Shell\BagsParamè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

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/

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

Skills associés