Skip to content

Releases: Yamato-Security/hayabusa

v1.9.0 🦅

23 Dec 00:44
7389380
Compare
Choose a tag to compare

Changes

🦅 New Features:

  • Added a new pipe keyword. (|endswithfield) (#740) (@hach1yon)
  • Added --debug option to display memory utilization at runtime. (#788) (@fukusuket)

🦅 Enhancements:

  • Updated clap crate package to version 4 and changed the --visualize-timeline short option -V to -T. (#725) (@hitenkoku)
  • Added output of logon types, source computer and source IP address in Logon Summary as well as failed logons. (#835) (@garigariganzy @hitenkoku)
  • Optimized speed and memory usage. (#787) (@fukusuket)
  • Changed output color in eggs ascii art.(#839) (@hitenkoku)
  • Made the --debug option hidden by default. (#841) (@hitenkoku)
  • Added color to the ascii art eggs. (#839) (@hitenkoku)

🐛 Bug Fixes:

  • Fixed a bug where evtx files would not be loaded if run from a command prompt and the directory path was enclosed in double quotes. (#828) (@hitenkoku)
  • Fixed unneeded spaces outputted when there were rule parsing errors. (#829) (@hitenkoku)

変更点

🦅 新機能:

  • 新たなパイプキーワード(|endswithfield)に対応した。 (#740) (@hach1yon)
  • 実行時のメモリ利用率を表示する機能を追加した。--debugオプションで利用可能。 (#788) (@fukusuket)

🦅 改善:

  • Clap Crateパッケージの更新。更新の関係で--visualize-timeline のショートオプションの-V-Tに変更した。 (#725) (@hitenkoku)
  • ログオン情報の出力でログオンタイプ、送信元の端末名とIPアドレス等を出力できるようにした。また、ログオンに失敗の一覧も出力するようにした。 (#835) (@garigariganzy @hitenkoku)
  • 速度とメモリ使用の最適化。 (#787) (@fukusuket)
  • イースターエッグのASCIIアートをカラー出力するようにした。 (#839) (@hitenkoku)
  • --debugオプションをオプションの一覧から非表示にした. (#841) (@hitenkoku)

🐛バグ修正:

  • コマンドプロンプトで-dオプションを設定した際にダブルクォーテーションで囲んだときにevtxファイルの収集ができていないバグを修正した。 (#828) (@hitenkoku)
  • ルールのパースエラーが発生した際に不必要な改行が出力されていたのを修正した。 (#829) (@hitenkoku)

v1.8.1 🦅

21 Nov 00:50
df064ae
Compare
Choose a tag to compare

Changes

🦅 Enhancements:

  • Specified the minium Rust version rust-version field in Cargo.toml to avoid build dependency errors. (#802) (@hitenkoku)
  • Reduced memory usage. (#806) (@fukusuket)
  • Added the support for the %RenderedMessage% field in output profiles which is the rendered message in logs forwarded by WEC. (#760) (@hitenkoku)

🐛 Bug Fixes:

  • Fixed a problem where rules using the Data field were not being detected. (#775) (@hitenkoku)
  • Fixed a problem where the %MitreTags% and %MitreTactics% fields would randomly miss values. (#807) (@fukusuket)

変更点

🦅 改善:

  • インポートしているcrateのRustバージョンによるビルドエラーを回避するためにCargo.tomlにrust-versionを追加した。(#802) (@hitenkoku)
  • メモリ使用の削減。 (#806) (@fukusuket)
  • WEC機能を利用したevtxファイルのレンダーされたメッセージを出力するための%RenderedMessage%フィールドを追加した。 (#760) (@hitenkoku)

🐛バグ修正:

  • Dataフィールドを使ったルールが検知できていない問題を修正した。 (#775) (@hitenkoku)
  • プロファイルの出力で%MitreTags%%MitreTactics% の出力が抜け落ちてしまう問題を修正した。 (#780) (@fukusuket)

v1.8.0 🦅

07 Nov 00:09
6eef550
Compare
Choose a tag to compare

Changes

🦅 New Features:

  • Added the --ISO-8601 output time format option. This good to use when importing to Elastic Stack. It is exactly the same as what is in the original log. (#767) (@hitenkoku)

🦅 Enhancements:

  • Event ID filtering is now turned off by default. Use the -e, --eid-filter option to filter by Event ID. (Will usually be 10%+ faster but with a small chance of false negatives.) (#759) (@hitenkoku)
  • Print an easy to understand error message when a user tries to download new rules with a different user account. (#758) (@fukusuket)
  • Added total and unique detecion count information in the HTML Report. (#762) (@hitenkoku)
  • Removed unnecessary array structure in the JSON output. (#766)(@hitenkoku)
  • Added rule authors (%RuleAuthor%), rule creation date (%RuleCreationDate%), rule modified date (%RuleModifiedDate%), and rule status (%Status%) fields to output profiles. (#761) (@hitenkoku)
  • Changed Details field in JSON output to an object. (#773) (@hitenkoku)
  • Removed build.rs and changed the memory allocator to mimalloc for a speed increase of 20-30% on Intel-based OSes. (#657) (@fukusuket)
  • Replaced %RecordInformation% alias in output profiles to %AllFieldInfo%, and changed the AllFieldInfo field in JSON output to an object. (#750) (@hitenkoku)
  • Removed HBFI- prefix in AllFieldInfo field of json output. (#791) (@hitenkoku)
  • Don't display result summary, etc... when --no-summary option is used. (This is good to use when using as a Velociraptor agent, etc... It will usually be 10% faster.) (#780) (@hitenkoku)
  • Reduced memory usage and improved speed performance. (#778 #790) (@hitenkoku)
  • Don't display Rule Authors list when authors list is empty. (#795) (@hitenkoku)
  • Added rule ID (%RuleID%) and Provider Name (%Provider%) fields to output profiles. (#794) (@hitenkoku)

🐛 Bug Fixes:

  • Fixed rule author unique rule count. (It was displaying one extra.) (#783) (@hitenkoku)

変更点

🦅 新機能:

  • 利用可能な出力プロファイルの一覧を出力する--list-profiles オプションを追加した。 (#746) (@hitenkoku)

🦅 改善:

  • イベントIDによるフィルタリングをデフォルトでは動作しないようにした。イベントIDフィルタを利用するためのオプション-e, --eid-filterを追加した。 (#759) (@hitenkoku)
  • 異なるユーザアカウントで新しいルールをダウンロードしようとしたときに、分かりやすいエラーメッセージを表示する。 (#758) (@fukusuket)
  • 合計およびユニークな検知数の情報をHTMLレポートに追加した。 (#762) (@hitenkoku)
  • JSONの出力の中にある各検知内容のオブジェクトを持つ不要な配列の構造を削除した。 (#766)(@hitenkoku)
  • プロファイルで出力できる情報にルール作成者(%RuleAuthor%)、 ルール作成日(%RuleCreationDate%)、 ルール修正日(%RuleModifiedDate%)、ルールステータス(%Status%)を追加した。 (#761) (@hitenkoku)
  • JSON出力のDetailsフィールドをオブジェクト形式で出力するように変更した。 (#773) (@hitenkoku)
  • build.rsを削除し、メモリアロケータをmimallocに変更した。Intel系OSでは20-30%の速度向上が見込める。 (#657) (@fukusuket)
  • プロファイルの%RecordInformation% エイリアスを %AllFieldInfo% に変更した。 AllFieldInfoフィールドをJSONオブジェクト形式で出力するように変更した。 (#750) (@hitenkoku)
  • AllFieldInfoフィールドのJSONオブジェクト内で利用していたHBFI-プレフィックスを廃止した。 (#791) (@hitenkoku)
  • --no-summary オプションを使用したときに、表示しないルール作者および検知回数の集計を省略した。(Velociraptorエージェントを利用するときに有用です。10%はこのオプションの付与により高速化します) (#780) (@hitenkoku)
  • メモリ使用量を少なくし、処理速度を改善した。 (#778 #790) (@hitenkoku)
  • 検知したルール作者のリストが空の時にルール作者のリストを表示しないように修正した。(#795) (@hitenkoku)
  • プロファイルで出力できる情報にルールID(%RuleID%)、プロバイダー名情報(%Provider%)を追加した。 (#794) (@hitenkoku)

🐛バグ修正:

  • ルール作者数の集計に誤りがあったのを修正した。 (#783) (@hitenkoku)

v1.7.2 🦅

16 Oct 21:50
860d110
Compare
Choose a tag to compare

Changes

🦅 New Features:

  • Added --list-profiles option to print a list of output profiles. (#746) (@hitenkoku)

🦅 Enhancements:

  • Moved the saved file line and shortened the update option output. (#754) (@YamatoSecurity)
  • Limited rule author names of detected alerts to 40 characters. (#751) (@hitenkoku)

🐛 Bug Fixes:

  • Fixed a bug where field information would get moved over in JSON/JSONL output when a drive letter (ex: c:) was in the field. (#748) (@hitenkoku)

変更点

🦅 新機能:

  • 利用可能な出力プロファイルの一覧を出力する--list-profiles オプションを追加した。 (#746) (@hitenkoku)

🦅 改善:

  • 見やすくするためにファイル保存の出力をする位置とupdateオプションの出力を変更した。 (#754) (@YamatoSecurity)
  • 検知したルールの作者名の最大文字数を40文字にした。 (#751) (@hitenkoku)

🐛バグ修正:

  • フィールド内にドライブレター(ex c:)が入っていた場合JSON/JSONL出力機能のフィールドの値がずれてしまっていたバグを修正した。 (#748) (@hitenkoku)

v1.7.1 🦅

10 Oct 06:02
4f02fcb
Compare
Choose a tag to compare

Changes

🦅 Enhancements:

  • Hayabusa now checks Channel and EID information based on rules/config/channel_eid_info.txt to provide more accurate results. (#463) (@garigariganzy)
  • Do not display a message about loading detection rules when using the -M or -L options. (#730) (@hitenkoku)
  • Added a table of rule authors to standard output. (#724) (@hitenkoku)
  • Ignore event records when the channel name is null (ETW events) when scanning and showing EID metrics. (#727) (@hitenkoku)

🐛 Bug Fixes:

  • Fixed a bug where the same Channel and EID would be counted separately with the -M option. (#729) (@hitenkoku)

変更点

🦅 改善:

  • より正確な結果を出力するために、チャンネルとEIDの情報をrules/config/channel_eid_info.txtに基づいてチェックするようにした。 (#463) (@garigariganzy)
  • 検知ルールを利用しないオプション(-M-Lオプション)の時のメッセージの出力内容を修正した。 (#730) (@hitenkoku)
  • 検出したルールの作者名を標準出力に追加した。 (#724) (@hitenkoku)
  • チャンネル情報がnullとなっているレコード(ETWイベント)を検知およびmetricの対象から除外した。 (#727) (@hitenkoku)

🐛バグ修正:

  • mericオプションのEventIDのキー名の数え上げが原因となっていたイベント集計の誤りを修正した。 (#729) (@hitenkoku)

v1.7.0 🦅

29 Sep 00:31
d91fd31
Compare
Choose a tag to compare

Changes

🦅 New Features:

🦅 Enhancements:

  • Changed Event ID Statistics option to Event ID Metrics option. (-s, --statistics -> -M, --metrics) (#706) (@hitenkoku)
    (Note: statistics_event_info.txt was changed to event_id_info.txt.)
  • Display new version of Hayabusa link when updating rules if there is a newer version. (#710) (@hitenkoku)
  • Added logo in HTML summary output. (#714) (@hitenkoku)
  • Unified output to one table when using -M or -L with the -d option. (#707) (@hitenkoku)
  • Added Channel column to metrics output. (#707) (@hitenkoku)
  • Removed First Timestamp and Last Timestamp of -M and -L option with the -d option. (#707) (@hitenkoku)
  • Added csv output option(-o --output) when -M or -L option is used. (#707) (@hitenkoku)
  • Separated Count and Percent columns in metric output. (#707) (@hitenkoku)
  • Changed output table format of the metric option and logon information crate from prettytable-rs to comfy_table. (#707) (@hitenkoku)
  • Added favicon.png in HTML summary output. (#722) (@hitenkoku)

変更点

🦅 新機能:

🦅 改善:

  • EventID解析のオプションをmetricsオプションに変更した。(旧: -s, --statistics -> 新: -M, --metrics) (#706) (@hitenkoku)
  • ルール更新オプション(-u)を利用したときにHayabusaの新バージョンがないかを確認し、表示するようにした。 (#710) (@hitenkoku)
  • HTMLレポート内にロゴを追加した。 (#714) (@hitenkoku)
  • メトリクスオプション(-M --metrics)もしくはログオン情報(-L --logon-summary)と-dオプションを利用した場合に1つのテーブルで表示されるように修正した。 (#707) (@hitenkoku)
  • メトリクスオプションの結果出力にチャンネル列を追加した。 (#707) (@hitenkoku)
  • メトリクスオプション(-M --metrics)もしくはログオン情報(-L --logon-summary)と-dオプションを利用した場合に「First Timestamp」と「Last Timestamp」の出力を行わないように修正した。 (#707) (@hitenkoku)
  • メトリクスオプションとログオン情報オプションに対してcsv出力機能(-o --output)を追加した。 (#707) (@hitenkoku)
  • メトリクスオプションの出力を検出回数と全体の割合が1つのセルで表示されていた箇所を2つの列に分けた。 (#707) (@hitenkoku)
  • メトリクスオプションとログオン情報の画面出力に利用していたprettytable-rsクレートをcomfy_tableクレートに修正した. (#707) (@hitenkoku)
  • HTMLレポート内にfavicon.pngを追加した。 (#722) (@hitenkoku)

v1.6.0 🦅

16 Sep 08:02
0cc2fed
Compare
Choose a tag to compare

Changes

🦅New Features:

  • You can now save the timeline to JSON files with the -j, --json option. (#654) (@hitenkoku)
  • You can now save the timeline to JSONL files with the -J, --jsonl option. (#694) (@hitenkoku)

🦅Enhancements:

  • Added top alerts to results summary. (#667) (@hitenkoku)
  • Added --no-summary option to not display the results summary. (#672) (@hitenkoku)
  • Made the results summary more compact. (#675 #678) (@hitenkoku)
  • Made Channel field in channel_abbreviations.txt case-insensitive. (#685) (@hitenkoku)
  • Changed pipe separator character in output from | to . (#687) (@hitenkoku)
  • Added color to Saved alerts and events / Total events analyzed. (#690) (@hitenkoku)
  • Updated evtx crate to 0.8.0. (better handling when headers or date values are invalid.)
  • Updated output profiles. (@YamatoSecurity)

🐛Bug Fixes:

  • Hayabusa would crash with -L option (logon summary option). (#674) (@hitenkoku)
  • Hayabusa would continue to scan without the correct config files but now will print and error and gracefully terminate. (#681) (@hitenkoku)
  • Fixed total events from the number of scanned events to actual events in evtx. (#683) (@hitenkoku)

変更点

🦅新機能:

  • 解析結果をJSONに出力する機能(-j, --json)を追加した。 (#654) (@hitenkoku)
  • 解析結果をJSONL形式で出力する機能 (-J, --jsonl )を追加した。 (#694) (@hitenkoku)

🦅改善:

  • 結果概要に各レベルで検知した上位5つのルールを表示するようにした。 (#667) (@hitenkoku)
  • 結果概要を出力しないようにするために --no-summary オプションを追加した。 (#672) (@hitenkoku)
  • 結果概要の表示を短縮させた。 (#675 #678) (@hitenkoku)
  • channel_abbreviations.txtによるChannelフィールドのチェックを大文字小文字の区別をなくした。 (#685) (@hitenkoku)
  • 出力結果の区切り文字を|からに変更した。 (#687) (@hitenkoku)
  • 結果概要の検知数と総イベント数の数に色付けを行い見やすくした。 (#690) (@hitenkoku)
  • evtxクレートを0.8.0にアップデート。(ヘッダーや日付の値が無効な場合の処理が改善された。)
  • 出力プロファイルの更新。(@YamatoSecurity)

🐛バグ修正:

  • ログオン情報の要約オプションを追加した場合に、Hayabusaがクラッシュしていたのを修正した。 (#674) (@hitenkoku)
  • configオプションで指定したルールコンフィグの読み込みができていない問題を修正した。 (#681) (@hitenkoku)
  • 結果概要のtotal eventsで読み込んだレコード数が出力されていたのを、検査対象にしているevtxファイルの実際のレコード数に修正した。 (#683) (@hitenkoku)

v1.5.1 🦅

19 Aug 01:45
2d53023
Compare
Choose a tag to compare

Changes

🦅Enhancements:

  • Re-released v1.5.1 on 2022/08/20 with an updated output profile that is compatible with Timesketch. (#668) (@YamatoSecurity)

🐛 Bug Fixes:

  • Critical, medium and low level alerts were not being displayed in color. (#663) (@fukusuket)
  • Hayabusa would crash when an evtx file specified with -f did not exist. (#664) (@fukusuket)

変更点

🦅改善:

  • TimesketchにインポートできるCSV形式を出力するプロファイルを追加して、v1.5.1を2022/08/20に再リリースした。 (#668) (@YamatoSecurity)

🐛 バグ修正:

  • Critical, medium、lowレベルのアラートはカラーで出力されていなかった。 (#663) (@fukusuket)
  • -fで存在しないevtxファイルが指定された場合は、Hayabusaがクラッシュしていた。 (#664) (@fukusuket)

v1.5.0 🦅

18 Aug 01:54
58a915c
Compare
Choose a tag to compare

Changes

🦅 New Features:

  • Customizable output of fields defined at config/profiles.yaml and config/default_profile.yaml. (#165) (@hitenkoku)
  • Implemented the null keyword for rule detection. It is used to check if a target field exists or not. (#643) (@hitenkoku)

🦅 Enhancements:

🐛 Bug Fixes:

  • Fixed miscalculation of Data Reduction due to aggregation condition rule detection. (#640) (@hitenkoku)
  • Fixed a race condition bug where a few events (around 0.01%) would not be detected. (#639 #660) (@fukusuket)

変更点

🦅 新機能:

  • config/profiles.yamlconfig/default_profile.yamlの設定ファイルで、出力内容をカスタマイズできる。 (#165) (@hitenkoku)
  • 対象のフィールドがレコード内に存在しないことを確認する null キーワードに対応した。 (#643) (@hitenkoku)

🦅改善:

  • ルールのアップデート機能のルールパスの出力から./を削除した。 (#642) (@hitenkoku)
  • MITRE ATT&CK関連のタグとその他タグを出力するための出力用のエイリアスを追加した。 (#637) (@hitenkoku)
  • 結果概要の数値をカンマをつけて見やすくした。 (#649) (@hitenkoku)
  • -hオプションでメニューを使いやすいようにグループ化した。 (#651) (@YamatoSecurity and @hitenkoku)
  • 結果概要内の検知数にパーセント表示を追加した。 (#658) (@hitenkoku)

🐛 バグ修正:

  • aggregation conditionのルール検知が原因で検知しなかったイベント数の集計に誤りがあったので修正した。 (#640) (@hitenkoku)
  • 一部のイベント(0.01%程度)が検出されないレースコンディションの不具合を修正した。 (#639 #660) (@fukusuket)

v1.4.3 🦅

03 Aug 04:39
74f8f01
Compare
Choose a tag to compare

🐛 Bug Fixes:

  • Hayabusa would not run on Windows 11 when the VC redistribute package was not installed but now everything is compiled statically. (#635) (@fukusuket)

🐛 バグ修正:

  • VC再頒布パッケージがインストールされていないWindows 11環境でエラーが発生している状態を修正した。 (#635) (@fukusuket)