Releases: Yamato-Security/hayabusa
v1.4.2 🦅
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 fromRulePath
toRuleFile
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 🦅
Changes
🦅 Enhancements:
- When no
details
field is defined in a rule nor in./rules/config/default_details.txt
, all fields will be outputted to thedetails
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 inrules/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
andtarget_event_IDs.txt
have been moved from theconfig
directory to therules/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.txt
、statistics_event_info.txt
、target_event_IDs.txt
を更新できるように、config
ディレクトリからrules/config
ディレクトリに移動した。
v1.4.0 🦅
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 theirstatus
. (#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 nodetails
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 fixExcluded 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 🦅
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 🦅
🦅 New Features:
- You can now specify specific fields when there are multiple fields with the same name (Ex:
Data
). In thedetails
line in a rule, specify a placeholder like%Data[1]%
to display the firstData
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 🦅
🦅 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 theMitreAttack
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 asn/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 inchannel_abbrevations.txt
. (#553) (@hitenkoku) - Display separately
Ignored rules
toExclude rules
,Noisy rules
, andDeprecated 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 rules
、Noisy rules
、Deprecated rules
に分けて表示するようにした。 (#556) (@hitenkoku)output
オプションが指定されているときに、ファイル出力中のメッセージを表示するようにした。 (#561) (@hitenkoku)
🐛 バグ修正:
--start-timeline
、--end-timeline
オプションが動かなかったのを修正した。 (#546) (@hitenkoku)- ルール内の
level
が正しくない場合に検知数が最も多い日の集計の際にcrashが起きるのを修正した。 (#560) (@hitenkoku)
v1.2.2 🦅
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 🦅
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 🦅
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 defaultrules/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'sdetails
. (@hach1yon)--level-tuning
option: You can tune the risklevel
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 tostatistics_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 🦅
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)