Az - Pass the Certificate

Reading time: 4 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

Pass the Certificate (Azure)

Azureに参加しているマシンでは、両方のマシンがNegoEx認証メカニズムをサポートしている場合、Entra ID CAによって発行された証明書を使用して、1台のマシンから別のマシンに認証することが可能です(対象として必要なユーザー)。

超簡略化すると:

  • 接続を開始するマシン(クライアント)は、ユーザーのためにEntra IDから証明書が必要です。
  • クライアントは、PRTやその他の詳細を含むJSON Web Token(JWT)ヘッダーを作成し、派生キー(セッションキーとセキュリティコンテキストを使用)を使って署名し、Entra IDに送信します。
  • Entra IDは、クライアントのセッションキーとセキュリティコンテキストを使用してJWT署名を検証し、PRTの有効性を確認し、証明書応答します。

このシナリオでは、Pass the PRT攻撃に必要なすべての情報を取得した後:

  • ユーザー名
  • テナントID
  • PRT
  • セキュリティコンテキスト
  • 派生キー

ツールPrtToCertを使用して、ユーザーのためにP2P証明書要求することが可能です。

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

証明書はPRTと同じ期間有効です。証明書を使用するには、pythonツールAzureADJoinedMachinePTCを使用して、リモートマシンに認証し、PSEXECを実行し、被害者のマシンでCMDを開くことができます。これにより、別のユーザーのPRTを取得するためにMimikatzを再度使用することができます。

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

参考文献

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする