VMware ESX / vCenter Pentesting
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Enumerazione
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: mantenere un agente di gestione leggero (es., MrAgent), un encryptor (es., Mario) e l’infrastruttura di leak.
- Infiltrate: compromettere vSphere management, enumerare gli host, esfiltrare dati e stageare i payload.
- Deploy: inviare agent a ciascun ESXi host, farli interrogare il C2 e prelevare l’encryptor quando istruito.
- Extort: leak proof-of-compromise data e avviare ransom chats una volta confermata l’encryption.
Hypervisor Takeover Primitives
Una volta ottenuta l’esecuzione di comandi su una console ESXi o una sessione SSH, gli attaccanti tipicamente eseguono i seguenti comandi di management per identificare (fingerprint) e isolare l’host prima del deployment del ransomware:
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
Lo stesso agent di solito mantiene un loop persistente che interroga un URI C2 hard-coded. Qualsiasi stato non raggiungibile provoca ritentativi, il che significa che il beacon resta attivo finché gli operatori non inviano istruzioni.
Canale di istruzioni in stile MrAgent
Gli agent di management leggeri espongono un set conciso di istruzioni parsato dalla coda C2. Questo set è sufficiente per gestire dozzine di hypervisor compromessi senza shell interattive:
| Istruzione | Effetto |
|---|---|
Config | Sovrascrive la config JSON locale che definisce directory target, ritardi di esecuzione o throttling, permettendo hot re-tasking senza redeployare i binari. |
Info | Restituisce info di build dell’hypervisor, IP e metadata degli adapter raccolti con le probe uname/esxcli. |
Exec | Avvia la fase di ransomware: cambia le credenziali root, stoppa vpxa, opzionalmente pianifica un delay di reboot e poi pull+esegue l’encryptor. |
Run | Implementa una shell remota scrivendo comandi arbitrari forniti dal C2 in ./shmv, chmod +x ed eseguendolo. |
Remove | Esegue rm -rf <path> per pulizia degli strumenti o wiping distruttivo. |
Abort / Abort_f | Ferma le encryption in coda o uccide i worker thread in esecuzione se l’operatore vuole mettere in pausa azioni post-reboot. |
Quit | Termina l’agent e rm -f il suo binario per una rapida self-removal. |
Welcome | Abusa di esxcli system welcomemesg set -m="text" per mostrare avvisi di riscatto direttamente nel banner della console. |
Internamente questi agent mantengono due blob JSON protetti da mutex (runtime config + status/telemetry) così che thread concorrenti (es. beaconing + encryption workers) non corrompano lo stato condiviso. I sample sono comunemente riempiti con codice junk per rallentare l’analisi statica superficiale, ma le routine core restano intatte.
Targeting consapevole di virtualizzazione e backup
Gli encryptor in stile Mario attraversano solo root di directory fornite dall’operatore e toccano artefatti di virtualizzazione che contano per la business continuity:
| Extension | Target |
|---|---|
vmdk, vmem, vmsd, vmsn, vswp | Dischi VM, snapshot di memoria e file di backing swap. |
ova, ovf | Bundle appliance VM portabili / metadata. |
vib | Bundle di installazione ESXi che possono bloccare remediation/patching. |
vbk, vbm | Backup Veeam delle VM + metadata per sabotare i restore on-box. |
Quirks operativi:
- Ogni directory visitata riceve
How To Restore Your Files.txtprima della cifratura per assicurare che i canali di riscatto siano pubblicizzati anche su host disconnessi. - I file già processati vengono saltati quando i loro nomi contengono
.emario,.marion,.lmario,.nmario,.mmarioo.wmario, prevenendo la doppia cifratura che romperebbe il decryptor degli attacker. - I payload cifrati vengono rinominati con un suffisso in stile
*.mario(comunemente.emario) così gli operatori possono verificare la copertura da remoto nelle console o negli elenchi del datastore.
Aggiornamenti della cifratura stratificata
Le build recenti di Mario sostituiscono la routine lineare a chiave singola originale con un design sparso a più chiavi ottimizzato per VMDK da centinaia di gigabyte:
- Key schedule: Genera una chiave primaria di 32 byte (memorizzata intorno a
var_1150) e una chiave secondaria indipendente di 8 byte (var_20). I dati vengono prima trasformati con il contesto primario e poi rimescolati con la chiave secondaria prima della scrittura su disco. - Per-file headers: Buffer di metadata (es.
var_40) tracciano mappe di chunk e flag così che il decryptor privato degli attacker possa ricostruire il layout sparso. - Dynamic chunking: Invece di un loop costante
0xA00000, la dimensione dei chunk e gli offset vengono ricalcolati in base alla dimensione del file, con soglie estese fino a ~8 GB per adattarsi alle moderne immagini VM. - Sparse coverage: Vengono toccate solo regioni strategicamente scelte, riducendo drasticamente il runtime pur corrompendo metadata VMFS, strutture NTFS/EXT4 all’interno della guest o indici di backup.
- Instrumentation: Le build aggiornate loggano per-chunk conteggi di byte e totali (encrypted/skipped/failed) su stdout, fornendo telemetria agli affiliati durante intrusioni live senza tooling aggiuntivo.
Vedi anche
Linux LPE via VMware Tools service discovery (CWE-426 / CVE-2025-41244):
Vmware Tools Service Discovery Untrusted Search Path Cve 2025 41244
Riferimenti
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.


