Skip to content

Releases: Yamato-Security/hayabusa

v1.4.2 🦅

24 Jul 02:19
66aff63
Compare
Choose a tag to compare

Changes

🦅 Enhancements:

  • You can now update rules to a custom directory by combining the --update-rules and --rules options. (#615) (@hitenkoku)
  • Improved speed with parallel processing by up to 20% with large files. (#479) (@kazuminn)
  • When saving files with -o, the .yml detection rule path column changed from RulePath to RuleFile and only the rule file name will be saved in order to decrease file size. (#623) (@hitenkoku)

🐛 Bug Fixes:

  • Fixed a runtime error when hayabusa is run from a different path than the current directory. (#618) (@hitenkoku)

🦅 改善:

  • --update-rules オプションを利用する時に、更新対象のレポジトリを--rulesオプションで指定できるようにした。 (#615) (@hitenkoku)
  • 並列処理の改善による高速化。 (#479) (@kazuminn)
  • --outputオプションを利用したときのRulePathをRuleFileに変更した。RuleFileは出力するファイルの容量を低減させるためにファイル名のみを出力するようにした。 (#623) (@hitenkoku)

🐛 バグ修正:

  • cargo runコマンドでhayabusaを実行するとconfigフォルダの読み込みエラーが発生する問題を修正した。 (#618) (@hitenkoku)

v1.4.1 🦅

30 Jun 03:02
743344a
Compare
Choose a tag to compare

Changes

🦅 Enhancements:

  • When no details field is defined in a rule nor in ./rules/config/default_details.txt, all fields will be outputted to the details column. (#606) (@hitenkoku)
  • Added the -D, --deep-scan option. Now by default, events are filtered by Event IDs that there are detection rules for defined in rules/config/target_event_IDs.txt. This should improve performance by 25~55% while still detecting almost everything. If you want to do a thorough scan on all events, you can disable the event ID filter with -D, --deep-scan. (#608) (@hitenkoku)
  • channel_abbreviations.txt, statistics_event_info.txt and target_event_IDs.txt have been moved from the config directory to the rules/config directory in order to provide updates with -U, --update-rules.

🦅 改善:

  • ルールや./rules/config/default_details.txt に対応するdetailsの記載がない場合、すべてのフィールド情報を結果の``Details`列に出力するようにした。 (#606) (@hitenkoku)
  • --deep-scanオプションの追加。 このオプションがない場合、config/target_event_ids.txtで指定されたイベントIDのみをスキャン対象とします。 このオプションをつけることですべてのイベントIDをスキャン対象とします。(#608) (@hitenkoku)
  • -U, --update-rulesオプションでchannel_abbreviations.txtstatistics_event_info.txttarget_event_IDs.txtを更新できるように、configディレクトリからrules/configディレクトリに移動した。

v1.4.0 🦅

26 Jun 12:28
efa1731
Compare
Choose a tag to compare

Changes

🦅 New Features:

  • Added --target-file-ext option. You can specify additional file extensions to scan in addtition to the default .evtx files. For example, --target-file-ext evtx_data or multiple extensions with --target-file-ext evtx1 evtx2. (#586) (@hitenkoku)
  • Added --exclude-status option: You can ignore rules based on their status. (#596) (@hitenkoku)

🦅 Enhancements:

  • The zip files with compiled binaries now have the documentation, source code, PDFs, etc.. removed to reduce file size. (@YamatoSecurity)
  • Added default details output based on rules/config/default_details.txt when no details field in a rule is specified. (i.e. Sigma rules) (#359) (@hitenkoku)
  • Updated clap crate package to version 3. (#413) (@hitnekoku)
  • Updated the default usage and help menu. (#387) (@hitenkoku)
  • Hayabusa can be run from any directory, not just from the current directory. (#592) (@hitenkoku)
  • Added saved file size output when output is specified. (#595) (@hitenkoku)

🐛 Bug Fixes:

  • Fixed output error and program termination when long output is displayed with color. (#603) (@hitenkoku)
  • Ignore loading yml files in rules/tools/sigmac/testfiles to fix Excluded rules count. (#602) (@hitenkoku)

変更点

🦅 新機能:

  • --target-file-ext オプションの追加。evtx以外の拡張子を指定する事ができます。ただし、ファイルの中身の形式はevtxファイル形式である必要があります。 (#586) (@hitenkoku)
  • --exclude-status オプションの追加。ルール内のstatusフィールドをもとに、読み込み対象から除外するフィルタを利用することができます。 (#596) (@hitenkoku)

🦅改善:

  • ルール内にdetailsフィールドがないときに、rules/config/default_details.txtに設定されたデフォルトの出力を行えるようにした。 (#359) (@hitenkoku)
  • Clap Crateパッケージの更新 (#413) (@hitenkoku)
  • オプションの指定がないときに、--helpと同じ画面出力を行うように変更した。(#387) (@hitenkoku)
  • hayabusa.exeをカレントワーキングディレクトリ以外から動作できるようにした。 (#592) (@hitenkoku)
  • output オプションで指定されファイルのサイズを出力するようにした。 (#595) (@hitenkoku)

🐛 バグ修正:

  • カラー出力で長い出力があった場合にエラーが出て終了する問題を修正した。 (#603) (@hitenkoku)
  • Excluded rulesの合計でrules/tools/sigmac/testfiles配下のテストルールも入っていたので、無視するようにした。 (#602) (@hitenkoku)

v1.3.2 🦅

13 Jun 04:40
92560e3
Compare
Choose a tag to compare

Changes

🦅 Enhancements

  • Updated the evtx Rust crate from 0.7.2 to 0.7.3 with updated packages to fix various potential bugs. (@YamatoSecurity)

🦅 改善

  • evtxクレートを0.7.2から0.7.3に更新し、パッケージを全部更新した。 (@YamatoSecurity)

※ Linux x64 GNU and macOS (Intel + ARM) binaries are included in the all-platforms zip file.

v1.3.1 🦅

12 Jun 23:33
1796dd1
Compare
Choose a tag to compare

🦅 New Features:

  • You can now specify specific fields when there are multiple fields with the same name (Ex: Data). In the details line in a rule, specify a placeholder like %Data[1]% to display the first Data field. (#487) (@hitenkoku)
  • Added loaded rules status summary. (#583) (@hitenkoku)

🦅 Enhancements:

  • Debug symbols are stripped by default for smaller Linux and macOS binaries. (#568) (@YamatoSecurity)
  • Updated crate packages (@YamatoSecurity)
  • Added new output time format options. (--US-time, --US-military-time, --European-time) (#574) (@hitenkoku)
  • Changed the output time format when --rfc-3339 option is enabled. (#574) (@hitenkoku)
  • Changed the -R / --display-record-id option to -R / --hide-record-id and now by default the event record ID is displayed. You can hide the record ID with -R / --hide-record-id. (#579) (@hitenkoku)
  • Added rule loading message. (#583) (@hitenkoku)

🐛 Bug Fixes:

  • The RecordID and RecordInformation column headers would be shown even if those options were not enabled. (#577) (@hitenkoku)

🦅 新機能:

  • ルール内のdetailsで複数のDataレコードから特定のデータを指定して出力できるようにした。 (#487) (@hitenkoku)
  • 読み込んだルールのステータス情報の要約を追加した。 (#583) (@hitenkoku)

🦅 改善:

  • LinuxとmacOSのバイナリサイズをより小さくするために、デバッグシンボルをストリップします。(#568) (@YamatoSecurity)
  • Crateパッケージの更新 (@YamatoSecurity)
  • 新たな時刻表示のオプションとして--US-time--US-military-time--European-timeの3つを追加した (#574) (@hitenkoku)
  • --rfc-3339 オプションの時刻表示形式を変更した。 (#574) (@hitenkoku)
  • -R/ --display-record-idオプションを-R/ --hide-record-idに変更。レコードIDはデフォルトで出力するようにして-Rオプションを付けた際に表示しないように変更した。(#579) (@hitenkoku)
  • ルール読み込み時のメッセージを追加した。 (#583) (@hitenkoku)

🐛 バグ修正:

  • 対応するオプションを付与していないときにもRecordIDとRecordInformationの列が出力されていたのを修正した。 (#577) (@hitenkoku)

v1.3.0 🦅

06 Jun 01:26
d00737c
Compare
Choose a tag to compare

🦅 New Features:

  • Added -V / --visualize-timeline option: Event Frequency Timeline feature to visualize the number of events. (Note: There needs to be more than 5 events and you need to use a terminal like Windows Terminal, iTerm2, etc... for it to properly render.) (#533, #566) (@hitenkoku)
  • Display all the tags defined in a rule to the MitreAttack column when saving to CSV file with the --all-tags option. (#525) (@hitenkoku)
  • Added the -R / --display-record-id option: Display the event record ID (<Event><System><EventRecordID>). (#548) (@hitenkoku)
  • Display dates with most detections. (#550) (@hitenkoku)
  • Display the top 5 computers with the most unique detections. (#557) (@hitenkoku)

🦅 Enhancements:

  • In the details line in a rule, when a placeholder points to a field that does not exist or there is an incorrect alias mapping, it will be outputted as n/a (not available). (#528) (@hitenkoku)
  • Display total event and data reduction count. (How many and what percent of events were ignored.) (#538) (@hitenkoku)
  • New logo. (#536) (@YamatoSecurity)
  • Display total evtx file size. (#540) (@hitenkoku)
  • Changed logo color. (#537) (@hitenkoku)
  • Display the original Channel name when not specified in channel_abbrevations.txt. (#553) (@hitenkoku)
  • Display separately Ignored rules to Exclude rules, Noisy rules, and Deprecated rules. (#556) (@hitenkoku)
  • Display results messge when output option is set. (#561) (@hitenkoku)

🐛 Bug Fixes:

  • Fixed the --start-timeline and --end-timeline options as they were not working. (#546) @hitenkoku)
  • Fixed crash bug when level in rule is not valid. (#560) (@hitenkoku)

🦅 新機能:

  • --visualize-timelineオプションで検知されたイベントが5つ以上の時、イベント頻度のタイムラインを作成するようにした。 (#533, #566) (@hitenkoku)
  • --all-tagsオプションでルールにある全てのtagsを、outputで指定したcsvのMitreAttackの列に出力するようにした。 (#525) (@hitenkoku)
  • -R / --display-record-id オプションの追加。evtx file内のレコードを特定するレコードID<Event><System><EventRecordID>が出力できるようになった。 (#548) (@hitenkoku)
  • レベルごとの検知数が最も多い日を表示するようにした。 (#550) (@hitenkoku)
  • レベルごとの検知数上位3つのコンピュータ名を表示するようにした。 (#557)(@hitenkoku)

🦅 改善:

  • ルールのdetailsでeventkey_alias.txtやEvent.EventData内に存在しない情報をn/a (not available)と表記するようにした。(#528) (@hitenkoku)
  • 読み込んだイベント数と検知しなかったイベント数を表示するようにした。 (#538) (@hitenkoku)
  • 新しいロゴに変更した。(#536) (@YamatoSecurity)
  • evtxファイルのファイルサイズの合計を出力するようにした。(#540) (@hitenkoku)
  • ロゴの色を変更した (#537) (@hitenkoku)
  • Channelの列にchannel_abbrevations.txtに記載されていないチャンネルも表示するようにした。(#553) (@hitenkoku)
  • Ignored rulesとして集計されていたExclude rulesNoisy rulesDeprecated rulesに分けて表示するようにした。 (#556) (@hitenkoku)
  • outputオプションが指定されているときに、ファイル出力中のメッセージを表示するようにした。 (#561) (@hitenkoku)

🐛 バグ修正:

  • --start-timeline--end-timelineオプションが動かなかったのを修正した。 (#546) (@hitenkoku)
  • ルール内のlevelが正しくない場合に検知数が最も多い日の集計の際にcrashが起きるのを修正した。 (#560) (@hitenkoku)

v1.2.2 🦅

19 May 21:55
cc6a991
Compare
Choose a tag to compare

Hayabusa v1.2.2 Changelog:

🦅 New Features:

  • Added a logon summary feature. (-L / --logon-summary) (@garigariganzy)

🦅 Enhancements:

  • Colored output is now on by default and supports Command and Powershell prompts. (@hitenkoku)

🐛 Bug Fixes:

  • Fixed a bug in the update feature when the rules repository does not exist but the rules folder exists. (#516) (@hitenkoku)
  • Fixed a rule parsing error bug when there were .yml files in a .git folder. (#524) (@hitenkoku)
  • Fixed wrong version number in the 1.2.1 binary.

🦅 新機能:

  • ログオン情報の要約の機能の追加。 (-L / --logon-summary) (@garigariganzy)

🦅 改善:

  • カラー出力はデフォルトで有効になって、コマンドプロンプトとPowerShellプロンプトに対応している。 (@hitenkoku)

🐛 バグ修正:

  • rulesフォルダが存在するが、レポジトリがダウンロードされていない場合は、ルール更新が失敗していたが、修正した。(#516) (@hitenkoku)
  • .gitフォルダ内にあるymlファイルが一部のWindows環境で読み込まれた際にエラーが発生していたが、修正した。(#524)(@hitenkoku)
  • 1.2.1バイナリで表示する誤ったバージョン番号の修正。

v1.2.1 🦅

22 Apr 00:32
1719d6e
Compare
Choose a tag to compare

Changes

New Features:
Added a Channel column to the output based on the ./config/channel_abbreviations.txt config file. (@hitenkoku)

Enhancements:
Rule and rule config files are now forcefully updated. (@hitenkoku)

Bug Fixes:
Rules marked as noisy or excluded would not have their level changed with --level-tuning but now all rules will be checked. (@hitenkoku)

Other:
Moved ./config/level_tuning.txt to ./rules/config/level_tuning.txt

v1.2.0 🦅

15 Apr 07:56
bcf8a33
Compare
Choose a tag to compare

v1.2.0 Black Hat Asia Arsenal 2022

🦅 New Features:

  • Specify config directory (-C / --config): When specifying a different rules directory, the rules config directory will still be the default rules/config, so this option is useful when you want to test rules and their config files in a different directory. (@hitenkoku)
  • |equalsfield aggregator: In order to write rules that compare if two fields are equal or not. (@hach1yon)
  • Pivot keyword list generator feature (-p / --pivot-keywords-list): Will generate a list of keywords to grep for to quickly identify compromised machines, suspicious usernames, files, etc... (@kazuminn)
  • -F / --full-data option: Will output all field information in addition to the fields defined in the rule's details. (@hach1yon)
  • --level-tuning option: You can tune the risk level in hayabusa and sigma rules to your environment. (@itiB and @hitenkoku)

🦅 Enhancements:

  • Updated detection rules and documentation. (@YamatoSecurity)
  • Mac and Linux binaries now statically compile the OpenSSL libraries. (@YamatoSecurity)
  • Performance and accuracy improvement for fields with tabs, etc... in them. (@hach1yon and @hitenkoku)
  • Fields that are not defined in eventkey_alias.txt will automatically be searched in Event.EventData. (@kazuminn and @hitenkoku)
  • When updating rules, the names of new rules as well as the count will be displayed. (@hitenkoku)
  • Removed all Clippy warnings from the source code. (@hitenkoku and @hach1yon)
  • Updated the event ID and title config file (timeline_event_info.txt) and changed the name to statistics_event_info.txt. (@YamatoSecurity and @garigariganzy)
  • 32-bit Hayabusa Windows binaries are now prevented from running on 64-bit Windows as it would cause unexpected results. (@hitenkoku)
  • MITRE ATT&CK tag output can be customized in output_tag.txt. (@hitenkoku)

🐛 Bug Fixes:

  • .yml files in the .git folder would cause parse errors so they are now ignored. (@hitenkoku)
  • Removed unnecessary newline due to loading test file rules. (@hitenkoku)
  • Fixed output stopping in Windows Terminal due a bug in Terminal itself. (@hitenkoku)## v1.2.0 [2022/04/15] Black Hat Asia Arsenal 2022 Preview Release

🦅 新機能:

  • -C / --config オプションの追加。検知ルールのコンフィグを指定することが可能。(Windowsでのライブ調査に便利) (@hitenkoku)
  • |equalsfield と記載することでルール内で二つのフィールドの値が一致するかを記載に対応。 (@hach1yon)
  • -p / --pivot-keywords-list オプションの追加。攻撃されたマシン名や疑わしいユーザ名などの情報をピボットキーワードリストとして出力する。 (@kazuminn)
  • -F / --full-dataオプションの追加。ルールのdetailsで指定されたフィールドだけではなく、全フィールド情報を出力する。(@hach1yon)
  • --level-tuning オプションの追加。ルールの検知ファイルを設定したコンフィグファイルに従って検知レベルをチューニングすることが可能(@itiB@hitenkoku)

🦅改善:

  • 検知ルールとドキュメントの更新。 (@YamatoSecurity)
  • MacとLinuxのバイナリに必要なOpenSSLライブラリを静的コンパイルした。 (@YamatoSecurity)
  • タブ等の文字が含まれたフィールドに対しての検知性能の改善。 (@hach1yon@hitenkoku)
  • eventkey_alias.txt内に定義されていないフィールドをEvent.EventData内を自動で検索することが可能。 (@kazuminn@hitenkoku)
  • 検知ルールの更新時、更新されたルールのファイル名が表示される。 (@hitenkoku)
  • ソースコードにあるClippyの警告を修正。 (@hitenkoku@hach1yon)
  • イベントIDとタイトルが記載されたコンフィグファイルの名前を timeline_event_info.txt から statistics_event_info.txtに変更。 (@YamatoSecurity@garigariganzy)
  • 64bit Windowsで32bit版のバイナリを実行しないように修正(@hitenkoku)
  • MITRE ATT&CKのデータの出力をoutput_tag.txtで修正できるように修正(@hitenkoku)

🐛 バグ修正:

  • .git フォルダ内にある .yml ファイルがパースエラーを引き起こしていた問題の修正。 (@hitenkoku)
  • テスト用のルールファイルの読み込みエラーで不必要な改行が発生していた問題の修正。 (@hitenkoku)
  • Windows Terminalのバグで標準出力が途中で止まる場合がありましたが、Hayabusa側で解決しました。 (@hitenkoku)

v1.1.0 🦅

03 Mar 00:22
db857f8
Compare
Choose a tag to compare

Changes

🦅 New Features:

  • Can specify a single rule with the -r / --rules option. (Great for testing rules!) (@kazuminn)
  • Rule update option (-u / --update-rules): Update to the latest rules in the hayabusa-rules repository. (@hitenkoku)
  • Live analysis option (-l / --live-analysis): Can easily perform live analysis on Windows machines without specifying the Windows event log directory. (@hitenkoku)

🦅 Enhancements:

  • Updated documentation. (@kazuminn , @itiB, @hitenkoku , @YamatoSecurity)
  • Updated rules. (20+ Hayabusa rules, 200+ Sigma rules) (@YamatoSecurity)
  • Windows binaries are now statically compiled so installing Visual C++ Redistributable is not required. (@hitenkoku)
  • Color output (-c / --color) for terminals that support True Color (Windows Terminal, iTerm2, etc...). (@hitenkoku)
  • MITRE ATT&CK tactics are included in the saved CSV output. (@hitenkoku)
  • Performance improvement. (@hitenkoku)
  • Comments added to exclusion and noisy config files. (@kazuminn)
  • Using faster memory allocators (rpmalloc for Windows, jemalloc for macOS and Linux.) (@kazuminn)
  • Updated cargo crates. (@YamatoSecurity)

🐛 Bug Fixes:

  • Made the clap library version static to make cargo update more stable. (@hitenkoku)
  • Some rules were not alerting if there were tabs or carriage returns in the fields. (@hitenkoku)

🦅 Other:

  • Moved the rules to the hayabusa-rules github repository. (@itiB)

🦅 新機能:

  • -r / --rulesオプションで一つのルール指定が可能。(ルールをテストする際に便利!) (@kazuminn)
  • ルール更新オプション (-u / --update-rules): hayabusa-rulesレポジトリにある最新のルールに更新できる。 (@hitenkoku)
  • ライブ調査オプション (-l / --live-analysis): Windowsイベントログディレクトリを指定しないで、楽にWindows端末でライブ調査ができる。(@hitenkoku)

🦅 改善:

  • ドキュメンテーションの更新。 (@kazuminn@itiB@hitenkoku@YamatoSecurity)
  • ルールの更新。(Hayabusaルール: 20個以上、Sigmaルール: 200個以上) (@YamatoSecurity)
  • Windowsバイナリは静的でコンパイルしているので、Visual C++ 再頒布可能パッケージをインストールする必要はない。(@hitenkoku)
  • カラー出力 (-c / --color) True Colorに対応しているターミナル(Windows Terminal、iTerm2等々)ではカラーで出力できる。(@hitenkoku)
  • MITRE ATT&CK戦略が出力される。(@hitenkoku)
  • パフォーマンスの改善。(@hitenkoku)
  • exclude_rules.txtとnoisy_rules.txtの設定ファイルのコメント対応。(@kazuminn)
  • より速いメモリアロケータの利用。 (Windowsの場合はrpmalloc、macOS/Linuxの場合は、jemalloc) (@kazuminn)
  • Cargo crateの更新。 (@YamatoSecurity)

🐛 バグ修正:

  • cargo updateがより安定するために、clapのバージョンを固定した。(@hitenkoku)
  • フィールドのタブや改行がある場合に、ルールが検知しなかったので、修正した。(@hitenkoku)

🦅 その他:

  • ルールをhayabusa-rulesのgithubレポジトリに移動した。(@itiB)