Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/mandiant/mandiant-azure-ad-investigator
デジタルフォレンジッククラウドセキュリティ脅威インテリジェンスアイデンティティ&アクセス管理 (IAM)設定ミスインシデントレスポンスログ分析Archived
GitHub

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
mandiant/mandiant-azure-ad-investigator

Mandiant-Azure-AD-Investigator

Azure AD内のUNC2452およびその他の脅威アクターの痕跡を検出し、フェデレーションドメイン、サービスプリンシパル、アプリケーション、メールボックス権限を監査して侵害の兆候を確認するための読み取り専用PowerShellモジュールです。

リポジトリを見る
6509173年前Kitploit レビュー済み

Mandiant Azure AD Investigator

UNC2452 の TTP に焦点を当てる

概要

このリポジトリには、UNC2452 およびその他の脅威アクターの活動の指標となる可能性があるアーティファクトを検出するための PowerShell モジュールが含まれています。一部の指標は「高精度」の侵害指標ですが、その他のアーティファクトはいわゆる「デュアルユース」アーティファクトです。デュアルユースアーティファクトは脅威アクターの活動に関連している可能性もありますが、正当な機能に関連している可能性もあります。これらについては分析と検証が必要です。UNC2452 が使用する手法の詳細については、当社のブログをご覧ください。

このツールは読み取り専用です。Microsoft 365 環境に変更を加えることはありません。

まとめると、このモジュールは次のことを行います:

  • さらなる検証と分析が必要な侵害指標を特定するために最善を尽くします

次のことは行いません:

  • 常に 100% 侵害を特定すること、または
  • アーティファクトが正当な管理者の活動か脅威アクターの活動かを判断すること

コミュニティからのフィードバックにより、このツールは IOC の検出においてより徹底される可能性があります。問題、アイデア、フィードバックがある場合は、issue を開くか、PR を送信するか、作成者に連絡してください。

機能

フェデレーションドメイン (Invoke-MandiantAuditAzureADDomains)

このモジュールは MS Online PowerShell を使用して、Azure AD 内のフェデレーションドメインを検索および監査します。すべてのフェデレーションドメインはファイル federated domains.csv に出力されます。

  • 署名証明書の異常な有効期間 - 署名証明書の有効期間が 1 年を超えるフェデレーションドメインに対してアラートを発します。AD FS 管理証明書の有効期間は 1 年間のみです。1 年を超える有効期間は、脅威アクターがドメインのフェデレーション設定を改ざんした可能性を示している場合があります。また、正当なカスタムトークン署名証明書の使用を示している場合もあります。管理者にこれが該当するか確認させてください。
  • 署名証明書の不一致 - 署名証明書の発行者またはサブジェクトが一致しないフェデレーションドメインに対してアラートを発します。ほとんどの場合、トークン署名証明書は常に同じ発行者から発行され、同じサブジェクトを持ちます。不一致がある場合、脅威アクターがドメインのフェデレーション設定を改ざんした可能性があります。管理者にサブジェクト名と発行者名が想定どおりか確認させ、想定と異なる場合は、変更がどのように行われたかを判断し、侵害の他の証拠を特定するためにフォレンジック調査の実施を検討してください。
  • Azure AD バックドア (any.sts) - 発行者 URI として any.sts が構成されているフェデレーションドメインに対してアラートを発します。これは Azure AD バックドアツールの使用を示しています。変更がどのように行われたかを判断し、侵害の他の証拠を特定するためにフォレンジック調査の実施を検討してください。
  • フェデレーションドメイン - すべてのフェデレーションドメインとトークン発行者 URI を一覧表示します。ドメインがフェデレーションされるべきかどうか、発行者 URI が想定どおりかどうかを確認してください。
  • 未確認ドメイン - Azure AD 内のすべての未確認ドメインを一覧表示します。未確認ドメインは、未確認の状態で 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

root@kitploit:~
: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 日を超える有効期間を持つトークン署名証明書が設定されたフェデレーションドメインを特定しました。管理者に問い合わせて、トークン署名証明書が手動で管理されており、記載された有効期間が想定されているかどうかを確認してください。これが想定されていない場合は、フォレンジック調査の実施を検討してください。

