Detection rules › Splunk
Esentutl.exe Collecting Browser Data (Sysmon)
Esentutl.exe is a Windows command line utility that provides database utilities for the Extensible Storage Engine (ESE). While esentutl.exe is a legitimate and useful tool within Windows environments, its abuse has been observed in malware infections including Qakbot, where it has been used to collect data from Internet Explorer and Microsoft Edge. This use case detects command line arguments used with esentutl.exe to collect data from web browsers
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Collection |
References
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
Rule body
id: '24860.46041'
title: Esentutl.exe Collecting Browser Data
description: 'Esentutl.exe is a Windows command line utility that provides database
utilities for the Extensible Storage Engine (ESE). While esentutl.exe is a legitimate
and useful tool within Windows environments, its abuse has been observed in malware
infections including Qakbot, where it has been used to collect data from Internet
Explorer and Microsoft Edge. This use case detects command line arguments used with
esentutl.exe to collect data from web browsers. -- Software Association: Akira --
Living Off the Land Binary and Scripts (LOLBAS) (LOLBIN)'
logic_format: Splunk
logic: '`get_endpoint_data` `get_endpoint_data_sysmon` (TERM(EventCode=1) OR "<EventID>1<")
"esentutl.exe" OR ("/r " "\\Windows\\WebCache") | where match(process, "(?i)\s/r\s.*\x5cWindows\x5cWebCache")
| table _time, host, user, signature_id, process, process_*, parent_* | bin span=1s
| stats values(*) as * by _time, host '
techniques:
- collection:data from local system
technique_id:
- T1005
data_category:
- Windows Sysmon
references:
- https://thedfirreport.com/2022/02/07/qbot-likes-to-move-it-move-it/
- https://www.cybereason.com/blog/threat-alert-aggressive-qakbot-campaign-and-the-black-basta-ransomware-group-targeting-u.s.-companies
Stages and Predicates
Stage 1: search
`get_endpoint_data` `get_endpoint_data_sysmon` (TERM(EventCode=1) OR "<EventID>1<") "esentutl.exe" OR ("/r " "\\Windows\\WebCache")
Stage 2: where
| where match(process, "(?i)\s/r\s.*\x5cWindows\x5cWebCache")
Stage 3: table
| table _time, host, user, signature_id, process, process_*, parent_*
Stage 4: bucket
| bin span=1s
Stage 5: stats
| stats values(*) as * by _time, host
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
EventCode | eq |
| field:"EventID" kind:eq value:"1" |
process | regex_match |
| field:"CommandLine" kind:regex_match |
Search terms
These SPL tokens match against raw event text.
| Stage | Term |
|---|---|
| 1 | "<EventID>1<" |
| 1 | "esentutl.exe" |
| 1 | "/r " |
| 1 | "\\Windows\\WebCache" |