Az - Pass the Certificate
証明書を渡す(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を使用して:
証明書の有効期間はPRTと同じです。証明書を使用するには、リモートマシンに認証し、PSEXECを実行し、被害者のマシンでCMDを開くことができるPythonツールAzureADJoinedMachinePTCを使用できます。これにより、再度Mimikatzを使用して別のユーザーのPRTを取得できます。
参考文献
Pass the Certificateの動作詳細については、元の投稿を参照してください https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
最終更新