OSCP 学习笔记:NTLM 哈希传递攻击实战
安全声明:本文内容仅供合法研究与学习使用,严禁用于非法目的。请确保所有测试均在授权范围内进行。
在渗透测试的横向移动阶段,密码攻击是核心环节之一。其中,NTLM 哈希传递(Pass-the-Hash)因其绕过明文密码验证的特性,成为 OSCP 考试中必须掌握的技术点。本文将结合实际场景,梳理从信息收集到权限提升的完整链条。
1. 密码破解与哈希获取
1.1 Windows 哈希实践
在 Windows 环境中,认证主要依赖 NTLM 协议。攻击者通常有两种路径:
| 攻击类型 | 目标哈希 | 手法简介 |
|---|---|---|
| 获取并破解 NTLM 哈希 | 🗝️ NTLM 哈希 | 从内存或 SAM 数据库中提取哈希,并用工具(如 Hashcat)破解 |
| 传递 NTLM 哈希 | 🗝️ NTLM 哈希 | 直接使用提取的哈希值进行身份验证,无需还原明文密码 |
1.1.1 NTLM 哈希传递概述
什么是 NTLM 哈希传递? 这是一种利用已捕获的 NTLM 哈希值冒充用户身份的技术。系统验证时只校验哈希,不关心原始密码,因此攻击者无需知道密码即可通过认证。
攻击应用场景
- 域环境中的横向移动
- 本地管理员权限的维持
- 绕过强密码策略限制
重要限制条件
- 目标主机需启用 SMB 等支持 NTLM 验证的服务
- 攻击者需具备初始立足点(如低权限 Shell)
- 部分现代防御机制(如 LSA 保护、Credential Guard)可能阻断此行为
1.1.2 NTLM 哈希传递攻击实践
1.1.2.1 攻击目标与前提
我们需要一个已经获取了有效 NTLM 哈希的目标账户,且该账户对目标机器有访问权限。通常这需要通过提权或凭证窃取获得。
1.1.2.2 攻击链条总览
- 获取目标哈希
- 选择攻击工具
- 发起连接请求
- 验证权限并执行命令
1.1.2.3 初始横向移动尝试
直接尝试连接往往会被防火墙或安全软件拦截,此时需要配合代理或跳板机使用。
1.1.2.4 权限提升与哈希提取
若当前权限不足,需先利用本地漏洞(如 PrintSpoofer)或配置错误获取更高权限的哈希。
1.1.2.5 工具指南
常用的支持 NTLM 哈希传递的工具包括:
- SMBclient: Linux 下原生 SMB 客户端
- Impacket 套件: Python 编写的强大渗透工具集
- Mimikatz: Windows 下的凭证转储神器
1.1.2.6 利用 SMBclient 访问共享
通过 smbclient 可以直接携带哈希连接共享目录,适合快速验证权限。
smbclient //TARGET_IP/share -U username%00 --option='client min protocol=NT1' --option=


