Aller au contenu

Exécution

SRUM (System Resource Usage Monitor)

Fiche SRUM : tables et GUID de SRUDB.dat, octets réseau et temps CPU par application, enregistrements horaires UTC, rétention de 30 à 60 jours, réparation ESE.

Emplacement
C:\Windows\System32\sru\SRUDB.dat
Prouve
Une application a tourné pour un utilisateur à une heure donnée, et ses octets envoyés et reçus
Horodatages
TimeStamp en date OLE, UTC, fin d'une fenêtre d'environ une heure ; ConnectStartTime en FILETIME, UTC
Rétention
Enregistrements conservés environ 30 à 60 jours selon la table, puis purgés ; écriture horaire et à l'arrêt ; copies plus anciennes dans les VSS
Accès
Administrateur ; SRUDB.dat verrouillé à chaud et souvent dirty : copie via VSS (esentutl /vss) ou NTFS brut, puis réparation ; collecter aussi SOFTWARE
Type
Base de données
Windows
8 / 8.11011
Cible KAPE
SRUM
Velociraptor
Windows.Triage.Targets:SRUM

Présentation

Le System Resource Usage Monitor (SRUM), introduit avec Windows 8, enregistre la consommation de ressources par application et par utilisateur afin que Windows puisse afficher des statistiques de batterie et de données. Les données sont stockées dans SRUDB.dat, une base ESE. C'est l'un des rares artefacts natifs qui relie un programme et un utilisateur à un volume réseau, d'où son rôle central dans les questions d'exfiltration.

Emplacement

Version de WindowsEmplacementRemarques
8 / 8.1 / 10 / 11C:\Windows\System32\sru\SRUDB.datBase ESE accompagnée de SRU*.log, SRUtmp.log, SRU.chk
8 / 8.1 / 10 / 11SOFTWARE\Microsoft\Windows NT\CurrentVersion\SRUM\ExtensionsEnregistre les GUID des fournisseurs
—Ruche SOFTWARENécessaire aux parseurs pour résoudre les profils d'interface (NetworkList)

La base est verrouillée pendant que Windows tourne, et se trouve souvent dans un état « sale » (dirty) lorsqu'on la copie à chaud.

Ce que l'artefact prouve

  • Exécution et activité : une application (chemin, nom de service ou identifiant d'application empaquetée) a consommé du CPU ou des E/S pendant une heure donnée, sous un SID donné.
  • Volume réseau : octets envoyés et reçus par application, par utilisateur et par interface/profil réseau. Un gros volume sortant de rclone.exe, d'un navigateur ou d'un archiveur est le signal classique d'exfiltration.
  • Connectivité : à quel profil réseau (SSID Wi-Fi ou réseau filaire) la machine était connectée, et combien de temps.
  • Il ne montre pas les destinations (adresses IP ou URL) ; combinez-le avec les journaux de proxy, de pare-feu ou DNS.

Champs clés

Table (GUID du fournisseur)Colonnes utiles
SruDbIdMapTableAssocie les AppId/UserId numériques aux chemins, noms d'applications et SID
Application Resource Usage {D10CA2FE-6FCF-4F6D-848E-B2E99266FA89}ForegroundCycleTime, BackgroundCycleTime, FaceTime, octets lus et écrits au premier plan / en arrière-plan
Network Usage {973F5D5C-1D90-4944-BE8E-24B94231A174}BytesSent, BytesRecvd, InterfaceLuid, L2ProfileId
Network Connectivity {DD6636C4-8929-4683-974E-22C046A43763}ConnectedTime, ConnectStartTime, L2ProfileId
Push Notifications {D10CA2FE-6FCF-4F6D-848E-B2E99266FA86}Nombre de notifications par application
Energy Usage {FEE4E14F-02A9-4550-B5CE-5FA2DA202E37}Charge et capacité de la batterie (portables)
App Timeline {5C8CF1C7-7257-4F13-B223-970EF5939312} (Windows 10+)Données chronologiques par application utilisées par les vues d'usage de Windows

Chaque table de données contient AutoIncId, TimeStamp, AppId et UserId.

Horodatages

HorodatagePositionné quandFormatPièges
TimeStampÉcriture de l'enregistrement par le fournisseur, environ une fois par heureDate OLE, UTC (affichée en UTC par les parseurs)Fin d'une fenêtre d'agrégation, pas l'instant de l'activité ; les compteurs sont des totaux sur la période
ConnectStartTimeDébut d'une connexion à un profil réseauFILETIME, UTCUne connexion longue s'étale sur de nombreux enregistrements
Modification $SI de SRUDB.datDernière écriture sur disqueNTFS, UTCLa dernière heure peut encore se trouver en mémoire / dans les tampons du registre

Rétention et effacement

  • Les enregistrements sont conservés environ 30 à 60 jours selon la table, puis purgés ; les tables longue durée (énergie par exemple) peuvent remonter plus loin.
  • Les données sont écrites environ toutes les heures, ainsi qu'à l'arrêt : la dernière heure avant l'acquisition peut manquer dans une copie à chaud.
  • Supprimer SRUDB.dat impose d'arrêter le service de stratégie de diagnostic (DPS) ; une base fraîchement recréée avec peu d'enregistrements est un signal d'alerte.
  • Des copies plus anciennes existent souvent dans les clichés instantanés.

Collecte

  • Cible KAPE : SRUM (le dossier sru et la ruche SOFTWARE)
  • Velociraptor (Windows.Triage.Targets) : SRUM ; Windows.Forensics.SRUM l'analyse en direct.
  • Commandes natives (administrateur) : copie depuis un cliché instantané avec esentutl, puis réparation si la base est sale.
esentutl.exe /y C:\Windows\System32\sru\SRUDB.dat /vss /d E:\case\sru\SRUDB.dat
esentutl.exe /mh E:\case\sru\SRUDB.dat
esentutl.exe /r sru /i

/mh affiche l'état (Clean Shutdown ou Dirty Shutdown) ; lancez la récupération (/r sru) depuis le dossier contenant la base et ses journaux, et conservez un original intact.

Outils d'analyse

  • SrumECmd (Eric Zimmerman) : SrumECmd.exe -f SRUDB.dat -r SOFTWARE --csv E:\out ; la ruche passée par -r résout les noms de profils réseau.
  • srum-dump (Mark Baggett, open source) : produit un classeur annoté à partir d'un modèle.
  • Velociraptor : Windows.Forensics.SRUM.
  • AppResourcesUsageView / NetworkUsageView (NirSoft) : vues rapides sur un système en direct.

Conseils d'investigation

  • Triez Network Usage par BytesSent et par heure : une application avec un pic soudain (souvent rclone.exe, curl.exe, winscp.exe, un navigateur ou un svchost.exe hébergeant BITS) marque la fenêtre d'exfiltration.
  • Faites correspondre L2ProfileId au SSID via la ruche SOFTWARE (profils réseau) pour montrer que la machine était sur un réseau d'hôtel ou un point d'accès personnel à ce moment.
  • Utilisez Application Resource Usage pour confirmer qu'un outil supprimé a tourné, même si le Prefetch a été vidé.
  • SRUM attribue l'activité à un SID : un outil tournant sous SYSTEM ou un compte de service mérite l'attention.
  • Les horodatages sont des tranches horaires en UTC : alignez-les avec les journaux du navigateur et du pare-feu à l'heure près, pas à la seconde.

Artefacts liés

Termes du glossaire

Guides

Tous les artefacts sur une page : aide-mémoire