
Azure AD内のUNC2452およびその他の脅威アクターの痕跡を検出し、フェデレーションドメイン、サービスプリンシパル、アプリケーション、メールボックス権限を監査して侵害の兆候を確認するための読み取り専用PowerShellモジュールです。
このリポジトリには、UNC2452 およびその他の脅威アクターの活動の指標となる可能性があるアーティファクトを検出するための PowerShell モジュールが含まれています。一部の指標は「高精度」の侵害指標ですが、その他のアーティファクトはいわゆる「デュアルユース」アーティファクトです。デュアルユースアーティファクトは脅威アクターの活動に関連している可能性もありますが、正当な機能に関連している可能性もあります。これらについては分析と検証が必要です。UNC2452 が使用する手法の詳細については、当社のブログをご覧ください。
このツールは読み取り専用です。Microsoft 365 環境に変更を加えることはありません。
まとめると、このモジュールは次のことを行います:
次のことは行いません:
コミュニティからのフィードバックにより、このツールは IOC の検出においてより徹底される可能性があります。問題、アイデア、フィードバックがある場合は、issue を開くか、PR を送信するか、作成者に連絡してください。
このモジュールは MS Online PowerShell を使用して、Azure AD 内のフェデレーションドメインを検索および監査します。すべてのフェデレーションドメインはファイル federated domains.csv に出力されます。
any.sts が構成されているフェデレーションドメインに対してアラートを発します。これは Azure AD バックドアツールの使用を示しています。変更がどのように行われたかを判断し、侵害の他の証拠を特定するためにフォレンジック調査の実施を検討してください。!! Evidence of AAD backdoor found. Consider performing a detailed forensic investigation Domain name: foobar.com Domain federation name: Federation issuer URI: http://any.sts/16B45E3B
:bangbang: スクリプトは、[Azure AD Backdoor](https://github.com/Gerenios/AADInternals/blob/master/FederatedIdentityTools.ps1)の指標となる発行者URIとフェデレーションされたドメインを特定しました。バックドアは、デフォルトで発行者URIをhxxp://any.stsに設定します。変更がどのように行われたかを特定し、他の侵害の証拠を識別するために、フォレンジック調査を実施することを検討してください。```
!! A token signing certificate has a validity period of more than 365 days.
This may be evidence of a signing certificate not generated by AD FS.
Domain name: foobar.com
Federation issuer uri: http://sts.foobar.com
Signing cert not valid before: 1/1/2020 00:00:00
Signing cert not valid after: 12/31/2025 23:59:59
⚠️ このスクリプトは、標準の 365 日を超える有効期間を持つトークン署名証明書が設定されたフェデレーションドメインを特定しました。管理者に問い合わせて、トークン署名証明書が手動で管理されており、記載された有効期間が想定されているかどうかを確認してください。これが想定されていない場合は、フォレンジック調査の実施を検討してください。
このモジュールは Azure AD PowerShell を使用して、Azure AD のサービスプリンシパルを検索および監査します。
!! Identified first-party (Microsoft published) Service Principals with added credentials. Only in rare cases should a first-party Service Principal have an added credential. Verify that the added credential has a legitimate use case and consider further investigation if not
Object ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx App ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Display Name : Office 365 Exchange Online Key Credentials :
CustomKeyIdentifier : EndDate : 12/9/2017 2:10:29 AM KeyId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx StartDate : 12/9/2015 1:40:30 AM Type : AsymmetricX509Cert Usage : Verify Value :
:warning: このスクリプトは、資格情報が追加されたファーストパーティ(Microsoft)のサービスプリンシパルを特定しました。ファーストパーティのサービスプリンシパルには、まれなケースを除いて資格情報を追加すべきではありません。ハイブリッドモードである、または以前にハイブリッドモードであった環境では、Exchange Online、Skype for Business、およびAAD Password Protection Proxyサービスプリンシパルに資格情報が追加されている可能性があります。これは、環境内でのUNC2452アクティビティの痕跡である可能性もあります。管理者に確認し、監査ログを検索して、資格情報が正当であることを確認してください。また、Azure ADサインインブレードの「サービスプリンシパルのサインイン」タブを使用して、このサービスプリンシパルを使用したテナントへの認証を検索することもできます。```
!! Identified Service Principals with high-risk API permissions and added credentials.
Verify that the added credential has a legitimate use case and consider further investigation if not
Object ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
App ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Display Name : TestingApp
Key Credentials :
CustomKeyIdentifier :
EndDate : 1/7/2025 12:00:00 AM
KeyId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
StartDate : 1/7/2021 12:00:00 AM
Type : Symmetric
Usage : Verify
Value :
Password Credentials :
Risky Permissions : Domain.ReadWrite.All
⚠️ このスクリプトは、高リスクなAPIアクセス許可を持つサービスプリンシパルを特定し、資格情報を追加しました。これは、一部のサードパーティ製またはカスタムビルドのアプリケーションが正常に機能するために資格情報の追加を必要とするため、予期された動作である可能性があります。また、お使いの環境におけるUNC2452の活動の痕跡である可能性もあります。管理者に相談し、監査ログを検索して資格情報が正当であることを確認してください。また、Azure ADサインインブレードの「サービスプリンシパルのサインイン」タブを使用して、このサービスプリンシパルを使用したテナントへの認証を検索することもできます。
このモジュールは、Azure AD PowerShellを使用して、Azure AD内のアプリケーションを検索および監査します。
!! High-privileged Application with credentials found. Validate that the application needs these permissions. Validate that the credentials added to the application are associated with a legitimate use case.
ObjectID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx AppID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx DisplayName: Acme Test App KeyCredentials: PasswordCredentials:
CustomKeyIdentifier : EndDate : 12/22/2021 4:01:52 PM KeyId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx StartDate : 12/22/2020 4:01:52 PM Value :
CustomKeyIdentifier : EndDate : 12/21/2021 6:32:54 PM KeyId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx StartDate : 12/21/2020 6:33:16 PM Value :
Risky Permissions: Mail.Read (Read mail in all mailboxes) Directory.Read.All (Read all data in the organization directory)
:⚠️ このスクリプトは、高リスクなAPIアクセス許可と追加された資格情報を持つアプリケーションを特定しました。これは、一部のサードパーティ製またはカスタムビルドのアプリケーションが機能するために資格情報の追加を必要とするため、予期される動作である可能性があります。また、環境内でのUNC2452アクティビティの痕跡である可能性もあります。管理者に確認し、監査ログを検索して資格情報が正当なものであることを確認してください。
### Cloud Solution Provider Program (Invoke-MandiantGetCSPInformation)
このモジュールは、テナントがCSPまたはパートナーによって管理されているかどうか、および委任された管理が有効になっているかどうかを確認します。委任された管理により、CSPはグローバル管理者と同じ権限で顧客テナントにアクセスできます。CSPプログラムはパートナーテナントに対して強力なセキュリティ制御を強制しますが、CSPを侵害した脅威アクターは顧客環境にアクセスできる可能性があります。組織は、パートナーが委任された管理者権限を必要とするかどうかを確認し、不要な場合は削除する必要があります。パートナーが委任された管理アクセスを維持する必要がある場合は、条件付きアクセスポリシーを実装してアクセスを制限することを検討してください。
組織は、[管理センター](https://admin.microsoft.com)に移動し、左側のメニューバーで`設定` -> `パートナー関係`に移動することで、パートナー関係を確認および管理できます。
### Mailbox Folder Permissions (Get-MandiantMailboxFolderPermissions)