← Back to Explore
elasticlowTTP
ESXi Virtual Machine Process List
Detects `esxcli vm process list` on an ESXi host. The command lists running virtual machines and the world IDs of their `vmx` processes. Those IDs are what a later kill command uses to stop the VMs and release the locks on their virtual disks.
Detection Query
data_stream.dataset: "vsphere.log" and event.module: "vsphere" and message: ("esxcli" and "vm process list")
Author
Elastic
Created
2026/09/30
Data Sources
VMware vSpherelogs-vsphere.log-*
References
Tags
Domain: EndpointData Source: VMware vSphereUse Case: Threat DetectionTactic: DiscoveryResources: Investigation GuideRule Type: Custom Query (KQL)Platform: VMware ESXiThreat: Ransomware
Raw Content
[metadata]
creation_date = "2026/09/30"
integration = ["vsphere"]
maturity = "production"
updated_date = "2026/09/30"
[rule]
author = ["Elastic"]
description = """
Detects `esxcli vm process list` on an ESXi host. The command lists running virtual machines and the world IDs of
their `vmx` processes. Those IDs are what a later kill command uses to stop the VMs and release the locks on their
virtual disks.
"""
false_positives = [
"""
Administrators list virtual machines during maintenance and troubleshooting. Review whether the same session
then kills those processes or searches the datastore.
""",
]
from = "now-9m"
index = ["logs-vsphere.log-*"]
language = "kuery"
license = "Elastic License v2"
name = "ESXi Virtual Machine Process List"
note = """## Triage and analysis
### Investigating ESXi Virtual Machine Process List
esxcli vm process list enumerates running virtual machines and their world ids. A later kill command uses those world ids to stop the VMs.
#### Possible investigation steps
- Read message for a plain list versus a list piped into vm process kill.
- Check the same session for pkill, power.off, snapshot removal, or a search for vmdk files.
- Confirm with the virtualization owner whether the list was part of a scheduled check.
### False positive analysis
A standalone list during a change window is commonly benign. A list immediately followed by a force kill of every world id is the shutdown step before encryption.
### Response and remediation
- If the same session kills virtual machines or deletes snapshots, isolate the host.
- Otherwise record the account and source for hunting on other hosts.
"""
references = [
"https://lolesxi-project.github.io/LOLESXi/#",
"https://blogs.vmware.com/security/2022/10/esxi-targeting-ransomware-tactics-and-techniques-part-2.html",
"https://detect.fyi/vmware-esxi-logging-detection-opportunities-4fb56411ec21",
]
setup = """## Setup
This rule requires ESXi host logs collected by the Elastic vSphere integration: https://www.elastic.co/docs/reference/integrations/vsphere
"""
risk_score = 21
rule_id = "a7f969e5-6cfd-5b5f-8df4-3c4317a3cf7e"
severity = "low"
tags = [
"Domain: Endpoint",
"Data Source: VMware vSphere",
"Use Case: Threat Detection",
"Tactic: Discovery",
"Resources: Investigation Guide",
"Rule Type: Custom Query (KQL)",
"Platform: VMware ESXi",
"Threat: Ransomware",
]
timestamp_override = "event.ingested"
type = "query"
query = '''
data_stream.dataset: "vsphere.log" and event.module: "vsphere" and message: ("esxcli" and "vm process list")
'''
[[rule.threat]]
framework = "MITRE ATT&CK"
[[rule.threat.technique]]
id = "T1057"
name = "Process Discovery"
reference = "https://attack.mitre.org/techniques/T1057/"
[rule.threat.tactic]
id = "TA0007"
name = "Discovery"
reference = "https://attack.mitre.org/tactics/TA0007/"
[rule.investigation_fields]
field_names = [
"@timestamp",
"message",
"event.original",
"host.hostname",
"log.file.path",
]