VMware ESX / vCenter Pentesting

Tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE) 学习和实践 Azure 黑客技术:HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks

枚举

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

如果你找到有效凭据,可以使用更多 metasploit scanner 模块来获取信息。

ESXi Post-Exploitation & Ransomware 操作

虚拟环境内的攻击工作流

  • Develop:维护一个轻量级管理代理(例如,MrAgent)、加密器(例如,Mario)和 leak 基础设施。
  • Infiltrate:攻破 vSphere 管理,枚举主机,窃取数据,并暂存 payloads。
  • Deploy:将代理推送到每个 ESXi 主机,让它们轮询 C2,并在指示时拉取 encryptor。
  • Extort:leak 证明被攻破的数据,并在确认加密后运行 ransom chats。

Hypervisor Takeover Primitives

一旦获得对 ESXi 控制台/SSH 会话的命令执行,攻击者通常会运行以下管理命令来指纹识别并隔离主机,然后再进行 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

同一代理通常保持一个持久循环,轮询硬编码的 C2 URI。任何不可达状态都会触发重试,这意味着信标会保持活动状态,直到操作员下发指令。

MrAgent-Style Instruction Channel

轻量级管理代理从 C2 队列解析出一组精简的指令集。该指令集足以在没有交互式 shell 的情况下操作数十台被入侵的 hypervisor:

InstructionEffect
Config覆写定义目标目录、执行延迟或节流的本地 JSON 配置,从而在不重部署二进制的情况下实现热重任务。
Info返回通过 uname/esxcli 探针收集的 hypervisor 构建信息、IP 及网卡元数据。
Exec启动勒索阶段:更改 root 凭据,停止 vpxa,可选调度重启延迟,然后 pull 并执行加密器。
Run通过将任意 C2 提供的命令写入 ./shmv、chmod +x 并执行来实现远程 shell。
Remove发出 rm -rf <path> 以清理工具或进行破坏性擦除。
Abort / Abort_f如果操作员希望在重启后暂停动作,则停止排队的加密或终止运行的工作线程。
Quit终止代理并对其二进制执行 rm -f 以快速自我移除。
Welcome滥用 esxcli system welcomemesg set -m="text" 将赎金通知直接显示在控制台横幅中。

在内部,这些代理维护两个受互斥锁保护的 JSON blob(运行时配置 + 状态/遥测),以防并发线程(例如信标与加密工作线程)破坏共享状态。样本通常会填充垃圾代码以减缓浅层静态分析,但核心例程保持不变。

Virtualization & Backup-Aware Targeting

Mario-like encryptors 只遍历操作员提供的目录根并触及对业务连续性重要的虚拟化工件:

ExtensionTarget
vmdk, vmem, vmsd, vmsn, vswpVM 磁盘、内存快照和交换后备文件。
ova, ovf便携式 VM appliance 包/元数据。
vibESXi 安装包,可能阻碍修复/打补丁。
vbk, vbmVeeam VM 备份及元数据,用于破坏本机恢复。

操作特性:

  • 在加密之前,每个访问的目录都会收到 How To Restore Your Files.txt,以确保即使在断网主机上也可以宣传赎金渠道。
  • 当文件名包含 .emario.marion.lmario.nmario.mmario.wmario 时,会跳过已处理的文件,以防止双重加密从而破坏攻击者的解密器。
  • 加密后的有效载荷会重命名为 *.mario 风格的后缀(通常为 .emario),以便操作员能够在控制台或 datastore 列表中远程验证覆盖情况。

Layered Encryption Upgrades

近期的 Mario 构建将原始的线性单密钥例程替换为针对数百 GB VMDK 优化的稀疏多密钥设计:

  • Key schedule: 生成一个 32 字节的主密钥(存储在 var_1150 附近)和一个独立的 8 字节次密钥(var_20)。数据首先用主上下文进行转换,然后在写入磁盘前用次密钥重新混合。
  • Per-file headers: 元数据缓冲区(例如 var_40)跟踪块映射和标志,以便攻击者的私有解密器能够重构稀疏布局。
  • Dynamic chunking: 不是使用固定的 0xA00000 循环,而是根据文件大小重新计算块大小和偏移,阈值扩展到约 ~8 GB 以匹配现代 VM 镜像。
  • Sparse coverage: 仅触及策略性选择的区域,大幅减少运行时间,同时仍破坏 VMFS 元数据、guest 内部的 NTFS/EXT4 结构或备份索引。
  • Instrumentation: 升级构建将每块的字节计数和总计(已加密/已跳过/失败)记录到 stdout,为关联方在实时入侵期间提供遥测,而无需额外工具。

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

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE) 学习和实践 Azure 黑客技术:HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks