← Retour à l’analyseur

Comment analyser SRUDB.dat sans rien installer

Trois options selon l’environnement

ApprocheInstallation requiseIdéal pour
Analyseur navigateurAucuneAnalyse ponctuelle, fichier sensible (aucun upload), démos
SrumECmdRuntime .NET 6+Poste DFIR Windows, traitement en masse
srum-dumpPython 3.9+Analystes Linux/macOS, pipelines custom

Option 1 : déposer sur cette page

Ouvrez l’analyseur SRUM, glissez votre SRUDB.dat sur la zone de dépôt, et les données apparaissent en ~1 seconde pour un fichier typique de 5 Mo. Tout se passe localement via WebAssembly — votre fichier ne quitte jamais le navigateur.

Ce que vous obtenez :

  • Toutes les tables ESE énumérées avec leurs types de colonnes
  • Onglets pour les tables SRUM connues (Utilisation des ressources, Utilisation des données réseau, Connectivité réseau, Énergie, Notifications push)
  • AppId et UserId résolus automatiquement contre SruDbIdMapTable
  • Colonnes FILETIME rendues en chaînes ISO-8601

À utiliser pour un aperçu rapide d’un fichier sans monter un outil, ou quand le fichier est trop sensible pour être uploadé.

Option 2 : SrumECmd

SrumECmd d’Eric Zimmerman est l’outil de référence pour les postes DFIR Windows. Il produit des CSV propres prêts pour Timeline Explorer.

SrumECmd.exe -f C:\evidence\SRUDB.dat -r C:\evidence\SOFTWARE --csv C:\output

Le flag -r pointe vers la ruche SOFTWARE pour résoudre les GUID de profils réseau en SSID lisibles.

Sortie : un CSV par table SRUM — Utilisation des ressources, Utilisation des données réseau, Connectivité réseau, Énergie, plus l’IdMap résolu.

Option 3 : srum-dump

srum-dump de Mark Baggett est l’option Python. Il écrit une feuille XLSX avec un onglet par table.

pip install -r requirements.txt
python srum_dump.py --SRUM_INFILE SRUDB.dat --REG_HIVE SOFTWARE --OUT_DIR ./out

Un fork de Willi Ballenthin produit du JSON à la place de XLSX, plus adapté aux pipelines analytiques.

Choisir entre eux

  • Un fichier, aperçu rapide → analyseur navigateur
  • Beaucoup de fichiers, reproductible → SrumECmd en script batch
  • Analyse custom en pandas / jq → fork JSON de srum-dump
  • Fichier sensible non exfiltrable → analyseur navigateur (zéro upload)

Pièges courants

  1. Copier un fichier verrouillé. SRUDB.dat est verrouillé sur un système vivant. Voir Où se trouve SRUDB.dat sur Windows ? pour les options d’acquisition.
  2. Oublier la ruche SOFTWARE. Sans elle, les noms de profils réseau restent en GUID. Le flag -r de SrumECmd et --REG_HIVE de srum-dump acceptent le chemin de la ruche.
  3. Ne lire que la table court-terme. Utilisation des ressources capture les ~30 derniers jours ; sa variante LT agrège hebdomadairement jusqu’à un an. Toujours vérifier les deux.

Pour aller plus loin

Questions fréquentes

Faut-il Python pour analyser SRUDB.dat ?
Non. Vous pouvez utiliser un analyseur dans le navigateur (sans installation), un outil .NET en ligne de commande (SrumECmd), ou Python (srum-dump). Choisissez selon votre environnement.
L’analyseur navigateur est-il plus lent que les outils CLI ?
Pour des fichiers sous 100 Mo la différence est imperceptible — le parsing se fait en WebAssembly à vitesse quasi-native. Les outils CLI gagnent pour le traitement en masse.
Puis-je exporter les résultats en CSV ?
SrumECmd et srum-dump produisent du CSV/XLSX nativement. L’analyseur navigateur affiche les résultats dans un tableau interactif ; l’export CSV est sur la feuille de route.
Un analyseur peut-il montrer des données de plus de 30 jours ?
Seulement si les tables long-terme (LT) existent et contiennent des lignes. Les tables court-terme sont purgées après environ 30 jours par le service SRUM lui-même.
Puis-je analyser uniquement SRUDB.dat ou les logs sont nécessaires ?
SRUDB.dat seul suffit la plupart du temps. Les journaux SRU*.log ne comptent que si la base a été copiée pendant un flush du service — dans ce cas, rejouer les logs récupère les lignes récentes manquantes.