ID | Technique | Tactic |
---|---|---|
T1078 | Valid Accounts | Defense Evasion |
Detection: ESXi Shared or Stolen Root Account
Description
This detection monitors for signs of a shared or potentially compromised root account on ESXi hosts by tracking the number of unique IP addresses logging in as root within a short time window. Multiple logins from different IPs in a brief period may indicate credential misuse, lateral movement, or account compromise.
Search
1`esxi_syslog` Message="*root*" Message="*logged in*" NOT Message="*root@127.0.0.1*"
2| rex field=_raw "root@(?<SrcIpAddr>\d{1,3}(?:\.\d{1,3}){3})"
3| rex field=_raw "Z (?<dest>[\w\.]+)\s"
4| bin _time span=15m
5| stats min(_time) as firstTime max(_time) as lastTime dc(SrcIpAddr) AS distinct_ip_count values(SrcIpAddr) AS SrcIps by dest
6| where distinct_ip_count > 1
7| `security_content_ctime(firstTime)`
8| `security_content_ctime(lastTime)`
9| `esxi_shared_or_stolen_root_account_filter`
Data Source
Name | Platform | Sourcetype | Source |
---|---|---|---|
VMWare ESXi Syslog | N/A | 'vmw-syslog' |
'vmware:esxlog' |
Macros Used
Name | Value |
---|---|
esxi_syslog | sourcetype=vmw-syslog OR sourcetype=vmware:esxlog* |
esxi_shared_or_stolen_root_account_filter | search * |
esxi_shared_or_stolen_root_account_filter
is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Annotations
Default Configuration
This detection is configured by default in Splunk Enterprise Security to run with the following settings:
Setting | Value |
---|---|
Disabled | true |
Cron Schedule | 0 * * * * |
Earliest Time | -70m@m |
Latest Time | -10m@m |
Schedule Window | auto |
Creates Risk Event | True |
Implementation
This is based on syslog data generated by VMware ESXi hosts. To implement this search, you must configure your ESXi systems to forward logs to your Splunk deployment. These logs must be ingested with the appropriate Splunk Technology Add-on for VMware ESXi Logs, which provides field extractions and CIM compatibility.
Known False Positives
Limited false positives in most environments, however tune as needed
Associated Analytic Story
Risk Based Analytics (RBA)
Risk Message:
Root login from multiple IPs on ESXi host $dest$.
Risk Object | Risk Object Type | Risk Score | Threat Objects |
---|---|---|---|
dest | system | 50 | No Threat Objects |
References
Detection Testing
Test Type | Status | Dataset | Source | Sourcetype |
---|---|---|---|---|
Validation | ✅ Passing | N/A | N/A | N/A |
Unit | ✅ Passing | Dataset | vmware:esxlog |
vmw-syslog |
Integration | ✅ Passing | Dataset | vmware:esxlog |
vmw-syslog |
Replay any dataset to Splunk Enterprise by using our replay.py
tool or the UI.
Alternatively you can replay a dataset into a Splunk Attack Range
Source: GitHub | Version: 1