hacktricks/windows-hardening/active-directory-methodology/acl-persistence-abuse/shadow-credentials.md

5.7 KiB
Raw Blame History

影子凭证

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

简介

查看原始帖子获取有关此技术的所有信息

总结:如果您可以写入用户/计算机的msDS-KeyCredentialLink属性,则可以检索该对象的NT哈希

在帖子中,概述了一种设置公钥-私钥身份验证凭据以获取包含目标NTLM哈希的唯一服务票证的方法。此过程涉及特权属性证书PAC中的加密NTLM_SUPPLEMENTAL_CREDENTIAL可以解密。

要求

要应用此技术,必须满足一定条件:

  • 需要至少一个Windows Server 2016域控制器。
  • 域控制器必须安装有服务器身份验证数字证书。
  • Active Directory必须处于Windows Server 2016功能级别。
  • 需要具有委派权限以修改目标对象的msDS-KeyCredentialLink属性的帐户。

滥用

对计算机对象的密钥信任滥用包括超出获取票据授予票证TGT和NTLM哈希的步骤。选项包括

  1. 创建一个RC4 silver ticket以充当预期主机上的特权用户。
  2. 使用TGT进行S4U2Self,以模拟特权用户,需要对服务票证进行更改以向服务名称添加服务类。

密钥信任滥用的一个重要优势是其限制于攻击者生成的私钥,避免委派给可能存在漏洞的帐户,并且不需要创建计算机帐户,这可能难以删除。

工具

### Whisker

它基于DSInternals提供了用于此攻击的C#接口。Whisker及其Python对应工具pyWhisker,使得可以操纵msDS-KeyCredentialLink属性以控制Active Directory帐户。这些工具支持添加、列出、删除和清除目标对象中的密钥凭据等各种操作。

Whisker的功能包括:

  • Add:生成一对密钥并添加密钥凭据。
  • List:显示所有密钥凭据条目。
  • Remove:删除指定的密钥凭据。
  • Clear清除所有密钥凭据可能会干扰合法的WHfB使用。
Whisker.exe add /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /path:C:\path\to\file.pfx /password:P@ssword1

pyWhisker

它将 Whisker 功能扩展到 基于 UNIX 的系统,利用 Impacket 和 PyDSInternals 实现全面的利用功能,包括列出、添加和删除 KeyCredentials以及以 JSON 格式导入和导出它们。

python3 pywhisker.py -d "domain.local" -u "user1" -p "complexpassword" --target "user2" --action "list"

ShadowSpray

ShadowSpray旨在利用广泛用户组可能对域对象具有的GenericWrite/GenericAll权限来广泛应用ShadowCredentials。它涉及登录到域验证域的功能级别枚举域对象并尝试添加KeyCredentials以获取TGT并揭示NT哈希。清理选项和递归利用策略增强了其效用。

参考资料

从零开始学习AWS黑客技术成为专家 htARTE (HackTricks AWS Red Team Expert)!