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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
AzureHunter — クラウドフォレンジックのPowershellモジュールで、AzureとO365のデータに対して脅威ハンティングプレイブックを実行するものです。 | Kitploit
ツール/GitHubGitHub/darkquasar/azurehunter
情報収集デジタルフォレンジッククラウドセキュリティ脅威インテリジェンスインシデントレスポンスログ分析
GitHubdarkquasar/azurehunter

AzureHunter

クラウドフォレンジックのPowershellモジュールで、AzureとO365のデータに対して脅威ハンティングプレイブックを実行するものです。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

azurehunter-logo

Azure および O365 のデータに対し、クラウドフォレンジック目的で脅威ハンティングプレイブックを実行するための Powershell モジュールです。

ko-fi

CI PS Gallery Coverage Status Documentation Status azurehunter-demo-gif

始め方

1. 適切な O365 権限があることを確認する

UnifiedAuditLog への読み取り専用アクセスを可能にするには、Exchange Online で次のロールが必要です: View-Only Audit Logs または Audit Logs。

これらのロールは、Exchange Admin Center の Compliance Management ロールグループにデフォルトで割り当てられています。

注: あなたがセキュリティアナリスト、インシデントレスポンダー、または脅威ハンターであり、所属組織がこれらの監査ログへの読み取り専用アクセスを提供していない場合、その組織の検知および対応戦略を真剣に疑問視する必要があります。

詳細情報:

  • GUI を使用して監査ログを検索する方法
  • Exchange Online でのロールグループの管理
  • UnifiedAuditLog を有効にする方法

注: 管理者は、Azure テナントのクラウドシェルまたは Azure に接続したローカルの PowerShell インスタンスで Get-ManagementRoleEntry "*\Search-UnifiedAuditLog" を実行することで、これらの要件を確認できます。

2. ExchangeOnlineManagement v2 PowerShell モジュールがインストールされていることを確認する

ExchangeOnlineManagement (EXOv2) がインストールされていることを確認してください。インストール手順は Web で見つけるか、the soc analyst scrolls にある私の小さな KB に直接アクセスしてください。

3. リポジトリをクローンするか、PSGallery から AzureHunter をインストールする

3.1 リポジトリのクローン

  1. このリポジトリをクローンします
  2. モジュールをインポートします: Import-Module .\source\AzureHunter.psd1

3.2 PSGallery から AzureHunter をインストールする

必要な操作は次のとおりです:

root@kitploit:~
Install-Module AzureHunter -Scope CurrentUser
Import-Module AzureHunter

UnifiedAuditLog とは何か?

統合監査ログには、Microsoft 365 管理センターまたは Azure 管理ポータルで実行されたユーザー、グループ、アプリケーション、ドメイン、およびディレクトリのアクティビティが含まれます。Azure AD イベントの完全なリストについては、RecordTypes のリストを参照してください。

UnifiedAuditLog は、ExchangeItems、SharePoint、Azure AD、OneDrive、データガバナンス、データ損失防止、Windows Defender アラートと検疫イベント、Microsoft Defender for Office 365 の脅威インテリジェンスイベントなど、多種多様なクラウド操作に関する豊富なデータを含んでいるため、クラウドフォレンジック情報の優れたソースです。そしてそのリストは続きます!

AzureHunter データ整合性チェック

AzureHunter は、Azure および O365 監査ログから最大のログ密度をマイニングおよびエクスポートするための有用なロジックを実装しています。これを実現するために、各サイクル(バッチ)で2つの異なる操作を実行します:

  1. 自動ウィンドウ時間短縮: このチェックにより、ResultSizeUpperThreshold パラメータ(デフォルトは20k)に基づいて、時間間隔が最適な間隔に短縮されます。つまり、指定した TimeInterval 内で返されたログの量が ResultSizeUpperThreshold より多い場合、自動調整が行われます。
  2. 逐次データチェック: 返されたレコードインデックスは順次有効ですか?

azurehunter-logical-consistency-checks

使用方法

ExchangeOnline に接続することを確認する