サービスプリンシパル (Invoke-MandiantAuditAzureADServicePrincipals)

このモジュールは Azure AD PowerShell を使用して、Azure AD のサービスプリンシパルを検索および監査します。

  • 追加の資格情報を持つファーストパーティ サービスプリンシパル - ファーストパーティ (Microsoft 公開) のサービスプリンシパルは、まれなケースを除き、資格情報が追加されるべきではありません。ハイブリッドモードである、または以前にハイブリッドモードであった環境では、Exchange Online、Skype for Business、AAD パスワード保護プロキシ サービスプリンシパルに資格情報が追加されている場合があります。サービスプリンシパルの資格情報が正当なユースケースの一部であることを確認してください。資格情報が正当でない場合は、フォレンジック調査の実施を検討してください。
  • 高い特権と追加された資格情報を持つサービスプリンシパル - 高リスクの API アクセス許可が割り当てられ、かつ資格情報が追加されたサービスプリンシパルを特定します。サービスプリンシパルと追加されたアクセス許可はおそらく正当なものですが、追加された資格情報はそうでない可能性があります。サービスプリンシパルの資格情報が正当なユースケースの一部であることを確認してください。サービスプリンシパルにリストされたアクセス許可が必要かどうかを確認してください。

例```

!! 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 :

root@kitploit:~
: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サインインブレードの「サービスプリンシパルのサインイン」タブを使用して、このサービスプリンシパルを使用したテナントへの認証を検索することもできます。

アプリケーション (Invoke-MandiantAuditAzureADApplications)

このモジュールは、Azure AD PowerShellを使用して、Azure AD内のアプリケーションを検索および監査します。

  • 高レベルの特権と追加された資格情報を持つアプリケーション - 高リスクなAPIアクセス許可と追加された資格情報を持つアプリケーションを警告します。アプリケーションと追加されたアクセス許可はおそらく正当なものですが、追加された資格情報はそうでない可能性があります。アプリケーションの資格情報が正当なユースケースの一部であることを確認してください。アプリケーションがリストされたアクセス許可を必要としていることを確認してください。

例```

!! 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)

root@kitploit:~
:⚠️ このスクリプトは、高リスクなAPIアクセス許可と追加された資格情報を持つアプリケーションを特定しました。これは、一部のサードパーティ製またはカスタムビルドのアプリケーションが機能するために資格情報の追加を必要とするため、予期される動作である可能性があります。また、環境内でのUNC2452アクティビティの痕跡である可能性もあります。管理者に確認し、監査ログを検索して資格情報が正当なものであることを確認してください。

### Cloud Solution Provider Program (Invoke-MandiantGetCSPInformation)

このモジュールは、テナントがCSPまたはパートナーによって管理されているかどうか、および委任された管理が有効になっているかどうかを確認します。委任された管理により、CSPはグローバル管理者と同じ権限で顧客テナントにアクセスできます。CSPプログラムはパートナーテナントに対して強力なセキュリティ制御を強制しますが、CSPを侵害した脅威アクターは顧客環境にアクセスできる可能性があります。組織は、パートナーが委任された管理者権限を必要とするかどうかを確認し、不要な場合は削除する必要があります。パートナーが委任された管理アクセスを維持する必要がある場合は、条件付きアクセスポリシーを実装してアクセスを制限することを検討してください。

