悪用可能なルールを持つ動的グループ

MEDIUM

説明

Microsoft Entra ID の動的グループは、P1 ライセンス以上が必要になる強力な機能です。これらのグループは、ユーザー属性に関連付けられた固有のルールに基づいて自動的にメンバーシップを更新します。ただしそのルールが、ユーザーが自分で変えられる属性に依存している場合、悪用に対して脆弱になります。

攻撃者が動的グループのルールで使用される属性を変更できるようになると、そのメンバーシップも操作することができます。そのグループが機密性の高いリソースへのアクセスを付与している場合、この設定ミスは不正アクセスや権限昇格につながる可能性があります。

テナントの多くの属性はユーザーが変更できないものですが、ゲストアカウントは例外です。攻撃者がゲストユーザーをコントロールし、攻撃者のホームテナントで管理者権限を持つようになると、そこで属性を変更して、標的としたテナントの動的グループルールを悪用することが可能になります。

この問題は、2020 年頃にセキュリティ調査やペネトレーションテストのドキュメントで初めて強調され、設定ミスのある環境では今でも実行可能な攻撃手法です。2024 年後半以降、AADInternals 攻撃ツールに、悪用可能なグループを特定する機能が導入されています。

実行可能な攻撃シナリオ:

  1. 偵察: 攻撃者は、特権ロールを持たない標準ユーザーとしてテナントへのアクセス権を取得します。デフォルトで、グループを列挙し、動的グループルールを閲覧できます。
  2. 標的の選択: 攻撃者は、サブスクリプションの特権 Azure ロールなど、機密性の高いアクセス許可を持つ動的グループを特定します。特定のキーワード (例: 「admin」) を含む displayName など、悪用可能な属性を使用しているルールを標的にします。
  3. 悪意のある準備: 攻撃者は、標的にしたグループのメンバーシップルールと一致する属性を持つユーザーを自身の Entra テナントで作成します。
  4. ゲストの招待: 攻撃者はこの悪意のあるユーザーをゲストとして標的のテナントに招待します。
  5. ルールの悪用: 悪意のあるゲストが招待を受け入れると、標的テナントでそのアカウントが作成され、動的グループのメンバーシップルールによって属性が処理されます。
  6. 昇格: 悪意のあるゲストは、アカウント作成後数分以内に動的グループに自動的に参加し、そのアクセス許可 (例えば、特権 Azure サブスクリプションロール) を継承します。

リスクとそれに伴う深刻度は、次の要因によって異なります。

  • ゲストのアクセス設定: ゲストに課されている制限が緩いと、攻撃の実行可能性が高まります。ゲストの招待や、グループルールの閲覧ができてしまうと、リスクが高まります (関連する [無制限のゲストアカウント] や [通常アカウントと同等のアクセス権を持つゲストアカウント] の露出インジケーター (IoE) を参照)。
  • グループのアクセス範囲: 悪用の深刻度は、グループが制御するリソースによって異なります。これには、次の内容が含まれます。
    • Microsoft 365 サービス (Teams チャネル、SharePoint サイト、Exchange インボックス)
    • Azure クラウドリソース
    • 統合されている他のアプリケーション

ソリューション

動的グループにより管理タスクは簡素化されますが、悪用を防ぐためには慎重に設定する必要があります。これらのリスクに対処することで、管理者は Entra ID 管理内で動的グループの安全性と効率性を保つことができます。

最も直接的な修正策は、ルールでユーザー制御の属性を避けることです。ユーザー (特にゲスト) が直接変更できる属性に基づいて動的グループメンバーシップのルールを定めないでください。ただしこうすると、この機能の有用性と柔軟性が大幅に低下します。

前述したように、最も簡単な悪用方法は、悪意のあるゲストを招待することです。これを軽減するために、信頼できるユーザーのグループだけがゲストを招待できるように制限するポリシーを設定できます。これはコラボレーションに影響を与える可能性がりますが、悪意のあるゲストアクセスのリスクを大幅に低減します。 ゲストが動的グループのメンバーになることが想定されていない場合は、このような危険なゲストを除外することもできます。ルールエディターで、プロパティ userType、演算子 Not Equals、値 Guest で [And] ルールを追加します。そうすると and (user.userType -ne "Guest") というルールが生成されます。これは、悪意のある「外部メンバー」から保護するものではありません。

(Entra ロールにより付与されたアクセス許可などにより) ユーザー属性を編集できる内部ユーザーもこれを悪用して、さらなる攻撃経路を作成することができます。したがって、そのようなアクセス許可を付与する Entra ロールを注意深く確認してください。

内部ユーザーや信頼性の低いゲストは、悪用可能なグループを簡単に検出できます。これを軽減するために、グループとそのルールに対するゲストの可視性を低減することができます。関連する [無制限のゲストアカウント] および [通常アカウントと同等のアクセス権を持つゲストアカウント] の露出インジケーター (IoE) にある推奨事項を参照してください。しかし、内部ユーザーは依然として標的にするグループを特定できるため、これは内部ユーザーによるグループの悪用を防ぐものではありません。

それを補完するために、動的グループメンバーシップの変更を定期的に監視して、潜在的な悪用を特定し対処することができます。これをリアルタイムで行うには、Entra 監査ログを使用することができます。あるいは、動的グループのプロパティの「処理を一時停止」することを選択し、変更前後のメンバーを比較する準備ができてから再有効化できます。

最後に、検出または悪用の可能性が最小限なのでこのリスクは低いと見なすため、またはグループのメンバーシップで機密性の高いリソースへのアクセス権が付与されることはないので、このリスクを許容する場合は、特定されたグループを除外することを選択できます。

インジケーターの詳細

名前: 悪用可能なルールを持つ動的グループ

コード名: DYNAMIC-GROUP-FEATURING-AN-EXPLOITABLE-RULE

深刻度: Medium

タイプ: Microsoft Entra ID Indicator of Exposure

MITRE ATT&CK 情報: