1. 密码破解
1.1 破解 Windows 哈希实践
核心场景在于获取并破解 Net-NTLMv2 哈希。相比直接获取 NTLM 哈希,Net-NTLMv2 通常通过网络协议交互产生,需要特定的中间人条件。
| 攻击类型 | 目标哈希 | 手法简介 |
|---|---|---|
| 获取并破解 NTLM 哈希 | NTLM 哈希 | 从内存或 SAM 数据库提取,使用 Hashcat 等工具离线破解 |
| 传递 NTLM 哈希 | NTLM 哈希 | 直接使用哈希进行身份验证,绕过明文密码需求 |
| 获取并破解 Net-NTLMv2 哈希 | Net-NTLMv2 哈希 | 通过中间人或欺骗获取挑战 - 响应包,离线破解 |
| 传递 Net-NTLMv2 哈希 | Net-NTLMv2 哈希 | 捕获哈希后直接中继到目标服务进行认证 |
1.1.4 传递 Net-NTLMv2 哈希概述
1.1.4.1 攻击背景
在域环境中,攻击者往往无法直接获取明文密码。此时,Net-NTLMv2 哈希成为关键凭证。如果配置不当,这些哈希可能被用于中继攻击,从而获得对目标的访问权限。
1.1.4.2 攻击流程
典型的流程包括监听网络流量、捕获认证请求、将认证信息转发给另一个服务(如 SMB)。关键在于利用协议特性,让受害者在不知情的情况下完成认证。
1.1.4.3 UAC 远程限制与中继攻击关系解析
Windows 的用户账户控制(UAC)机制在一定程度上限制了远程执行的能力。特别是当攻击者试图通过中继提升权限时,UAC 可能会阻止某些操作,导致即使认证成功也无法获得系统级 Shell。
1. UAC(用户账户控制)远程限制
UAC 远程限制主要影响管理员账户的远程令牌完整性级别。默认情况下,远程会话中的管理员令牌会被降级,这防止了部分提权操作。理解这一机制对于选择正确的攻击路径至关重要。
2. 中继攻击(Relay Attack)
中继攻击的核心是将一个服务的认证请求转发到另一个服务。在 OSCP 考试中,常见的是将 NTLM 认证中继到 SMB 服务,以建立连接并执行命令。
3. UAC 限制与中继攻击的关联
虽然中继可以建立连接,但 UAC 可能导致后续的命令执行失败。因此,在实际操作中,需要结合本地漏洞或利用其他方法绕过 UAC 限制,确保 Payload 能够顺利运行。
1.1.5 传递 Net-NTLMv2 哈希实践
1.1.5.1 攻击流程图
逻辑上为:监听器 -> 捕获哈希 -> 中继服务 -> 目标连接。
1.1.5.2 使用 ntlmrelayx 捕获与中继
我们使用 Impacket 套件中的 ntlmrelayx.py 工具。它支持多种协议的中继,包括 SMB、LDAP 和 HTTP。启动时需要指定目标服务器和协议。
python3 ntlmrelayx.py -t smb://TARGET_IP --delegate-access
这条命令会将捕获到的哈希尝试中继到指定的 SMB 目标。注意观察输出日志,确认是否成功建立了会话。
1.1.5.3 设置反向 Shell 监听器
为了在执行命令时获取交互权限,我们需要预先开启一个监听器。Netcat 是最常用的工具之一。
nc -lvnp 4444
保持该端口开放,等待目标机器连接回来。
1.1.5.4 触发 SMB 连接
攻击的关键在于诱使目标机器发起 SMB 连接。可以通过共享文件夹、恶意文档或脚本实现。一旦连接建立,哈希就会被发送出去。


