// 红队渗透 · 2025-03-26

Kali 中的 PTH Toolkit 详解:与 Impacket 比肩的强大工具集

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