認証情報を持つファーストパーティサービスプリンシパル

High

説明

ファーストパーティサービスプリンシパル (エンタープライズアプリケーション) は、Microsoft に属するアプリケーション (アプリケーション登録) に由来しています。それらのほとんどは、セキュリティチェックの際に見過ごされがちな、Microsoft Entra ID の機密性の高いアクセス許可を持っています。そのため、攻撃者はサービスプリンシパルに認証情報を付加することで、その権限の恩恵を密かに受けることが可能です。

この手法を使うと永続的​機能のほか権限昇格​も得られます。これは、アプリケーション管理者ロールを持つプリンシパルが、高い権限のあるアプリケーションにも認証情報を付加できるためです。

ごく稀なケースを除いて、ファーストパーティサービスプリンシパルはいかなる資格情報も持つべきではありません (推奨事項を参照してください)。

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

ソリューション

検出された認証情報の正当性の評価​から開始します。資格情報が次のサービスプリンシパルとのいずれかと関連している場合は、正当と見なすことができます: Exchange Online / Skype for Business / AAD Password Protection Proxy。

そのほかの場合で資格情報の正当性が疑われる場合:

  • 攻撃を示唆する可能性があるため、フォレンジック調査​を実施します。目的は、疑わしい攻撃を確認し、その攻撃がいつ誰によって行われたかを確認して侵入の可能性がある範囲を特定することです。
  • 監査ログをレビュー​して、その資格情報がいつ追加されたかと、現在または過去に使用されているかどうかを識別します。
  • 期限切れの資格情報も確認します。これは、現時点で使用できない資格情報であっても、過去に攻撃者によって使用された可能性があるためです。

アプリケーションに添付された資格情報とは異なり、サービスプリンシパルの資格情報を Azure ポータルを使って一覧表示することはできません。AzureAD PowerShell モジュールからの次のコマンドレットを使用して、サービスプリンシパルの資格情報を一覧表示します:

  • 主な資格情報: Get-AzureADServicePrincipalKeyCredential
  • パスワード資格情報: Get-AzureADServicePrincipalPasswordCredential

これらの資格情報を削除するために使用:

  • 主な資格情報: Remove-AzureADServicePrincipalKeyCredential
  • パスワード資格情報: Remove-AzureADServicePrincipalPasswordCredential

インジケーターの詳細

名前: 認証情報を持つファーストパーティサービスプリンシパル

コード名: FIRST-PARTY-SERVICE-PRINCIPAL-WITH-CREDENTIALS

深刻度: High

MITRE ATT&CK 情報:

テクニック: T1098.001

More: Azure AD privilege escalation - Taking over default application permissions as Application Admin