Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
DFIR-O365RC — Office 365およびAzureログ収集のためのPowerShellモジュール | Kitploit
ツール/GitHubGitHub/anssi-fr/dfir-o365rc
フォレンジックデジタルフォレンジッククラウドセキュリティインシデントレスポンスログ分析
GitHubanssi-fr/dfir-o365rc

DFIR-O365RC

Office 365およびAzureログ収集のためのPowerShellモジュール

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

DFIR-O365RC

Publish Docker image to Dockerhub Publish module to PowerShell Gallery


目次

  1. モジュールの説明

  2. インストールと前提条件

    1. Dockerを使用する場合
    2. 手動インストール
  3. DFIR-O365RCアプリケーションの管理

    1. アプリケーションの作成
    2. アプリケーションの更新
    3. アプリケーションの削除
  4. アクセス許可とライセンス要件

  5. モジュールに含まれる関数

  6. 生成されるファイル

DFIR-O365RCはSSTIC 2021(情報技術・通信セキュリティに関するシンポジウム)で発表されました。プレゼンテーションのスライドと録画(フランス語)はこちらから入手できます。

⚠️ 2024年3月31日、MicrosoftはDFIR-O365RCで使用していた認証方式を非推奨としました。これにより、2024年8月にバージョン2.0.0がリリースされました。このバージョンでは、認証に関して互換性のない変更が加えられ、コード全体がリファクタリングされています。 ⚠️

モジュールの説明

DFIR-O365RC PowerShellモジュールは、フォレンジックアナリストがMicrosoft 365の侵害に関連するログを収集し、Entra IDの調査を実施できるようにする関数群です。

ログはJSON形式で生成され、主に2つのデータソースから取得されます。

  • Microsoft 365 統合監査ログ
  • Microsoft Entra サインインログおよび監査ログ

これらのデータソースは、異なるエンドポイントからクエリできます。

データソース / エンドポイント保持期間パフォーマンス範囲
統合監査ログ / Exchange Online PowerShell90日低いMicrosoft 365の全ログ(Entraを含む)
統合監査ログ / Purview180日良いMicrosoft 365の全ログ(Entraを含む)
統合監査ログ / Office 365 Management API *7日良いMicrosoft 365の全ログ(Entraを含む)
Microsoft Entraログ / Microsoft Graph PowerShell30日良いEntraのサインインと監査ログのみ
Microsoft Entraログ / Microsoft Graph REST API30日良いEntraのサインインと監査ログのみ

* Office 365 Management APIは、SIEMでリアルタイムにデータを分析することを目的としています。DFIR-O365RCはフォレンジックツールであり、Microsoft 365環境をリアルタイムで監視することを目的としていません。

DFIR-O365RCは以下のデータソースからデータを取得します。

  • Microsoft Entraログ: Microsoft Graph PowerShellを使用(パフォーマンスが良く、Microsoft Graph REST APIをラップしているため)
  • デフォルトでは、統合監査ログをExchange Online PowerShellを使用して取得:パフォーマンスは低いものの、現時点で唯一使用可能なオプション
  • オプションで、統合監査ログをPurviewを使用して取得:保持期間は180日でパフォーマンスは良いが、まだベータ版であり、バックエンドのバグにより現時点では使用不可

Microsoft 365の悪意あるアクティビティを調査している場合、Search-O365(Exchange Online PowerShellから)はメールボックス監査ログも取得しますが、Search-MailboxAuditLogコマンドレットは非推奨となっています。

他のAzureリソースを調査する場合は、DFIR-O365RCを使用して次のことが可能です。

  • Azure MonitorアクティビティログをAz.Monitor PowerShellモジュールを使用して取得(保持期間90日)。このログはAzure Resource Manager内のアクティビティ(Azureサブスクリプションに関連)に焦点を当てています。
  • Azure DevOps監査ログをAzure DevOps Services REST APIを使用して取得(保持期間90日)。このログはAzure DevOps内のアクティビティ(Azure DevOps組織に関連)に焦点を当てています。

インストールと前提条件

Dockerを使用する場合

これはDFIR-O365RCの推奨される使用方法です

