Az - Pass the Certificate

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks

Pass the Certificate (Azure)

在 Azure 加入的机器中,可以使用 必须由 Entra ID CA 为所需用户(作为主题)颁发的证书,从一台机器认证到另一台机器,当两台机器都支持 NegoEx 认证机制时。

简单来说:

  • 发起连接的机器(客户端) 需要 Entra ID 为用户颁发的证书
  • 客户端创建一个包含 PRT 和其他详细信息的 JSON Web Token (JWT) 头,使用派生密钥(使用会话密钥和安全上下文)对其进行签名,并 将其发送到 Entra ID
  • Entra ID 使用客户端会话密钥和安全上下文验证 JWT 签名,检查 PRT 的有效性,并 响应证书

在这种情况下,并在获取所需的所有信息以进行 Pass the PRT 攻击后:

  • 用户名
  • 租户 ID
  • PRT
  • 安全上下文
  • 派生密钥

可以使用工具 PrtToCert: 请求用户的 P2P 证书

RequestCert.py [-h] --tenantId TENANTID --prt PRT --userName USERNAME --hexCtx HEXCTX --hexDerivedKey HEXDERIVEDKEY [--passPhrase PASSPHRASE]

证书的有效期与PRT相同。要使用证书,可以使用python工具 AzureADJoinedMachinePTC,该工具将认证到远程机器,运行PSEXEC并在受害者机器上打开CMD。这将允许我们再次使用Mimikatz获取另一个用户的PRT。

Main.py [-h] --usercert USERCERT --certpass CERTPASS --remoteip REMOTEIP

参考

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks