8.2 KiB
Hayabusa
Hayabusaは非常に高速なWindowsイベントアナライザで、フォレンジックタイムラインの作成や、HayabusaまたはSIGMAルールで記述されたIoCに基づいた脅威のハンティングを行うために使用されます。ライブでもオフラインでも実行でき、インシデント後に企業内のエンドポイントで実行されるエージェントとしてプッシュアウトしたり、slackで定期的にアラートを報告することもできます。
Hayabusaについて
Hayabusaは日本のYamato Securityグループによって書かれました。最初にDeepblueCLI Windowsイベントログアナライザに触発され、2020年にRustyBlueプロジェクトのためにRustに移植することから始まり、SIGMAのようなYAMLベースの柔軟なシグネチャを作成し、SIGMAのルールをhayabusaのルールに変換することをサポートするためにSIGMAにバックエンドを追加しました。マルチスレッドをサポートし、(我々の知る限り)現在最速のフォレンジックタイムラインジェネレータと脅威探索ツールであり、SIGMAの最も多くの機能をサポートしています。複数のWindowsイベントログを分析し、分析しやすいように結果を一つのタイムラインに集約することができます。また、CSV形式で出力されるので、Timeline ExplorerやExcelなどのツールに取り込んで分析することができます。
スクリーンショット
screenshotを入れる
機能
- 複数のOSに対応: Windows, Linux, macOS (Intel + ARM)
- ハヤブサよりも速い!
- 英語と日本語に対応
- マルチスレッド
- エンタプライズ向けのインシデント対応やヘルスチェックのためのSlackへのアラート通知
- フォレンジック調査用のイベントタイムライン作成
- 作成・編集しやすいYAML形式のhayabusaルールでIoCシグネチャーを作成し、攻撃検知(スレットハンティング)を行う
- SIGMAルールをhayabusaルールに自動変換
- イベントログの集計(どのようなイベントがあるかを把握するためやログ設定のチューニングに便利)
ダウンロード
Releasesからコンパイル済みの実行ファイルをダウンロードできます。
使い方
コマンドラインオプション
USAGE:
hayabusa.exe [FLAGS] [OPTIONS]
FLAGS:
--credits コントリビューターの一覧表示
-h, --help ヘルプ画面の表示
--rfc-2822 日付と時間をRFC 2822形式で表示する。例: Mon, 07 Aug 2006 12:34:56 -0600
--slack Slackへの通知
-s, --statistics イベントログの集計
-u, --utc 時間をUTCで出力する(デフォルトはローカル時間)
-V, --version バージョン情報を出力する
OPTIONS:
--csv-timeline <CSV_TIMELINE> タイムラインをCSVに保存する
-d, --directory <DIRECTORY> イベントログファイルが入っているディレクトリ
-f, --filepath <FILEPATH> イベントファイルのパス
--human-readable-timeline <HUMAN_READABLE_TIMELINE> 読みやすいタイミングを出力
-l, --lang <LANG> 出力する言語
-t, --threadnum <NUM> スレッド数(デフォルトではCPUコア数)
使い方の例
- Windowsイベントログを一つ指定する:
hayabusa.exe --filepath=eventlog.evtx
- Windowsイベントログが格納されているフォルダを指定する:
hayabusa.exe --directory=.\evtx
- 結果をCSVファイルに出力する:
hayabusa.exe --directory=.\evtx --csv-timeline kekka.csv
ルールファイル
HayabusaではWindowsEventログを検知するルールをYAML形式で定義します。
ルールの記載方法についてはAboutRuleCreation-Japanese.mdを参照してください。
ルールファイルはrulesフォルダ内に設置します。 rulesフォルダには組み込みルールファイルも設置されていますので、参考にしてください。
ソースコードからのコンパイル
下記のコマンドでビルドできます。
cargo build --release
Slackチャンネルへの通知
Slackチャンネルへの通知にはSlackでのWEBHOOKURLの設定と実行マシンの環境変数(WEBHOOKURL、CHANNEL)への追加が必要です。
- 通知先のSlackのワークスペースに対して「Incoming Webhook」をSlackに追加してください。
- 「チャンネルへの投稿」で投稿するチャンネルを選択し 「Incoming Webhookインテグレーションの追加」をクリックします。
- 遷移後のぺージの「Webhook URL」の内容(https:hooks.slack.com/services/xxx...)を環境変数の
WEBHOOK_URLに代入してください。 - 投入するchannelを#付きで環境変数の
CHANNELに代入してください。 - 以下のコマンドで実行をするとCHANNELで指定したチャンネルに検知情報の通知が送付されます。
hayabusa.exe --slack
関連するWindowsイベントログのスレットハンティングプロジェクト
まだ完璧なWindowsイベントログ解析ツールは存在していなくて、それぞれ長所短所があるので、以下のツールとプロジェクトもチェックして、好きなツールを使ってくださいね!
- APT-Hunter - Pythonで書かれた攻撃検知ツール。
- Chainsaw - 他のRustで書かれたSIGMAベースの攻撃検知ツール。
- DeepBlueCLI Powershellで書かれた攻撃検知ツール。
- EvtxToElk - EvtxデータをElastic Stackにインポートするツール。
- EVTX ATTACK Samples - 攻撃の痕跡が入っているEVTXサンプルファイルのリポジトリ。作者:SBousseaden。
- EVTX-to-MITRE-Attack - もう一つの素晴らしい攻撃の痕跡が入っているEVTXサンプルファイルのリポジトリ。攻撃はMITE ATT&CKにマッピングされている。
- EVTXパーサ - Hayabusaが使っているRustライブラリ。作者:@OBenamram。
- LogonTracer - 横展開を検知するためのEVTX可視化ツール。作者:JPCERTCC。
- RustyBlue - DeepBlueCLIをRustに書き換えたツール。
- [SIGMA](SIGMA: https://github.com/SigmaHQ/sigma) - SIEM等のジェネリックな攻撃検知ルール。
- so-import-evtx - evtxファイルをSecurity Onionにインポートするコマンド。
- Timeline Explorer - CSV形式のタイムラインの最高な解析ツール。作者:Eric Zimmerman。
- Zircolite - Pythonで書かれたSIGMAベースの攻撃検知ツール。
ライセンス
HayabusaのライセンスはGPLv3で、ルールはすべてDetection Rule License (DRL) 1.1でリリースしています。
貢献
コントリビューターは大募集中です!プルリクエストやルール作成が一番ですが、機能リクエストやバグのお知らせなども大歓迎です。
hayabusaを気に入って頂けたら、Githubで星をつけて応援してくださいね!
