利用卷影拷贝服务提取ntds.dit

本文深入探讨ntds.dit文件在Active Directory中的作用,介绍了如何利用卷影拷贝服务提取ntds.dit,以及密码哈希的加密与解密过程。通过ntdsutil.exe、vssadmin、vssown.vbs和diskshadow等工具,详细阐述了ntds.dit的抓取方法。
摘要由CSDN通过智能技术生成

件。那么什么是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

ntds.dit深入剖析

Active Directory域数据库存储在ntds.dit文件中(默认情况下存储在c:\ Windows \ NTDS中,但通常存储在其他逻辑驱动器上)。AD数据库是一个Jet数据库引擎,它使用可扩展存储引擎(ESE)提供数据存储和索引服务。通过ESE级别索引,可以快速定位对象属性。ESE确保数据库符合ACID(原子,一致,隔离和持久)–事务中的所有操作都已完成或不执行。AD ESE数据库非常快速且可靠。

注意:Microsoft还将Jet数据库用于Exchange邮箱数据库。

Active

Directory通过基于LRU-K算法的缓存将部分ntds.dit文件加载到(LSASS保护的)内存中,以确保最常访问的数据在内存中,以提高性能,从而第二次提高读取性能。数据库更改是在内存中执行的,然后写入事务日志,然后稍后对数据库文件进行延迟提交。检查点文件(edb.chk)会跟踪到此刻写入的事务。

“版本存储”是从内存中读取数据时对象实例的副本,这使得无需更改读取数据即可执行更新(ESE事务视图)。读取操作完成后,该版本存储实例将结束。

尽管Active Directory由三个目录分区(域,配置和架构)组成,但这只是数据库数据的抽象视图。ntds.dit文件由三个主要表组成:数据表,链接表和SD表。

数据表

数据表包含Active Directory数据存储中的所有信息:用户,组,特定于应用程序的数据,以及安装后在Active Directory中存储的任何其他数据。可以将数据表视为具有行(每个代表对象的实例,例如用户)和列(每个代表模式中的属性,例如GivenName)。)。对于模式中的每个属性,表均包含一列,称为字段。字段大小可以是固定的或可变的。固定大小的字段包含整数或长整数作为数据类型。可变大小字段通常包含字符串类型,例如Unicode字符串。数据库仅分配可变大小字段所需的空间:1个字符的Unicode字符串为16位,10个字符的Unicode字符串为160位,依此类推

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值