Az - Pass the Certificate

htARTE(HackTricks AWS Red Team Expert) でAWSハッキングをゼロからヒーローまで学ぶ

HackTricks をサポートする他の方法:

証明書を渡す(Azure)

Azureに参加したマシンでは、NegoEx認証メカニズムをサポートする両方のマシンで、Azure AD CAによって発行された証明書を必要とするユーザー(サブジェクトとして)のために、1つのマシンから別のマシンに認証することが可能です。

非常に簡略化された用語で言うと:

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

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

  • Azure ADは、クライアントのセッションキーとセキュリティコンテキストを使用してJWT署名を検証し、PRTの有効性をチェックし、証明書応答します。

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

  • ユーザー名

  • テナントID

  • PRT

  • セキュリティコンテキスト

  • Derivedキー

ユーザーのためにP2P証明書をリクエストすることが可能です。ツールPrtToCertを使用して:

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

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

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

参考文献

htARTE(HackTricks AWS Red Team Expert) を使って、ゼロからヒーローまでAWSハッキングを学ぶ

HackTricksをサポートする他の方法:

最終更新