次のように入力します :```bash sudo docker pull anssi/dfir-o365rc:latest sudo docker run --rm -v .:/mnt/host -it anssi/dfir-o365rc:latest

DFIR-O365RC は使用準備ができました:```bash
PowerShell 7.4.2
DFIR-O365RC: PowerShell module for Microsoft 365 and Entra ID log collection
https://github.com/ANSSI-FR/DFIR-O365RC
PS /mnt/host/output>

Dockerイメージを手動でビルドしたい場合は、リポジトリをクローンし、docker compose(または従来のdocker-compose)を使用してイメージをビルドし、コンテナを実行してボリュームをマウントします(output/フォルダ内)。```bash sudo docker compose build dfir-o365rc sudo docker compose run dfir-o365rc

using legacy Compose V1

sudo docker-compose run dfir-o365rc

### PowerShell の使用

このモジュールは *PowerShell Desktop* および *PowerShell Core* にインストールできます。

`Connect-ExchangeOnline` コマンドレットには [Microsoft .NET Framework 4.7.2 以降が必要](https://learn.microsoft.com/ja-jp/powershell/exchange/exchange-online-powershell-v2?view=exchange-ps#windows) であることに注意してください。

PowerShell ギャラリーからモジュールをインストールするには:```powershell
Install-Module -Name DFIR-O365RC

モジュールを手動でインストールするには、DFIR-O365RCリポジトリをクローンし、必要な依存関係をインストールし(DFIR-O365RC.psd1を確認)、DFIR-O365RCディレクトリをPowerShellのモジュールパスのいずれかに追加することもできます。

DFIR-O365RCアプリケーションの管理

アプリケーションの作成

モジュールをインポートしたら、ログ収集プロセスを処理するEntraアプリケーションを作成する必要があります。

そのためには:

  1. 自己署名証明書を作成し、base64エンコードされた公開部分を取得します:

    Linux、PowerShell Core、またはDockerコンテナを使用する場合: ```bash openssl req -new -x509 -newkey rsa:2048 -sha256 -days 365 -nodes -out exampleDFIRO365RC.crt -keyout exampleDFIRO365RC.key -batch openssl pkcs12 -inkey exampleDFIRO365RC.key -in exampleDFIRO365RC.crt -export -out exampleDFIRO365RC.pfx # Enter a password for the certificate openssl x509 -in exampleDFIRO365RC.crt -outform DER -out - | base64 | tr -d "\n"

Windows上で、PowerShellを使用する場合: ```powershell $certificate = New-SelfSignedCertificate -Subject "CN=exampleDFIRO365RC" -KeySpec KeyExchange -NotBefore (Get-Date) -NotAfter (Get-Date).AddDays(365) $certificatePassword = Read-Host -MaskInput "Please enter a password for the certificate" $certificateSecurePassword = ConvertTo-SecureString -String $certificatePassword -AsPlainText -Force Export-PfxCertificate -Cert $certificate -FilePath exampleDFIRO365RC.pfx -Password $certificateSecurePassword Write-Host ([System.Convert]::ToBase64String($certificate.GetRawCertData()))

2) DFIR-O365RC モジュールから `New-Application` コマンドレットを使用します:   ```powershell
$certificateb64="<base64-encoded public part from step 1>"
New-Application -certificateb64 $certificateb64

オプションとして、テナントのサブスクリプションでログを収集できるようにしたい場合(Get-AzRMActivityLogs を使用する予定がない場合は不要です): ```powershell New-Application -certificateb64 $certificateb64 -subscriptions

オプションとして、テナントのAzure DevOps組織でログを収集できるようにしたい場合(これには長時間かかる可能性があり、`Get-AzDevOpsActivityLogs`を使用する予定がない場合は必要ありません):   ```powershell
New-Application -certificateb64 $certificateb64 -organizations

アプリケーションを作成するには、高い特権を持つアカウントを使用して、Azure に数回ログインする必要があります。

アプリケーションが作成されると、以下のような出力が表示されます。 ```powershell Done creating the application with the required permissions Please use the following identifiers: WARNING: AppID: xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx WARNING: Tenant: example.onmicrosoft.com

### アプリケーションの更新

アプリケーションを作成した後でも、モジュールの `Update-Application` コマンドレットを使用して、その資格情報とアクセス許可を更新できます。
ツールをダウンロード