Detection: ESXi VM Discovery
Description
This detection identifies the use of ESXCLI commands to discover virtual machines on an ESXi host While used by administrators, this activity may also indicate adversary reconnaissance aimed at identifying high value targets, mapping the virtual environment, or preparing for data theft or destructive operations.
Search
1`esxi_syslog` Message="*esxcli vm process*" Message="*list*"
2| rex field=_raw "\]: \[(?<user>\w+)\]:(?<command>.+)"
3| rex field=_raw "Z (?<dest>[\w\.]+)\s"
4| stats min(_time) as firstTime max(_time) as lastTime count by dest user command
5| `security_content_ctime(firstTime)`
6| `security_content_ctime(lastTime)`
7| `esxi_vm_discovery_filter`
Data Source
Macros Used
| Name |
Value |
| esxi_syslog |
sourcetype=vmw-syslog OR sourcetype=vmware:esxlog* |
| esxi_vm_discovery_filter |
search * |
esxi_vm_discovery_filter is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Annotations
| ID |
Technique |
Tactic |
| T1673 |
Virtual Machine Discovery |
Discovery |
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 Finding (Notable) |
Yes |
| Rule Title |
%name% |
| Rule Description |
%description% |
| Notable Event Fields |
user, dest |
| Creates Intermediate Finding (Risk Event) |
Yes |
TTP detections generate a Finding (Notable) and may generate Intermediate Findings (Risk Events) for associated entities.
Implementation
This is based on syslog data generated by VMware ESXi hosts. To implement this search, you must configure your ESXi systems to forward syslog output 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
Administrators may use this command when troubleshooting. Tune as needed.
Associated Analytic Story
Finding
| Title |
Entity Field |
Entity Type |
Risk Score |
| VM discovery commands executed on ESXi host $dest$ by $user$. |
user |
user |
50 |
| Message |
Entity Field |
Entity Type |
Risk Score |
| VM discovery commands executed on ESXi host $dest$ by $user$. |
dest |
system |
50 |
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: 5