ESXi SSH Session from vpxuser
Identifies a successful SSH session opened by the privileged vpxuser account. vpxuser is a service account used by VMware vCenter Server to manage ESXi hosts. An SSH session from that account reaches the host shell directly, outside the vCenter management path, and is a sign the credential is being reused with malicious intent.
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 = """
10Identifies a successful SSH session opened by the privileged vpxuser account. vpxuser is a service account used by
11VMware vCenter Server to manage ESXi hosts. An SSH session from that account reaches the host shell directly,
12outside the vCenter management path, and is a sign the credential is being reused with malicious intent.
13"""
14false_positives = [
15 """
16 Rare troubleshooting can open an SSH session with vpxuser. Confirm the source address and that the session
17 matches a change ticket. vCenter itself manages hosts through the API, not through SSH as vpxuser.
18 """,
19]
20from = "now-9m"
21index = ["logs-vsphere.log-*"]
22language = "kuery"
23license = "Elastic License v2"
24name = "ESXi SSH Session from vpxuser"
25note = """## Triage and analysis
26
27### Investigating ESXi SSH Session from vpxuser
28
29Hostd records SSH session was opened for 'vpxuser@<address>' when that account gets a shell. vpxuser is created for vCenter and is not an interactive operator account.
30
31#### Possible investigation steps
32
33- Read the address after vpxuser@ in message and compare it with the vCenter server.
34- Review shell commands in the same session, especially copies to /tmp, vm process, and datastore paths.
35- Check whether SSH was enabled on this host just before the session.
36- Ask whether anyone used vpxuser for a documented console session.
37
38### False positive analysis
39
40An approved break-glass SSH session with vpxuser should be rare and tied to a ticket. A session from an address that is not the vCenter server deserves review.
41
42### Response and remediation
43
44- If the session was not approved, disable SSH and terminate the session.
45- Rotate the vpxuser credential from vCenter and review other hosts for the same account.
46- Preserve hostd.log and shell.log for the session.
47"""
48references = [
49 "https://lolesxi-project.github.io/LOLESXi/#",
50 "https://blogs.vmware.com/security/2022/10/esxi-targeting-ransomware-tactics-and-techniques-part-2.html",
51 "https://detect.fyi/vmware-esxi-logging-detection-opportunities-4fb56411ec21",
52]
53setup = """## Setup
54
55This rule requires ESXi host logs collected by the Elastic vSphere integration: https://www.elastic.co/docs/reference/integrations/vsphere
56"""
57risk_score = 73
58rule_id = "eb4de742-3183-55a9-942f-c3d3d93d806b"
59severity = "high"
60tags = [
61 "Domain: Endpoint",
62 "Data Source: VMware vSphere",
63 "Use Case: Threat Detection",
64 "Tactic: Lateral Movement",
65 "Resources: Investigation Guide",
66 "Rule Type: Custom Query (KQL)",
67 "Platform: VMware ESXi",
68]
69timestamp_override = "event.ingested"
70type = "query"
71
72query = '''
73data_stream.dataset:vsphere.log and event.module:vsphere and message:("SSH session was opened for" and vpxuser)
74'''
75
76[[rule.threat]]
77framework = "MITRE ATT&CK"
78[[rule.threat.technique]]
79id = "T1021"
80name = "Remote Services"
81reference = "https://attack.mitre.org/techniques/T1021/"
82[[rule.threat.technique.subtechnique]]
83id = "T1021.004"
84name = "SSH"
85reference = "https://attack.mitre.org/techniques/T1021/004/"
86
87[rule.threat.tactic]
88id = "TA0008"
89name = "Lateral Movement"
90reference = "https://attack.mitre.org/tactics/TA0008/"
91
92[rule.investigation_fields]
93field_names = [
94 "@timestamp",
95 "message",
96 "event.original",
97 "host.hostname",
98 "log.file.path",
99]
Triage and analysis
Investigating ESXi SSH Session from vpxuser
Hostd records SSH session was opened for 'vpxuser@
' when that account gets a shell. vpxuser is created for vCenter and is not an interactive operator account.Possible investigation steps
- Read the address after vpxuser@ in message and compare it with the vCenter server.
- Review shell commands in the same session, especially copies to /tmp, vm process, and datastore paths.
- Check whether SSH was enabled on this host just before the session.
- Ask whether anyone used vpxuser for a documented console session.
False positive analysis
An approved break-glass SSH session with vpxuser should be rare and tied to a ticket. A session from an address that is not the vCenter server deserves review.
Response and remediation
- If the session was not approved, disable SSH and terminate the session.
- Rotate the vpxuser credential from vCenter and review other hosts for the same account.
- Preserve hostd.log and shell.log for the session.
References
Related rules
- ESXi SSH Access Enabled
- ESXi Account Granted Admin Role
- ESXi Attempt to Force Install a VMware VIB Package
- ESXi Audit Records Disabled
- ESXi Curl or Wget Activity