diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/README.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/README.md index 1551ded4d..5f242d461 100644 --- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/README.md +++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/README.md @@ -2,39 +2,41 @@ {{#include ../../../banners/hacktricks-training.md}} -## 基本情報 +## Basic Information このセクションでは、侵害された Entra ID テナントからオンプレミスの Active Directory (AD) へ、または侵害された AD から Entra ID テナントへ移動するためのピボット手法を扱います。 ## Pivoting Techniques -- [**Arc Vulnerable GPO Desploy Script**](az-arc-vulnerable-gpo-deploy-script.md): 攻撃者が AD コンピュータ アカウントを制御または作成でき、Azure Arc GPO デプロイメント共有にアクセスできる場合、保存された Service Principal secret を復号して関連する service principal として Azure に認証し、リンクされた Azure 環境を完全に侵害できます。 +- [**Arc Vulnerable GPO Desploy Script**](az-arc-vulnerable-gpo-deploy-script.md): 攻撃者が AD のコンピューターアカウントを制御または作成でき、Azure Arc GPO デプロイ共有にアクセスできる場合、保存された Service Principal シークレットを復号して関連する service principal として Azure に認証し、リンクされた Azure 環境を完全に侵害できます。 -- [**Cloud Kerberos Trust**](az-cloud-kerberos-trust.md): Cloud Kerberos Trust が構成されている場合に Entra ID から AD へピボットする方法。Entra ID (Azure AD) の Global Admin は Cloud Kerberos Trust と sync API を悪用して高権限の AD アカウントをなりすまし、その Kerberos チケットや NTLM ハッシュを取得してオンプレミスの Active Directory を完全に侵害できます — たとえそれらのアカウントがクラウド同期されていなかったとしても — 実質的にクラウドから AD への権限昇格を橋渡しします。 +- [**Cloud Kerberos Trust**](az-cloud-kerberos-trust.md): Cloud Kerberos Trust が構成されている場合に Entra ID から AD にピボットする方法。Entra ID (Azure AD) の Global Admin は Cloud Kerberos Trust と sync API を悪用して高権限の AD アカウントを偽装し、Kerberos チケットや NTLM ハッシュを取得してオンプレミスの Active Directory を完全に侵害できます — これらのアカウントがクラウド同期されていなかった場合でも — 実質的にクラウドから AD への権限昇格の橋渡しになります。 -- [**Cloud Sync**](az-cloud-sync.md): Cloud Sync を悪用してクラウドからオンプレミスの AD へ、またその逆へ移動する方法。 +- [**Cloud Sync**](az-cloud-sync.md): Cloud Sync を悪用してクラウドからオンプレミスの AD へ、あるいはその逆に移動する方法。 -- [**Connect Sync**](az-connect-sync.md): Connect Sync を悪用してクラウドからオンプレミスの AD へ、またその逆へ移動する方法。 +- [**Connect Sync**](az-connect-sync.md): Connect Sync を悪用してクラウドからオンプレミスの AD へ、あるいはその逆に移動する方法。 -- [**Domain Services**](az-domain-services.md): Azure Domain Services サービスとは何か、そして Entra ID からそれが生成する AD へどのようにピボットするか。 +- [**Domain Services**](az-domain-services.md): Azure Domain Services サービスとは何か、そして Entra ID からそれが生成する AD へピボットする方法。 -- [**Federation**](az-federation.md): Federation を悪用してクラウドからオンプレミスの AD へ、またその逆へ移動する方法。 +- [**Federation**](az-federation.md): Federation を悪用してクラウドからオンプレミスの AD へ、またはその逆に移動する方法。 -- [**Hybrid Misc Attacks**](az-hybrid-identity-misc-attacks.md): クラウドからオンプレミスの AD へ、またその逆へピボットするために使用できる雑多な攻撃。 +- [**Hybrid Misc Attacks**](az-hybrid-identity-misc-attacks.md): クラウドからオンプレミスの AD へ、またはその逆にピボットするために使用できる雑多な攻撃。 -- [**Local Cloud Credentials**](az-local-cloud-credentials.md): PC が侵害されたときにクラウドの認証情報をどこで見つけるか。 +- [**Exchange Hybrid Impersonation (ACS Actor Tokens)**](az-exchange-hybrid-impersonation.md): Exchange Hybrid actor-token の内部、修正済みのものと依然有効な悪用経路、および service-principal split migrations 後の残存リスクを評価する方法。 -- [**Pass the Certificate**](az-pass-the-certificate.md): PRT に基づく証明書を生成して、あるマシンから別のマシンへログインする方法。 +- [**Local Cloud Credentials**](az-local-cloud-credentials.md): PC が侵害されたときにクラウドの資格情報をどこで見つけるか。 -- [**Pass the Cookie**](az-pass-the-cookie.md): ブラウザから Azure の cookie を盗み、それを使ってログインする方法。 +- [**Pass the Certificate**](az-pass-the-certificate.md): PRT に基づいて証明書を生成し、あるマシンから別のマシンへログインする方法。 -- [**Primary Refresh Token/Pass the PRT/Phishing PRT**](az-primary-refresh-token-prt.md): PRT とは何か、PRT を盗む方法、およびそれを使ってユーザーをなりすまして Azure リソースにアクセスする方法。 +- [**Pass the Cookie**](az-pass-the-cookie.md): ブラウザから Azure のクッキーを盗み、それを使ってログインする。 -- [**PtA - Pass through Authentication**](az-pta-pass-through-authentication.md): Pass-through Authentication を悪用してクラウドからオンプレミスの AD へ、またその逆へ移動する方法。 +- [**Primary Refresh Token/Pass the PRT/Phishing PRT**](az-primary-refresh-token-prt.md): PRT とは何か、それをどのように盗み、ユーザーを偽装して Azure リソースにアクセスするために使うか。 + +- [**PtA - Pass through Authentication**](az-pta-pass-through-authentication.md): Pass-through Authentication を悪用してクラウドからオンプレミスの AD へ、あるいはその逆に移動する方法。 - [**Seamless SSO**](az-seamless-sso.md): Seamless SSO を悪用してオンプレミスからクラウドへ移動する方法。 -- **クラウドからオンプレミスへピボットする別の方法は** [**abusing Intune**](../az-services/intune.md) +- **クラウドから On-Prem にピボットする別の方法は** [**abusing Intune**](../az-services/intune.md) {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-exchange-hybrid-impersonation.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-exchange-hybrid-impersonation.md new file mode 100644 index 000000000..d1dc66714 --- /dev/null +++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-exchange-hybrid-impersonation.md @@ -0,0 +1,47 @@ +# Az - Exchange Hybrid Impersonation (ACS Actor Tokens) + +{{#include ../../../banners/hacktricks-training.md}} + +## 基本情報 + +レガシーな Exchange Hybrid 設計では、on-prem Exchange 展開が Exchange Online と同じ Entra application identity として認証できました。攻撃者が Exchange サーバを侵害し、hybrid certificate の秘密鍵を抽出して OAuth client-credentials フローを実行すれば、Exchange Online 権限コンテキストを持つ first-party tokens を取得できました。 + +実際のリスクはメールボックスアクセスに限りませんでした。Exchange Online は広範なバックエンドの信頼関係を持っていたため、このアイデンティティは追加の Microsoft 365 サービスとやり取りでき、古い挙動ではより深いテナント侵害に利用される可能性がありました。 + +## 攻撃経路と技術的フロー + +### Exchange経由でのフェデレーション設定変更 + +Exchange のトークンは歴史的にドメイン/フェデレーション設定を書き換える権限を持っていました。攻撃者の観点では、これは token-signing certificate リストや、on-prem フェデレーションインフラからの MFA-claim 受け入れを制御する設定フラグなど、フェデレーテッドドメインの信頼データを直接操作できることを意味します。 + +つまり、侵害された Exchange Hybrid サーバは、攻撃者が on-prem Exchange の侵害から始めた場合でも、クラウド側からフェデレーション設定を変更して ADFS スタイルのなりすましを段階的に仕掛けたり強化したりするために使われ得ます。 + +### ACS Actor Tokens and Service-to-Service Impersonation + +Exchange の hybrid auth パスは、`trustedfordelegation=true` を持つ Access Control Service (ACS) actor tokens を使用していました。これらの actor tokens は次に、ターゲットユーザーのアイデンティティを攻撃者制御のセクションに含む署名されていない二次の service token に埋め込まれました。外側のトークンが署名されておらず、actor token が広くデリゲートしていたため、呼び出し側は再認証なしにターゲットユーザーを差し替えることができました。 + +実務では、actor token を取得すると、攻撃者は長時間持続するなりすましプリミティブ(典型的には約24時間)を得られ、寿命の途中で取り消すのは困難でした。これにより、Exchange Online と SharePoint/OneDrive APIs 間でのユーザーなりすましが可能になり、高価値データの窃取につながりました。 + +歴史的には、同じパターンは被害者の `netId` 値を使って `graph.windows.net` に対しても機能しました。これにより任意ユーザーとしての直接的な Entra 管理操作が可能になり(例えば新しい Global Administrator アカウントの作成など)、テナント全体の乗っ取りワークフローを実現しました。 + +## もはや機能しないもの + +Exchange Hybrid actor tokens 経由の `graph.windows.net` なりすまし経路は修正されています。この特定のトークン経路に関しては、以前の「Exchange から任意の Entra 管理者へ Graph を通じた」チェーンは除去されたと考えるべきです。 + +攻撃を文書化する際の最も重要な訂正点は、Exchange/SharePoint のなりすましリスクを、今は修正された Graph なりすましのエスカレーションから分離して扱うことです。 + +## 実務上依然重要になりうる点 + +組織が共有トラストと証明書情報が露出した古いまたは不完全なハイブリッド構成をまだ運用している場合、Exchange/SharePoint のなりすまし影響は依然深刻であり得ます。フェデレーション設定の悪用角度も、テナントの設定や移行状態によっては関連性を保ちます。 + +Microsoft の長期的な緩和策は、on-prem と Exchange Online のアイデンティティを分離し、shared-service-principal のトラスト経路が存在しないようにすることです。移行を完了した環境はこの攻撃面を実質的に縮小します。 + +## 検出ノート + +この手法が悪用されると、監査イベントは user principal name がなりすまし対象のユーザーに対応している一方で、display/source コンテキストは Exchange Online のアクティビティを示すようなアイデンティティ不整合を示すことがあります。この混在したアイデンティティパターンは有力なハンティングシグナルですが、誤検知を減らすために正当な Exchange-admin ワークフローをベースライン化しておくべきです。 + +## 参考文献 + +- https://www.youtube.com/watch?v=rzfAutv6sB8 + +{{#include ../../../banners/hacktricks-training.md}}