組織は、[管理センター](https://admin.microsoft.com)に移動し、左側のメニューバーで`設定` -> `パートナー関係`に移動することで、パートナー関係を確認および管理できます。

### Mailbox Folder Permissions (Get-MandiantMailboxFolderPermissions)

このモジュールは、テナント内のすべてのメールボックスを監査し、疑わしいフォルダーアクセス許可の存在を確認します。具体的には、各メールボックスの「情報ストアの最上位」および「受信トレイ」フォルダーを調べ、「既定」および「匿名」ユーザーに割り当てられたアクセス許可を確認します。「なし」以外の値がある場合、メールボックスは分析対象としてフラグが立てられます。通常、既定ユーザーと匿名ユーザーにはユーザーの受信トレイへのアクセス許可は付与すべきではありません。これにより、すべてのユーザーがその内容を読めるようになるためです。一部の組織では共有メールボックスにこのアクセス許可が設定されている場合がありますが、推奨される方法ではありません。

### Application Impersonation (Get-MandiantApplicationImpersonationHolders)

このモジュールは、ApplicationImpersonationロールを保持するユーザーとグループのリストを出力します。このコマンドの出力に含まれるユーザーまたはグループのメンバーは、偽装を使用してテナント内の他のすべてのユーザーのメールボックスに「代理として」アクセスできます。組織はこのコマンドの出力を監査して、期待されるユーザーとグループのみが含まれていることを確認し、可能な場合はさらにスコープを制限する必要があります。

### Purview Audit (旧称 Advanced Audit) (Invoke-MandiantCheckAuditing)

このモジュールは、テナント内でPurview Audit Mail Items Accessedのライセンスを持つすべてのライセンスユーザーを列挙します。対象となるメールボックスでこの機能が有効になっているかどうかを文書化したCSVレポートを生成します。組織は、Mail Items Accessedの対象でありながら機能が無効になっているメールボックスをフィルタリングし、意図的なものであることを確認する必要があります。

### Unified Audit Log (Get-MandiantUnc2452AuditLogs)

このモジュールは、統合監査ログを検索するためのヘルパースクリプトです。統合監査ログの検索には、見落としやすい多くの技術的な注意点があります。このモジュールは、これらの注意点に対処し、一般的なエラーを処理するためのベストプラクティスを実装することで、検索プロセスを簡素化するのに役立ちます。

デフォルトでは、モジュールはUNC2452の手法を記録できるログエントリを検索します。ログ記録には正当な管理者アクティビティも含まれる可能性があるため、確認が必要です。

* **アプリケーションの更新** - アプリ登録の更新アクションを記録します。
* **ドメイン認証の設定** - ドメインの認証設定が変更された際(フェデレーションレルムオブジェクトの作成を含む)を記録します。これらのイベントは環境内ではまれにしか発生せず、脅威アクターがAADバックドアを構成していることを示す可能性があります。
* **フェデレーション設定の設定** - ドメインのフェデレーションレルムオブジェクトが変更された際を記録します。これらのイベントは環境内ではまれにしか発生せず、脅威アクターがGolden SAML攻撃を実行する準備をしていることを示す可能性があります。
* **アプリケーションの証明書とシークレットの更新** - シークレットまたは証明書がアプリ登録に追加された際を記録します。
* **PowerShell メールボックスログイン** - クライアントアプリケーションがPowerShellであったメールボックスログイン操作を記録します。
* **サービスプリンシパルの更新** - 既存のサービスプリンシパルへの更新が行われた際を記録します。
* **サービスプリンシパル資格情報の追加** - シークレットまたは証明書がサービスプリンシパルに追加された際を記録します。
* **アプリロール割り当ての追加** - アプリロール(アプリケーションアクセス許可)が追加された際を記録します。
* **ユーザーへのアプリロール割り当て** - アプリロールがユーザーに割り当てられた際を記録します。
* **PowerShell 認証** - ユーザーがPowerShellクライアントを使用してAzure ADに認証した際を記録します。
* **新しい管理ロールの割り当て** - 新しい管理ロールの割り当てが作成された際を記録します。これは新しいApplicationImpersonationの許可を特定するのに役立ちます。

## 使用方法

### 必要なモジュール

PowerShellモジュールでは、3つのMicrosoft 365 PowerShellモジュールのインストールが必要です。
* AzureAD
* MSOnline
* ExchangeOnlineManagement
* Microsoft.Graph

モジュールをインストールするには:
1. ローカル管理者としてPowerShellウィンドウを開きます(右クリックして「管理者として実行」を選択)
2. コマンド `Install-Module <MODULE NAME HERE>` を実行し、プロンプトに従います

### 必要なユーザーアクセス許可

PowerShellモジュールは、特定の権限が割り当てられたMicrosoft 365アカウントで実行する必要があります。
* Azure ADポータルでの「グローバル管理者」または「グローバル閲覧者」ロール
* Exchange管理センターでの「監査ログの表示のみ」
* 「User.Read.All」および「Directory.Read.All」スコープ。「グローバル閲覧者」ロール保持者はこれらのスコープを自動的に使用できるはずです。

Exchange管理センターでアカウントに「監査ログの表示のみ」を付与するには:
1. https://outlook.office365.com/ecp に移動し、グローバル管理者またはExchange管理者としてログインします(クラウドが別の場合はURLが異なる場合があります)
2. ダッシュボードの「管理者ロール」をクリックするか、左側の「ロール」タブを展開して「管理者ロール」をクリックします(新しいUIの場合)
3. 「+」記号をクリックするか、「新しいロールグループの追加」をクリックして新しい管理者ロールを作成します
4. ロールに名前とデフォルトの書き込みスコープを付与します
5. ロールに「監査ログの表示のみ」権限を追加します
6. ロールにユーザーを追加します

**注** このロールが適用されるまで最大1時間かかる場合があります

### ツールの実行
1. このツールをZIPとしてダウンロードして解凍するか、リポジトリをシステムにクローンします
2. PowerShellウィンドウを開きます
3. このモジュールの場所にディレクトリを変更します `cd C:\path\to\the\module`
4. このモジュールをインポートします `Import-Module .\MandiantAzureADInvestigator.psd1` 次の出力が表示されるはずです```

      Mandiant Azure AD Investigator
    Focusing on UNC2452 Investigations

PS C:\Users\admin\Desktop\mandiant>
  1. Connect-MandiantAzureEnvironment -UserPrincipalName <your username here> を実行して Azure AD に接続します。ログインプロンプトが表示され、PowerShell ウィンドウに接続が確立されたことを示す出力が表示されるはずです。注: 問題が発生した場合は、Set-ExecutionPolicy -ExecutionPolicy RemoteSigned を実行して実行ポリシーを変更する必要がある場合があります。これには管理者権限が必要な場合があります。```

The module allows access to all existing remote PowerShell (V1) cmdlets in addition to the 9 new, faster, and more reliable cmdlets.

|--------------------------------------------------------------------------| | Old Cmdlets | New/Reliable/Faster Cmdlets | |--------------------------------------------------------------------------| | Get-CASMailbox | Get-EXOCASMailbox | | Get-Mailbox | Get-EXOMailbox | | Get-MailboxFolderPermission | Get-EXOMailboxFolderPermission | | Get-MailboxFolderStatistics | Get-EXOMailboxFolderStatistics | | Get-MailboxPermission | Get-EXOMailboxPermission | | Get-MailboxStatistics | Get-EXOMailboxStatistics | | Get-MobileDeviceStatistics | Get-EXOMobileDeviceStatistics | | Get-Recipient | Get-EXORecipient | | Get-RecipientPermission | Get-EXORecipientPermission | |--------------------------------------------------------------------------|

To get additional information, run: Get-Help Connect-ExchangeOnline or check https://aka.ms/exops-docs

Send your product improvement suggestions and feedback to [email protected]. For issues related to the module, contact Microsoft support. Don't use the feedback alias for problems or support issues.

Account Environment TenantId TenantDomain


[email protected] AzureCloud xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx test.onm...

root@kitploit:~
5. すべてのチェックを実行する `Invoke-MandiantAllChecks -OutputPath <path\to\output\files>`。特定のコマンドレットを使用して個別のチェックを実行することもできます。
6. 画面および書き出されたCSVファイルの出力を確認します。

## 参考資料

UNC2452に関するMandiantの追加情報については、以下を参照してください。
* [高度に回避的な攻撃者がSolarWindsサプライチェーンを悪用し、SUNBURSTバックドアで複数のグローバル被害者を侵害](https://www.mandiant.com/resources/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor)
* [UNC2452から防御するためのMicrosoft 365の修復と強化戦略](https://www.mandiant.com/resources/remediation-and-hardening-strategies-for-microsoft-365-to-defend-against-unc2452)

UNC2452への対応は、セキュリティ業界全体での多大な取り組みであり、これらのブログでは、このツールのユーザーにとって有益な追加の貢献が数多く引用されています。ご自身の環境でのアクティビティを最もよく理解するために、これらの投稿からリンクされている資料を読むことをお勧めします。いつものように、Mandiantチームは、[こちらからお問い合わせ](https://www.mandiant.com/report-incident)いただくことで、フォローアップの質問や調査のさらなる支援に対応可能です。
ツールをダウンロード