之前文章我提过,域控制器负责让域中进行交互,提供了验证。由于活动目录AD始终访问:
C:\Windows\NTDS\ntds.dit 这一文件,这个文件保存着活动目录所有的数据,是个二进制文件,它禁止被读取。可通过windows本地卷影拷贝服务获得文件副本。关于域控制器安全,很大一部分关注ntds.dit的安全。
一、VVS提取ntds.dit
本地卷影拷贝服务(volume shadow copy service,VSS)就好比玩虚拟机时经常使用的快照功能,所以按道理说启用这个服务可以找到系统文件的拷贝,也就存有一定的敏感数据,类比快照,它的功能主要是备份和恢复。
ntsd.dit保存的位置:域控制器的%SystemRoot%\ntds\ntds.dit
下面介绍使用几个不同工具提取ntds.dit的思路:
1.通过ntdsutil.exe提取
该工具在域控制器就有,是一个用于维护和管理AD的命令行工具
支持的os:win2003、win2008、win2012
使用步骤:
①创建快照
ntdsutil snapshot “active instance ntds” create quit quit
②加载刚才的快照到另一个目录下
ntdsutil snapshot “mount {GUID}” quit quit
③将快照复制到其目录,本例子复制到C盘
copy C:\SNAP_201808131112_VOLUMEC$\windows\ntds\ntds.dit c:\temp\ntds.dit
④做完事情要擦手,卸载并且删除之前加载的快照
ntdsutil snapshot “unmount {GUID}” “delect {GUID}” quit quit
2.利用vssadmin提取
该工具用来创建删除卷影拷贝,列出信息,改变大小等。
支持的os:win2008和win7
使用思路与ntdsutil相似
3.利用vssown.vbs
该工具用于创建和删除卷影拷贝,启动和停止卷影拷贝
4.利用ntdsutil的IFM创建卷影拷贝
5.使用disk shadow导出ntds.dit
diskshadow代码是由微软签名的,在win2008、win2012、win2016都默认含有它,位于:C:\windows\system32
[导出ntds.dit后还要转储system.hive,得到ntds.dit的密钥]
6.监控VSS的使用情况
从上述几点不难看出攻击者利用VSS来进行ntds.dit的盗取,那么我们必须监控VSS的使用情况以及时发现异常。
·监控vss以及涉及到ntds.dit的可疑行为
·监控system event id 7036(这是vss运行的标志)的可疑实例
·监控创建diskshadow.exe以及相关子进程的事件
·监控客户端设备出现的diskshadow.exe实例创建事件。在windows操作系统中,不应该出现diskshadow.exe,发现要立即删除
二、导出ntds.dit中的散列值
1.使用esedbexport恢复ntds.dit
2.使用impacket工具包导出散列值
3.在windows下解析ntds.dit并导出域账号或散列值
使用NTDSDumpex.exe导出
三、利用dcsync获取域散列值
四、使用Metasploit获取域散列值
五、使用vshadow.exe和QuarksPwDump.exe导出域账号和域散列值
六、Kerberos域用户提权漏洞
漏洞原理:攻击者伪造票据声明自己有域管理员权限,而KDC在处理时未验证票据签名就分发了带有管理员权限的票据
