OSCP 实战笔记:Net-NTLMv2 哈希传递与中继攻击
在渗透测试的进阶阶段,单纯依靠密码破解往往难以突破防线。掌握 Net-NTLMv2 哈希的捕获、传递以及中继攻击(Relay Attack),是获取初始立足点甚至提升权限的关键手段。本文将结合 OSCP 备考经验,梳理这一场景下的技术细节与实战流程。
1. 核心概念与攻击类型
Windows 环境下的认证机制复杂,常见的哈希攻击主要涉及以下几种形式:
| 攻击类型 | 目标哈希 | 手法简介 |
|---|---|---|
| 获取并破解 NTLM 哈希 | NTLM 哈希 | 从内存或 SAM 数据库中提取,使用 Hashcat 等工具离线破解 |
| 传递 NTLM 哈希 | NTLM 哈希 | 直接使用提取的哈希进行身份验证,无需还原明文密码 |
| 获取并破解 Net-NTLMv2 哈希 | Net-NTLMv2 哈希 | 通过中间人欺骗获取挑战 - 响应包,尝试离线破解 |
| 传递 Net-NTLMv2 哈希 | Net-NTLMv2 哈希 | 利用中继工具转发认证请求,直接冒充用户登录其他服务 |
其中,传递 Net-NTLMv2 哈希通常比破解更高效,因为它绕过了计算密文的过程,直接利用了协议本身的信任机制。
2. 中继攻击原理
中继攻击的核心在于拦截客户端与服务端之间的认证握手。当目标机器发起 SMB 连接请求时,攻击者作为中间人截获其 Net-NTLMv2 响应,并将其转发给另一个服务(如 SMB、HTTP 等),从而冒充该用户完成认证。
这里的关键工具通常是 Impacket 套件中的 ntlmrelayx。它不仅能捕获哈希,还能将认证信息中继到指定目标,甚至执行命令。
3. UAC 远程限制的影响
在实际环境中,攻击并非总能一帆风顺。Windows 的用户账户控制(UAC)引入了远程限制机制。即使我们成功中继了管理员凭证,如果目标开启了 UAC 远程限制,系统可能不会授予完整的令牌权限。
这意味着,虽然我们可以登录,但可能无法执行需要高权限的操作,或者无法获得 SYSTEM 权限。理解这一限制对于规划后续的攻击路径非常关键。如果 UAC 远程限制未开启,或者目标允许匿名访问,成功率会显著提升。
4. 实战流程
4.1 配置监听器
首先,我们需要准备一个反向 Shell 监听器。使用 Netcat 是最简单的方式:
nc -lvnp 4444
同时,启动 ntlmrelayx 来捕获并处理流量。假设我们要将认证信息中继到目标 SMB 服务器并执行命令:
python3 ntlmrelayx.py -t smb://TARGET_IP -c 'whoami'
这条命令会让 ntlmrelayx 监听所有接口,一旦捕获到有效的 Net-NTLMv2 响应,就会将其转发给 TARGET_IP 上的 SMB 服务,并在本地执行 whoami 命令。
4.2 触发连接
接下来,需要诱导目标机器发起连接。这可以通过访问共享文件夹、运行恶意脚本或利用已知的漏洞实现。例如,创建一个包含恶意链接的文档,或者在局域网内广播特定的网络请求。
4.3 验证结果
当目标机器尝试连接时,终端会显示中继会话的建立过程。如果一切顺利,你将看到类似以下的输出:


