1. 什么是 PTH Toolkit?
PTH Toolkit(Pass-The-Hash Toolkit)是一组用于 NTLM 认证的工具,允许用户在不需要明文密码的情况下,使用 Windows NTLM 哈希进行身份验证和远程访问。
在 Windows 认证机制中,NTLM Hash 相当于用户凭据的一个等效物,因此攻击者可以利用已窃取的哈希值进行身份验证,而无需破解其原始密码。这种技术被称为 Pass-The-Hash(PTH) 攻击。
PTH Toolkit 是 Kali Linux 预装的一个工具集,基于 Samba、winexe 和其他远程管理工具进行修改,使其能够接受 NTLM 哈希进行认证。
2. PTH Toolkit 包含的主要工具
PTH Toolkit 主要由多个经过修改的工具组成,它们的功能与 Windows 远程管理工具类似,但增加了对 NTLM 哈希身份验证的支持。
2.1 PTH 认证的核心概念
- NTLM Hash:在 Windows 认证系统中,用户的密码会被存储为 NTLM 哈希值。
- PTH(Pass-The-Hash):利用已知的 NTLM Hash 进行身份验证,而无需明文密码。
- 远程管理:通过 PTH 认证后,攻击者可以使用 SMB、WMI、RPC、SQL Server 等方式访问远程 Windows 机器。
2.2 工具列表及其用途
| 工具名称 | 主要功能 | 适用场景 |
|---|---|---|
| pth-curl | 使用 PTH 进行 HTTP/HTTPS 认证 | 访问需要 NTLM 认证的 Web 服务器 |
| pth-net | Windows net 命令的 PTH 版本 |
远程管理 Windows 共享、用户、服务等 |
| pth-rpcclient | 远程管理 Windows RPC 服务 | 远程查询和管理 Windows 信息 |
| pth-smbclient | Samba smbclient 的 PTH 版本 |
连接 SMB 共享,传输文件 |
| pth-smbget | Samba smbget 的 PTH 版本 |
通过 SMB 下载文件 |
| pth-sqsh | sqsh 的 PTH 版本 |
用于 SQL Server 进行身份验证 |
| pth-winexe | winexe 的 PTH 版本 |
在远程 Windows 机器上执行命令 |
| pth-wmic | wmic 的 PTH 版本 |
远程执行 WMI 命令 |
| pth-wmis | wmis 的 PTH 版本 |
另一款 WMI 远程管理工具 |
3. PTH Toolkit 在 Kali Linux 上的使用方法
3.1 确保 PTH Toolkit 已安装
在 Kali Linux 上,PTH Toolkit 通常已经预装。如果没有,可以使用以下命令安装:
sudo apt update && sudo apt install passing-the-hash
3.2 使用 PTH 进行 SMB 共享访问
如果你有一个 NTLM Hash,想要访问 SMB 共享,可以使用 pth-smbclient:
pth-smbclient -U Administrator%aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 //192.168.1.10/share
其中:
Administrator是目标用户。aad3b435b51404eeaad3b435b51404ee是 LM Hash(通常为空)。31d6cfe0d16ae931b73c59d7e0c089c0是 NTLM Hash。//192.168.1.10/share是远程 SMB 共享路径。
3.3 使用 PTH 远程执行命令
使用 pth-winexe 在远程 Windows 机器上执行命令:
pth-winexe -U Administrator%aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 //192.168.1.10 cmd.exe
3.4 使用 PTH 进行 WMI 命令执行
pth-wmic -U Administrator%aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 //192.168.1.10 "select * from Win32_OperatingSystem"
4. PTH Toolkit vs Impacket
除了 PTH Toolkit,Impacket 也是广泛使用的 PTH 相关工具集。两者的对比如下:
| 对比项 | PTH Toolkit | Impacket |
|---|---|---|
| 核心用途 | 主要用于 PTH 认证 | 支持多种 NTLM 和 Kerberos 攻击方式 |
| 开发语言 | C(基于 Samba) | Python |
| 身份验证方式 | 专注于 Pass-the-Hash | 既支持 PTH,也支持 Pass-the-Ticket、Kerberos 等 |
| 常用工具 | pth-winexe, pth-smbclient, pth-wmic | wmiexec.py, smbexec.py, secretsdump.py, psexec.py |
| 适用场景 | 直接替换系统工具,支持哈希认证 | 更强大的攻击灵活性,适用于自动化脚本 |
总结
PTH Toolkit 是 Kali Linux 中用于 Pass-The-Hash 攻击 的强大工具集,它允许渗透测试人员在不需要明文密码的情况下,利用 NTLM 哈希进行远程访问和身份验证。虽然 Impacket 提供了更强的攻击灵活性,但 PTH Toolkit 更加轻量,并且可以直接替换常见的 Windows 远程管理工具。
企业应采取措施防御 PTH 攻击,例如禁用 NTLM、启用 LSA 保护和使用 Windows Defender ATP 进行检测,以确保网络安全。
原文 https://blog.csdn.net/2301_79518550/article/details/146217073