既知のフェデレーションドメインのバックドア

Critical

説明

Microsoft Entra ID テナントは、外部ドメインとフェデレーションして、認証と承認のために別のドメインと信頼を確立することができます。企業はフェデレーションを使用して、Active Directory ユーザーのオンプレミス Active Directory Federation Services (AD FS) に対する認証を委任することができます。(注意: この外部ドメインは Active Directory の「ドメイン」ではありません)。 しかし、悪意のある攻撃者が Microsoft Entra ID で昇格された権限を取得した場合、独自のフェデレーションドメインを追加したり、既存のドメインを編集して独自に設定したセカンダリ設定を追加したりすることで、このフェデレーション方式を悪用し、バックドア​を作成する可能性があります。そのような攻撃では次のアクションが可能になります。

  • なりすまし​: 悪意のあるフェデレーションドメインでトークンを生成し、攻撃者は、任意の Microsoft Entra ID ユーザーのパスワードを知らなくても、リセットしなくても認証できるようになります。これは「クラウドのみ」(非ハイブリッド) のユーザーと外部ユーザーも対象になります。これにより、たとえ MFA (以下を参照) を施行していたとしても、Microsoft Entra ID、Microsoft 365 (O365)、および ID プロバイダー (SSO) として Microsoft Entra ID に依存する他のアプリケーションに対する攻撃が可能になります。
  • 権限昇格​: 攻撃者は、任意のユーザー、特に特権を持つ Microsoft Entra ID ユーザーになりすますことができます。
  • 多要素認証のバイパス​: フェデレーション認証により、信頼できる外部ドメイン が MFA を実行するロールを引き受けます。次に、悪意のあるフェデレーションドメインは、偽装された認証が MFA を使用したという偽りの主張をする可能性があります。Microsoft Entra ID はこれを信用して再度 MFA を求めることはありません。MFA 保護されているとしても、この手法で攻撃者はすべてのユーザーになりすますことができます。
  • 永続化​: 悪意のあるフェデレーションドメインの追加は、Microsoft Entra ID テナントを侵害して高い権限を奪取した攻撃者が、後日アクセス権を再取得することを可能にするステルス型の攻撃手法です。

この露出インジケーターは、AADInternals ハッキングツールキット (特に、ConvertTo-AADIntBackdoor および New-AADIntBackdoor コマンドレット) が作成するフェデレーションドメインのバックドアを、作成または変換されたバックドアドメインの特定の特徴に基づいて検出します。

悪意のあるフェデレーションドメインから攻撃対象の Microsoft Entra ID への認証の証明を備えたフェデレーションプロトコルは、WS-Federation または SAML のどちらかです。SAML の場合、攻撃は「ゴールデン SAML」攻撃に似ていますが、主に次の点が異なります。

  • 攻撃者は、既存のフェデレーションの正当な SAML 署名キーを盗む代わりに、独自のキーを持つ新しいドメインを挿入します。
  • 攻撃者は、サービスへのアクセスではなく、フェデレーションにトークンを使用します。

microsoft.directory/domains/federation/update アクセス許可は、フェデレーションドメインを変更できる権限を与えます。2023 年 1 月時点で、潜在的なカスタムロールに加えて、次のビルトイン Microsoft Entra ID ロールがこのアクセス許可を保持しています。

APT29 脅威グループは、2020 年 12 月の「Solorigate」と呼ばれる SolarWinds に対する悪名高い攻撃でこの方法を悪用しました。この攻撃については、MicrosoftMandiant によって文書化されています。

ソリューション

この検出結果は、攻撃者がバックドアを仕掛けた可能性​を示しています。フォレンジック分析によるインシデント対応手順​を開始して、攻撃の疑いを確認し、攻撃者と攻撃時刻、潜在的な侵入の範囲を特定します。

Microsoft はフェデレーションを Microsoft Entra ID の正当な機能と見なしていますが、この攻撃ではそれが悪用されています。攻撃者が高い権限を獲得しなければこのバックドアは作成できない点を Microsoft は強調しています。こうした理由から、フェデレーション設定を変更する権限を持つ管理者の数を制限​する必要があります。詳細については、脆弱性の説明にある特定のアクセス許可やロールの一覧を参照してください。

Azure ポータルのフェデレーションドメインのリストを確認するには、[カスタムドメイン名] ブレードを開いて、[フェデレーション] 列にチェックマークのあるドメインを探します。悪意のある可能性があるドメインの名前は、検出結果に表示されるものと同じ名前になります。しかし、MS Graph API とは異なり、Azure ポータルではフェデレーションの技術的詳細は表示されません。

MS Graph API の PowerShell コマンドレットにより、Get-MgDomain でドメインを、Get-MgDomainFederationConfiguration`でそれらのフェデレーション設定を一覧表示できます。

Connect-MgGraph -Scopes "Domain.Read.All"
Get-MgDomain -All | Where-Object { $_.AuthenticationType -eq "Federated" } | ForEach-Object { $_​ ; Get-MgDomainFederationConfiguration -DomainId $_.Id }

最終的なフォレンジック分析のために証拠を保存​した後、

  • ドメインが不正なものである場合は、Remove-MgDomain を使用して削除します。
  • ドメインは正当でも、フェデレーション設定が悪意のあるものである場合は、Remove-MgDomainFederationConfiguration を使用してフェデレーション設定を削除します。

インジケーターの詳細

名前: 既知のフェデレーションドメインのバックドア

コード名: KNOWN-FEDERATED-DOMAIN-BACKDOOR

深刻度: Critical

MITRE ATT&CK 情報:

テクニック: T1484.002, T1606.002

More: Modify Trusted Domains [Mandiant], Security vulnerability in Azure AD & Office 365 identity federation, How to create a backdoor to Azure AD - part 1: Identity federation, Deep-dive to Azure Active Directory Identity Federation