VMware ESX / vCenter Pentesting
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Enumeração
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
Se você encontrar credenciais válidas, pode usar mais metasploit scanner modules para obter informações.
ESXi Post-Exploitation & Ransomware Operations
Fluxo de ataque dentro de ambientes virtuais
- Desenvolver: manter um agente de gerenciamento leve (por exemplo, MrAgent), encryptor (por exemplo, Mario) e leak infrastructure.
- Infiltrar: comprometer o gerenciamento vSphere, enumerar hosts, exfiltrar dados e preparar payloads.
- Implantar: enviar agentes para cada host ESXi, deixá-los consultar o C2 e puxar o encryptor quando instruídos.
- Extorquir: leak dados de prova de comprometimento e realizar ransom chats assim que a criptografia for confirmada.
Primitivas de takeover do hypervisor
Uma vez obtida a execução de comandos em um console/SSH do ESXi, os atacantes normalmente executam os seguintes comandos de gerenciamento para identificar e isolar o host antes da implantação do 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
O mesmo agente normalmente mantém um loop persistente que faz polling em um URI C2 codificado. Qualquer status inacessível dispara novas tentativas, o que significa que o beacon permanece ativo até os operadores enviarem instruções.
MrAgent-Style Instruction Channel
Agentes leves de gestão expõem um conjunto conciso de instruções extraídas da fila C2. Esse conjunto é suficiente para operar dezenas de hypervisors comprometidos sem shells interativos:
| Instruction | Effect |
|---|---|
Config | Sobrescrever o config JSON local que define diretórios alvo, delays de execução ou throttling, permitindo reatribuições rápidas sem redeploy de binários. |
Info | Retornar info de build do hypervisor, IPs e metadados dos adaptadores coletados com as sondas uname/esxcli. |
Exec | Iniciar a fase de ransomware: alterar credenciais de root, parar vpxa, opcionalmente agendar um atraso de reboot e então pull+execute o encryptor. |
Run | Implementar um shell remoto escrevendo comandos arbitrários fornecidos pelo C2 em ./shmv, chmod +x e executando-o. |
Remove | Emitir rm -rf <path> para limpeza de ferramentas ou wiping destrutivo. |
Abort / Abort_f | Parar encriptações enfileiradas ou matar threads de worker em execução se o operador quiser pausar ações pós-reboot. |
Quit | Terminar o agente e rm -f seu binário para remoção rápida. |
Welcome | Abusar de esxcli system welcomemesg set -m="text" para exibir avisos de resgate diretamente no banner do console. |
Internamente esses agentes mantêm dois blobs JSON protegidos por mutex (config de runtime + status/telemetria) de modo que threads concorrentes (por exemplo beaconing + workers de encriptação) não corrompam o estado compartilhado. Amostras são comumente preenchidas com código junk para retardar análises estáticas superficiais, mas as rotinas centrais permanecem intactas.
Virtualization & Backup-Aware Targeting
Mario-like encryptors apenas percorrem raízes de diretórios fornecidas pelo operador e tocam artefatos de virtualização que importam para a continuidade do negócio:
| Extension | Target |
|---|---|
vmdk, vmem, vmsd, vmsn, vswp | VM disks, memory snapshots e arquivos de swap de backing. |
ova, ovf | Portable VM appliance bundles/metadata. |
vib | ESXi installation bundles que podem bloquear remediation/patching. |
vbk, vbm | Veeam VM backups + metadata para sabotar restores on-box. |
Comportamentos operacionais:
- Cada diretório visitado recebe
How To Restore Your Files.txtantes da encriptação para garantir que os canais de resgate sejam anunciados mesmo em hosts desconectados. - Arquivos já processados são pulados quando seus nomes contêm
.emario,.marion,.lmario,.nmario,.mmarioou.wmario, prevenindo dupla encriptação que quebraria o decryptor dos atacantes. - Payloads encriptados são renomeados com um sufixo estilo
*.mario(comumente.emario) para que os operadores possam verificar cobertura remotamente em consoles ou listagens de datastores.
Layered Encryption Upgrades
Builds recentes do Mario substituem a rotina linear de chave única por um design esparso e multi-chave otimizado para VMDKs de centenas de gigabytes:
- Key schedule: Gerar uma chave primária de 32 bytes (armazenada em torno de
var_1150) e uma chave secundária independente de 8 bytes (var_20). Os dados são primeiro transformados com o contexto primário e então remixados com a chave secundária antes de escritas no disco. - Per-file headers: Buffers de metadata (ex.:
var_40) rastreiam maps de chunks e flags para que o decryptor privado dos atacantes possa reconstruir o layout esparso. - Dynamic chunking: Em vez do loop constante
0xA00000, tamanho dos chunks e offsets são recalculados com base no tamanho do arquivo, com thresholds estendidos até ~8 GB para acompanhar imagens VM modernas. - Sparse coverage: Apenas regiões estrategicamente escolhidas são tocadas, reduzindo dramaticamente o tempo de execução enquanto ainda corrompem metadata do VMFS, estruturas NTFS/EXT4 dentro do guest ou índices de backup.
- Instrumentation: Builds atualizados logam contagens de bytes por chunk e totais (encrypted/skipped/failed) para stdout, dando afiliados telemetria durante intrusões ao vivo sem ferramentas extras.
See also
Linux LPE via VMware Tools service discovery (CWE-426 / CVE-2025-41244):
Vmware Tools Service Discovery Untrusted Search Path Cve 2025 41244
References
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.


