Az - Pass the Certificate

Support HackTricks

Pass the Certificate (Azure)

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

超簡略化すると:

  • 接続を開始するマシン(クライアント)は、ユーザーのためにAzure ADから証明書が必要です。

  • クライアントは、PRTやその他の詳細を含むJSON Web Token (JWT) ヘッダーを作成し、派生キー(セッションキーとセキュリティコンテキストを使用)を使って署名し、Azure ADに送信します。

  • Azure ADは、クライアントのセッションキーとセキュリティコンテキストを使用して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を開くことができます。これにより、別のユーザーのPRTを取得するために再度Mimikatzを使用することができます。

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

参考文献

HackTricksをサポートする

Last updated