ESXi System and Account Enumeration
Detects shell commands that collect ESXi host details or the local account list, including uname -a, system
version, hostname, and esxcli system account list. The output identifies the build and the accounts that can
log in. Listing accounts shows which identities exist before one of them is changed or used.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2026/09/30"
3integration = ["vsphere"]
4maturity = "production"
5updated_date = "2026/09/30"
6
7[rule]
8author = ["Elastic"]
9description = """
10Detects shell commands that collect ESXi host details or the local account list, including `uname -a`, system
11version, hostname, and `esxcli system account list`. The output identifies the build and the accounts that can
12log in. Listing accounts shows which identities exist before one of them is changed or used.
13"""
14false_positives = [
15 """
16 Administrators run these commands during inventory, troubleshooting, and support. Review whether the same session
17continues into virtual machine shutdown, snapshot removal, or a datastore search.
18 """,
19]
20from = "now-9m"
21index = ["logs-vsphere.log-*"]
22language = "kuery"
23license = "Elastic License v2"
24name = "ESXi System and Account Enumeration"
25note = """## Triage and analysis
26
27### Investigating ESXi System and Account Enumeration
28
29These commands collect the OS build, product version, hostname, or the local account list. Account listing is the higher-interest command. Version and hostname checks are common on their own.
30
31#### Possible investigation steps
32
33- Read message to see which command ran.
34- Check the same session for vm process list, vm process kill, chmod, or a search under /vmfs/volumes.
35- For esxcli system account list, compare the listed accounts with the known set for that host.
36
37### False positive analysis
38
39A single version or hostname check during maintenance is commonly benign. Several of these commands in one session, especially account listing followed by VM shutdown, deserves review.
40
41### Response and remediation
42
43- If the same session kills virtual machines or writes a file under /tmp, isolate the host.
44- Otherwise record the account and source for hunting on other hosts.
45"""
46references = [
47 "https://lolesxi-project.github.io/LOLESXi/#",
48 "https://blogs.vmware.com/security/2022/10/esxi-targeting-ransomware-tactics-and-techniques-part-2.html",
49 "https://detect.fyi/vmware-esxi-logging-detection-opportunities-4fb56411ec21",
50]
51setup = """## Setup
52
53This rule requires ESXi host logs collected by the Elastic vSphere integration: https://www.elastic.co/docs/reference/integrations/vsphere
54"""
55risk_score = 21
56rule_id = "5173b00b-9546-5925-862a-a93e43472b29"
57severity = "low"
58tags = [
59 "Domain: Endpoint",
60 "Data Source: VMware vSphere",
61 "Use Case: Threat Detection",
62 "Tactic: Discovery",
63 "Resources: Investigation Guide",
64 "Rule Type: Custom Query (KQL)",
65 "Platform: VMware ESXi",
66 "Threat: Ransomware",
67]
68timestamp_override = "event.ingested"
69type = "query"
70
71query = '''
72data_stream.dataset: "vsphere.log" and event.module: "vsphere" and
73message: (
74 "uname -a" or
75 "esxcli system version get" or
76 "esxcli system hostname get" or
77 "esxcli system account list"
78)
79'''
80
81[[rule.threat]]
82framework = "MITRE ATT&CK"
83[[rule.threat.technique]]
84id = "T1082"
85name = "System Information Discovery"
86reference = "https://attack.mitre.org/techniques/T1082/"
87
88[[rule.threat.technique]]
89id = "T1087"
90name = "Account Discovery"
91reference = "https://attack.mitre.org/techniques/T1087/"
92[[rule.threat.technique.subtechnique]]
93id = "T1087.001"
94name = "Local Account"
95reference = "https://attack.mitre.org/techniques/T1087/001/"
96
97[rule.threat.tactic]
98id = "TA0007"
99name = "Discovery"
100reference = "https://attack.mitre.org/tactics/TA0007/"
101
102[rule.investigation_fields]
103field_names = [
104 "@timestamp",
105 "message",
106 "event.original",
107 "host.hostname",
108 "log.file.path",
109]
Triage and analysis
Investigating ESXi System and Account Enumeration
These commands collect the OS build, product version, hostname, or the local account list. Account listing is the higher-interest command. Version and hostname checks are common on their own.
Possible investigation steps
- Read message to see which command ran.
- Check the same session for vm process list, vm process kill, chmod, or a search under /vmfs/volumes.
- For esxcli system account list, compare the listed accounts with the known set for that host.
False positive analysis
A single version or hostname check during maintenance is commonly benign. Several of these commands in one session, especially account listing followed by VM shutdown, deserves review.
Response and remediation
- If the same session kills virtual machines or writes a file under /tmp, isolate the host.
- Otherwise record the account and source for hunting on other hosts.
References
Related rules
- ESXi Virtual Disk Files Enumerated
- ESXi Virtual Machine Process List
- ESXi Curl or Wget Activity
- ESXi File Made Executable with chmod
- ESXi Local Account Created