AzureHunter コマンドを実行する前に、Connect-ExchangeOnline を実行することをお勧めします。プログラムはアクティブなリモートセッションをチェックし、接続を試みますが、PowerShell のバージョンによってはこれが許可されず、自分で行う必要があります。

AzureHunter を実行する

AzureHunter には2つの主要なコマンドがあります: Search-AzureCloudUnifiedLog と Invoke-AzHunterPlaybook です。

Search-AzureCloudUnifiedLog の目的は、Azure からUnifiedAuditLog レコードの最大割合をマイニングするための複雑なロジックを実装することです。デフォルトでは、抽出および重複排除されたレコードを CSV ファイルにエクスポートします。

Invoke-AzHunterPlaybook の目的は、playbooks フォルダに保存されたハンティングプレイブックへの柔軟なインターフェースを提供することです。これらのプレイブックは、誰でも独自の分析やアイデアを貢献できるように設計されています。これまでのところ、非常にシンプルな2つのプレイブックのみが開発されています: AzHunter.Playbook.Exporter と AzHunter.Playbook.LogonAnalyser です。Exporter は、データに重複排除とソート操作を適用した後にレコードをエクスポートします。LogonAnalyser はベータモードで、Operations プロパティが UserLoggedIn であるイベントを抽出します。これはプレイブックで何ができるか、そしてプレイブックを簡単に構築する方法の例です。

Search-AzureCloudUnifiedLog を実行するとき、ログバッチごとに実行するプレイブックのリストを渡すことができます。Search-AzureCloudUnifiedLog は、Invoke-AzHunterPlaybook を介してバッチをプレイブックに渡します。

最後に、Invoke-AzHunterPlaybook はスタンドアロンで使用することもできます。UnifiedAuditLog レコードのエクスポートがある場合は、それらを PowerShell 配列に読み込み、このコマンドに渡して関連するプレイブックを指定できます。

例1 | Azure UnifiedAuditLog で検索を実行し、レコードを CSV ファイルに抽出する(デフォルトの動作)

root@kitploit:~
Search-AzureCloudUnifiedLog -StartDate "2020-03-06T10:00:00" -EndDate "2020-06-09T12:40:00" -TimeInterval 12 -AggregatedResultsFlushSize 5000 -Verbose

このコマンドは:

  • StartDate と EndDate の間のデータを検索します
  • これらの日付の間に12時間のウィンドウを実装し、時間間隔全体(StartDate → EndDate)をスイープするために使用されます。このウィンドウは自動的に短縮および調整され、ウィンドウ内で最大数のレコードを提供し、出力の品質を高めます。時間ウィンドウは EndDate に達するまで順次スライドします。
  • AggregatedResultsFlushSize パラメータは、ダウンストリームのプレイブックによって処理されるレコードのバッチを指定します。ここでは AzureHunter に、合計数が 5000 に達したらレコードのバッチを処理するように指示しています。これにより、何時間も待ってから巨大なレコード範囲を CSV ファイルにエクスポートする必要なく、結果を即座に取得できます。

例2 | CSV ファイルでハンティングプレイブックを実行する

UnifiedAuditLog レコードを CSV ファイルにエクスポートしたと仮定すると、次のように実行できます:

root@kitploit:~
$RecordArray = Import-Csv .\my-exported-records.csv
Invoke-AzHunterPlaybook -Records $RecordArray -Playbooks 'AzHunter.Playbook.UAL.LogonAnalyser'

カンマで区切ることで複数のプレイブックを実行できます。これらは順次実行されます:

root@kitploit:~
$RecordArray = Import-Csv .\my-exported-records.csv
Invoke-AzHunterPlaybook -Records $RecordArray -Playbooks 'AzHunter.Playbook.UAL.Exporter', 'AzHunter.Playbook.UAL.LogonAnalyser'

例3 | クリーンな eDiscovery サマリーレポートを生成するためにハンティングプレイブックを実行する

eDiscovery サマリーレポートを CSV ファイルにエクスポートしたと仮定すると、次のように実行できます:

root@kitploit:~
$eDiscoReportFile = .\eDisco-Summary-Report-PersonOfInterest.csv
Invoke-AzHunterPlaybook -Records $eDiscoReportFile -Playbooks 'AzHunter.Playbook.eDisco.SummaryReportCleaner'

