PassTheTicket

简介

传统的“Pass-the-Hash”(PTH)攻击允许攻击者使用NTLM哈希进行身份验证。但随着时间的推移和Windows的更新,微软已经引入了更加安全的身份验证机制,如Kerberos,并引入了AES密钥作为身份验证的一部分。

在"Pass the Ticket"攻击中,攻击者不再使用NTLM哈希,而是利用AES密钥(通常称为Kerberos票据加密的密钥)来进行身份验证。这种攻击方式适用于那些已经对PTH攻击进行了防御或更新了更新的操作系统版本的环境。

  • WinXP/2003/Vista/2008未打KB2871997补丁之前的Win7/2008r2/8/2012:这些系统容易受到传统的NTLM哈希传递攻击。

  • 8.1/2012r2和安装了KB2871997补丁Win 7/2008r2/8/2012:这些系统已经对传统的NTLM哈希传递攻击进行了防御,但攻击者可以使用AES密钥来进行身份验证。

以下是对KB2871997补丁的描述:

  1. 限制本地管理员远程连接:此补丁禁止本地管理员账户用于远程连接,从而避免使用wmi、psexec、schtasks、at等工具和文件共享的远程执行。

  2. 影响Pass The Hash攻击:发布此补丁后,常规的Pass The Hash攻击受到限制,但默认的Administrator (SID 500)账号仍可以用于此类攻击。

  3. 支持AES密钥验证:尽管NTLM验证可能受到影响,但攻击者仍可以使用AES密钥进行横向移动。拥有Administrator权限后,能够绕过此补丁的NTLM限制。

  4. 增强内存凭据安全性:此补丁的一个主要优势是减少在lsass.exe中缓存的凭据。特别是,经过wdigest协议认证的凭据不再存储,因此在提取lsass.exe时不再可见。

演示步骤

在CobaltStrike中使用mimikatz列出当前存储的Kerberos加密密钥,获取aes256_hmac字段的值

mimikatz sekurlsa::ekeys

执行如下命令传递密钥,随后目标主机会弹出administrator权限的cmd框

sekurlsa::pth /user:administrator/domain:hack.com
/aes256:b03fcae60f0b32a105a8082e89a09cd88a5a6c54b0a209caaa9664c6bc223232
image-20230901163815210

最后更新于