For digital forensics and incident response professionals, extracting precise evidence from Windows systems is critical to understanding and mitigating threats. I’m excited to introduce SRUM-DUMP Version 3, a powerful forensic tool I’ve developed to analyze the Windows System Resource Usage Monitor (SRUM) database. Available on GitHub at SRUM-DUMP Repository, this version offers significant improvements, including a user-friendly GUI and customizable output. In this post, I’ll guide you through using SRUM-DUMP v3’s GUI to investigate a scenario where malware (malware.exe
) exfiltrates intellectual property over a wireless network. We’ll explore the 3-step wizard, customize the analysis to highlight malware.exe
, and examine where it appears in the output spreadsheet and what each tab reveals about the incident.
SRUM-DUMP v3 is designed to extract and analyze data from the SRUM database (C:\Windows\System32\sru\srudb.dat
), which logs system resource usage for up to 30 days. This database is a treasure trove for incident response, capturing details about application executions and network activity. Key features of v3 include:
srudb.dat
and SOFTWARE
registry key and you’re off!srum_dump_config.json
file allowing you to highlight suspicious terms, map network interfaces, and format output.srum_dump_config.json
lets you tag suspect processes, users, and networks before the analysis begins.Imagine an attacker compromises a Windows workstation, deploying malware.exe
to steal sensitive documents over a wireless network. The malware runs as an application, quietly exfiltrating data to a remote server. There is no EDR or application logging to be found but you must determine what was stolen and how. The incident response team acquires SRUDB.dat
and the SOFTWARE registry hive (C:\Windows\System32\config\SOFTWARE
) and uses SRUM-DUMP v3 to analyze the evidence.
SRUM-DUMP v3’s GUI streamlines the analysis process through a 3-step wizard, followed by configuration customization and result generation.
SRUDB.dat
. Either from your forensics image or at C:\Windows\System32\sru\srudb.dat
on a live system.If you selected files that are locked by the OS on live systems, srum-dump will extract the locked files through the Volume Shadow Copies. The files are analyzed and a configuration file is built containing all of the users, network, and processes from the selected files.
srum_dump_config.json
file.malware.exe
in this example )
{
"dirty_words": {
"malware.exe": "highlight-red"
}
}
malware.exe
in the output is highlighted in red.srum_dump_config.json
file.
{
"SRUDbIdMapTable": {
"3": "S-1-5-21-1234567890-0987654321-1234567890-1001 (markb) - CompromisedUser"
},
"network_interfaces": {
"268435498": "CorporateWiFi - SuspectWifi"
}
}
malware.exe
Appear?The Excel spreadsheet contains multiple tabs, each corresponding to a SRUM database table. For this scenario, we will examine just two of the locations where malware.exe
will appear:
Tab Name | Description | Relevance to malware.exe |
---|---|---|
Application Timeline | Logs application executions, including executable names, user SIDs, timestamps, and resource usage. | Directly lists malware.exe in the AppId column, highlighted if configured. |
Network Data | Records network activity, including bytes sent/received, interface LUIDs, and timestamps. | Indirectly relevant by showing network activity during malware.exe ’s execution. |
malware.exe
Appears: In the AppId
column, rows containing malware.exe
will be highlighted in red (based on the “dirty_words” configuration).AppId
: The application’s identifier (e.g., malware.exe
).UserSid
: The security identifier of the user running the application, mappable to a username (e.g., “CompromisedUser”).TimeStamp
: The UTC date and time of execution (e.g., 2025-04-15 02:00:00
).CycleTime
: CPU usage, indicating the malware’s processing intensity.WorkingSetSize
: Memory usage, which may reveal unusual patterns.malware.exe
was executed, providing a timeline of its activity.malware.exe
: While malware.exe
isn’t listed directly, you can correlate timestamps with the Application Timeline tab to identify network activity during its execution.InterfaceLuid
: Identifies the network interface (e.g., wireless adapter). With the SOFTWARE hive, this may be mapped to an SSID like “CorporateWiFi.”BytesSent
and BytesRecvd
: Quantities of data transferred (e.g., 500 MB sent).TimeStamp
: When the activity occurred (e.g., 2025-04-15 02:00:00
).BytesSent
values during malware.exe
’s execution suggest data exfiltration.To reconstruct the incident:
malware.exe
Activity: In the Application Timeline tab, note timestamps when malware.exe
was active (e.g., 2025-04-15 02:00:00
).BytesSent
on the wireless interface at matching timestamps.malware.exe
executed and simultaneously sent large amounts of data, confirming intellectual property theft.For example:
malware.exe
ran at 2025-04-15 02:00:00
with high CycleTime
.BytesSent
on “CorporateWiFi” at 2025-04-15 02:00:00
.This correlation provides compelling evidence of the malware’s actions.
Download the prebuilt executable from the Releases page and follow the GUI steps outlined above. For advanced configuration options, consult the Configuration File Documentation.
SRUM-DUMP v3 empowers you to tackle malware investigations, insider threats, and system anomalies with precision, making it an indispensable tool for modern incident response.
I'm teaching at the following events. Come check it out!