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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
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証明書を要求することが可能です。
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
参考文献
- Pass the Certificate の動作についての詳細は、元の投稿を確認してください https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。