必要に応じて、次のようにプレイブックにパラメータを渡すこともできます:

root@kitploit:~
$eDiscoReportFile = .\eDisco-Summary-Report-PersonOfInterest.csv
Invoke-AzHunterPlaybook -Records $eDiscoReportFile -Playbooks 'AzHunter.Playbook.eDisco.SummaryReportCleaner' -PlayBookParameters @{"CsvRecordsBatchSize" = 700}

パラメータ "CsvRecordsBatchSize" は、プレイブックに700レコードのバッチでレコードをディスクにフラッシュするよう指示します。

なぜか?

SolarWinds サプライチェーン侵害の余波以降、サイバーフォレンジックの深い鍛冶場から、サイバー・ブラックスミス・ニンジャたちによって慎重に開発された多くのツールが登場しました。これらのツールは通常、Azure でのクラウドフォレンジックを支援します。AzureHunter の意図は、この混雑したスペースにさらにノイズを加えることではありません。しかし、私はこの分野のいくつかのツールで観察したギャップに対処する必要性を感じました(ただし、多数のツールが存在し、すべてを知っているわけではないので、間違っているかもしれません...):

  1. Azure クラウドフォレンジックツールは、通常、UnifiedAuditLog の Powershell API の複雑さに対処していません。この API は、大量のデータをエクスポートする際に非常に不安定で一貫性がありません。私は、これらの問題のいくつかに対処する、十分にフォールトトレラントなインターフェースを開発し、UnifiedAuditLog のみに焦点を当てたいと考えました。これは、ユーザー、アプリケーション、サービスにとって最も関連性が高く詳細なアクティビティログを含む Azure アーティファクトだからです。
  2. Azure クラウドフォレンジックツールは、通常、拡張可能な Playbooks の開発に重点を置いていません。私は、コミュニティが同じデータからさまざまな種類の意味を抽出するための新しいプレイブックを作成および共有するのに役立つシンプルなフレームワークを考案したいと考えました。

ただし、より機能豊富で成熟した Azure クラウドフォレンジックアプリケーションをお探しの場合は、以下のアプリケーションを作成したサイバーセキュリティ専門家による素晴らしい成果をチェックすることをお勧めします:

  • CISA の Sparrow
  • HAWK
  • CrowdStrike Reporting Tool for Azure CRT

他にも多くのツールがあると思いますが、これらは私が思いついたものです。さらに提案があればお知らせください。

なぜ Powershell なのか?

  1. 車輪の再発明をしたくなかった
  2. 確かに Azure の UnifiedAuditLog への Powershell インターフェースは不安定ですが、時間対効果の観点から、.NET、Golang、Python などの言語で完全に新しいインターフェースを書いて同じ目標を達成するには膨大な時間がかかったでしょう。その間、サイバー防御と対応の世界は待ってはくれません!

TODO

  • AzureHunter が活用できるように、プレイブックに必要な標準のプレイブックメタデータ属性を指定する。
  • プレイブックが他のプレイブックへの依存関係を指定できるようにし、一方を他方の前に実行する必要があるようにする。プレイブックチェーンは興味深い結果を生み出し、コードの重複を避けることができる。
  • Pester テストと Coveralls 結果を開発する。
  • ReadTheDocs でドキュメントを開発する。
  • SIGMA ルール標準でのプレイブックの指定を可能にする(これには SIGMA リポジトリへの PR が必要になる可能性あり)。

詳細情報

詳細については以下をご覧ください:

  • AzureHunter.readthedocs.io
  • github.com/darkquasar/AzureHunter
  • ThreatHunterz.com

謝辞とサポーター

このプロジェクトや他のオープンソースプロジェクトを支援してくださるすべての方々に感謝します!皆さんは、私のような人間がサイバーウォリアーの道を歩み、コミュニティに高品質なツールクラフトを届ける手助けをしてくれています :)

クレジット

  • アイコンは www.flaticon.com の itim2101 によって作成されました。
ツールをダウンロード