VMware ESX / vCenter Pentesting
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Enumerierung
nmap -sV --script "http-vmware-path-vuln or vmware-version" -p <PORT> <IP>
msf> use auxiliary/scanner/vmware/esx_fingerprint
msf> use auxiliary/scanner/http/ms15_034_http_sys_memory_dump
Bruteforce
msf> auxiliary/scanner/vmware/vmware_http_login
If you find valid credentials, you can use more metasploit scanner modules to obtain information.
ESXi Post-Exploitation & Ransomware Operations
Attack Workflow inside Virtual Estates
- Develop: maintain a lightweight management agent (e.g., MrAgent), encryptor (e.g., Mario), and leak infrastructure.
- Infiltrate: compromise vSphere management, enumerate hosts, steal data, and stage payloads.
- Deploy: push agents to each ESXi host, let them poll C2, and pull the encryptor when instructed.
- Extort: leak proof-of-compromise data and run ransom chats once encryption is confirmed.
Hypervisor Takeover Primitives
Once command execution on an ESXi console/SSH session is obtained, attackers typically run the following management commands to fingerprint and isolate the host before ransomware deployment:
uname -a # hostname / build metadata for tracking
esxcli --formatter=csv network nic list # adapter + MAC inventory
esxcli --formatter=csv network ip interface ipv4 get
esxcli network firewall set --enabled false
/etc/init.d/vpxa stop # cut vCenter off from the host
passwd root # rotate credentials under attacker control
Der gleiche Agent hält in der Regel eine persistente Schleife aufrecht, die eine fest codierte C2-URI abfragt. Jeder nicht erreichbare Status löst Wiederholungsversuche aus, das beacon bleibt also aktiv, bis Operatoren Anweisungen senden.
MrAgent-Style Befehlskanal
Leichte Management-Agenten stellen ein knappes Instruktionsset bereit, das aus der C2-Warteschlange geparst wird. Dieses Set reicht aus, um Dutzende kompromittierte Hypervisor ohne interaktive Shells zu betreiben:
| Instruction | Effect |
|---|---|
Config | Überschreibt die lokale JSON-Konfiguration, die Zielverzeichnisse, Ausführungsverzögerungen oder Throttling definiert, und ermöglicht hot re-tasking ohne erneute Bereitstellung der Binärdateien. |
Info | Gibt Hypervisor-Build-Informationen, IPs und Adapter-Metadaten zurück, die mit den uname/esxcli-Probes gesammelt wurden. |
Exec | Leitet die Ransomware-Phase ein: ändert root-Zugangsdaten, stoppt vpxa, plant optional einen Reboot-Delay und lädt anschließend den encryptor herunter und führt ihn aus. |
Run | Implementiert eine Remote-Shell, indem beliebige vom C2 bereitgestellte Befehle in ./shmv geschrieben, chmod +x gesetzt und ausgeführt werden. |
Remove | Führt rm -rf <path> zur Tool-Bereinigung oder für zerstörerisches Wiping aus. |
Abort / Abort_f | Stoppt wartende Verschlüsselungen oder beendet laufende Worker-Threads, falls der Operator Post-Reboot-Aktionen pausieren möchte. |
Quit | Beendet den Agenten und rm -f dessen Binary für schnelle Selbstentfernung. |
Welcome | Missbraucht esxcli system welcomemesg set -m="text" um Lösegeldhinweise direkt im Konsolenbanner anzuzeigen. |
Intern halten diese Agenten intern zwei mutex-geschützte JSON-Blobs (Runtime-Konfiguration + Status/Telemetry), damit konkurrierende Threads (z. B. beaconing + encryption workers) den gemeinsamen Zustand nicht korruptieren. Samples sind häufig mit Junk-Code gepolstert, um flache statische Analyse zu verlangsamen, aber die Kernroutinen bleiben intakt.
Virtualisierungs- und Backup-bewusstes Targeting
Mario-like encryptors durchlaufen nur vom Operator bereitgestellte Verzeichniswurzeln und verändern Virtualisierungsartefakte, die für die Business Continuity relevant sind:
| Extension | Target |
|---|---|
vmdk, vmem, vmsd, vmsn, vswp | VM disks, memory snapshots und swap backing files. |
ova, ovf | Portable VM appliance bundles/metadata. |
vib | ESXi installation bundles that can block remediation/patching. |
vbk, vbm | Veeam VM backups + metadata to sabotage on-box restores. |
Betriebliche Eigenheiten:
- Jedes besuchte Verzeichnis erhält vor der Verschlüsselung die Datei
How To Restore Your Files.txt, damit Lösegeldkanäle selbst auf isolierten Hosts beworben werden. - Bereits verarbeitete Dateien werden übersprungen, wenn ihre Namen
.emario,.marion,.lmario,.nmario,.mmariooder.wmarioenthalten, um Doppelverschlüsselung zu verhindern, die den Decryptor der Angreifer zerstören würde. - Verschlüsselte Payloads werden mit einem
*.mario-artigen Suffix (häufig.emario) umbenannt, damit Operatoren die Abdeckung remote in Konsolen- oder Datastore-Listings prüfen können.
Mehrstufige Verschlüsselungs-Upgrades
Recent Mario builds replace the original linear, single-key routine with a sparse, multi-key design optimised for multi-hundred-gigabyte VMDKs:
- Key schedule: Generiert einen 32-Byte-Primary-Key (gespeichert rund um
var_1150) und einen unabhängigen 8-Byte-Secondary-Key (var_20). Die Daten werden zuerst mit dem Primary-Kontext transformiert und dann vor dem Schreiben auf die Platte mit dem Secondary-Key erneut gemischt. - Per-file headers: Metadatapuffer (z. B.
var_40) verfolgen Chunk-Maps und Flags, sodass der private Decryptor der Angreifer das sparse Layout rekonstruieren kann. - Dynamic chunking: Anstelle einer konstanten
0xA00000-Schleife werden Chunk-Größe und Offsets basierend auf der Dateigröße neu berechnet, mit Schwellenwerten bis zu etwa 8 GB, um moderne VM-Images abzudecken. - Sparse coverage: Es werden nur strategisch ausgewählte Regionen bearbeitet, was die Laufzeit drastisch reduziert und trotzdem VMFS-Metadaten, NTFS/EXT4-Strukturen im Guest oder Backup-Indizes beschädigt.
- Instrumentation: Aktualisierte Builds protokollieren pro-Chunk Byte-Anzahlen und Totale (encrypted/skipped/failed) auf stdout und liefern Affiliates Telemetrie während Live-Intrusionen ohne zusätzliche Tools.
Siehe auch
Linux LPE via VMware Tools service discovery (CWE-426 / CVE-2025-41244):
Vmware Tools Service Discovery Untrusted Search Path Cve 2025 41244
Referenzen
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.


