Releases: Yamato-Security/hayabusa
Releases · Yamato-Security/hayabusa
v2.3.1 🦅
v2.3.1 "TMCIT Release-2"
🦅 Enhancements:
- Added double quotes in CSV fields of
csv-timeline
output to support multiple lines in fields. (#965) (@hitenkoku) - Updated
logon-summary
headers. (#964) (@YamatoSecurity) - Added short-hand option
-D
for--enable-deprecated-rules
and-u
for--enable-unsupported-rules
. (@YamatoSecurity) - Reordered option in Filtering and changed option help contents. (#969) (@hitenkoku)
🐛 Bug Fixes:
- Fixed a crash when the
update-rules
command was executed on version 2.3.0. (#965) (@hitenkoku) - Fixed long underlines displayed in the help menu in Command Prompt and PowerShell prompt. (#911) (@YamatoSecurity)
変更点
🦅 改善:
csv-timeline
の出力のフィールドでダブルクォートを追加した。 (#965) (@hitenkoku)logon-summary
の見出しを更新した。 (#964) (@YamatoSecurity)--enable-deprecated-rules
の-D
ショートオプションと--enable-unsupported-rules
の-u
ショートオプションを追加した。(@YamatoSecurity)- Filteringセクションのオプションの表示順とヘルプの表示内容を修正した。 (#969) (@hitenkoku)
🐛バグ修正:
- v2.3.0にて
update-rules
コマンド実行時にクラッシュする問題を修正した。 (#965) (@hitenkoku) - コマンドプロンプトとPowerShellプロンプトではヘルプメニューのタイトルに長いアンダーバーが表示されていた問題が修正された。 (#911) (@YamatoSecurity)
v2.3.0 🦅
v2.3.0 "TMCIT Release"
🦅 New Features:
- Added support for
|cidr
. (#961) (@fukusuket) - Added support for
1 of selection*
andall of selection*
. (#957) (@fukusuket) - Added support for the
|contains|all
pipe keyword. (#945) (@hitenkoku) - Added the
--enable-unsupported-rules
option to enable rules marked asunsupported
. (#949) (@hitenkoku)
🦅 Enhancements:
- Approximately 2-3% speed increase and memory usage reduction by improving string contains check. (#947) (@hitenkoku)
🐛 Bug Fixes:
- Some event titles would be displayed as
Unknown
in themetrics
command even if they were defined. (#943) (@hitenkoku)
変更点
🦅 新機能:
- 新たなパイプキーワードの
|cidr
に対応した。 (#961) (@fukusuket) - 新たなキーワードの
1 of selection*
とall of selection*
に対応した。 (#957) (@fukusuket) - 新たなパイプキーワードの
|contains|all
に対応した。 (#945) (@hitenkoku) - ステータスが
unsupported
となっているルールの件数を表示した。ステータスunsupported
のルールも検知対象とするオプションとして--enable-supported-rules
オプションを追加した。 (#949) (@hitenkoku)
🦅 改善:
- 文字列が含まれているかの確認処理を改善することで約2-3%の速度改善をした。(#947) (@hitenkoku)
🐛バグ修正:
- 一部のイベントタイトルが定義されていても、
metrics
コマンドでUnknown
と表示されることがあった。 (#943) (@hitenkoku)
v2.2.2 🦅
v2.2.2 "Ninja Day Release"
🦅 New Features:
- Added support for the
|base64offset|contains
pipe keyword. (#705) (@hitenkoku)
🦅 Enhancements:
- Reorganized the grouping of command line options. (#918) (@hitenkoku)
- Reduced memory usage by approximately 75% when reading JSONL formatted logs. (#921) (@fukusuket)
- Channel names are now further abbreviated in the metrics, json-timeline, csv-timeline commands according to
rules/config/generic_abbreviations.txt
. (#923) (@hitenkoku) - Reduced parsing errors by updating the evtx crate. (@YamatoSecurity)
- Provider names (
%Provider%
field) are now abbreviated like channel names according torules/config/provider_abbreviations.txt
andrules/config/generic_abbreviations.txt
. (#932) (@hitenkoku) - Print the first and last timestamps in the metrics command when the
-d
directory option is used. (#935) (@hitenkoku) - Added first and last timestamp to Results Summary. (#938) (@hitenkoku)
- Added Time Format options for
logon-summary
,metrics
commands. (#938) (@hitenkoku) \r
,\n
, and\t
characters are preserved (not converted to spaces) when saving results with thejson-output
command. (#940) (@hitenkoku)
🐛 Bug Fixes:
- The first and last timestamps in the
logon-summary
andmetrics
commands were blank. (#920) (@hitenkoku) - Event titles stopped being shown in the
metrics
command during development of 2.2.2. (#933) (@hitenkoku)
変更点
🦅 新機能:
- 新たなパイプキーワード(
|base64offset|contains
)に対応した。 (#705) (@hitenkoku)
🦅 改善:
- オプションのグループ分けを再修正した。(#918)(@hitenkoku)
- JSONL形式のログを読み込む際のメモリ使用量を約75%削減した。 (#921) (@fukusuket)
rules/config/generic_abbreviations.txt
によってチャンネル名の一般的な単語名を省略する機能をmetrics、json-timeline、csv-timelineに追加した。 (#923) (@hitenkoku)- evtxクレートを更新することにより、パースエラーを減少させた。 (@YamatoSecurity)
- Provider名(
%Provider%
)のフィールドに対する出力文字の省略機能を追加した。 (#932) (@hitenkoku) metrics
コマンドで-d
オプションが指定されたときに最初と最後のイベントのタイムスタンプを表示する機能を追加した。 (#935) (@hitenkoku)- 結果概要に最初と最後のイベントのタイムスタンプを表示した。 (#938) (@hitenkoku)
logon-summary
とmetrics
コマンドに時刻表示のオプションを追加した. (#938) (@hitenkoku)json-output
コマンドで--output
で出力される結果に\r
、\n
、\t
を出力するようにした。 (#940) (@hitenkoku)
🐛バグ修正:
logon-summary
とmetrics
コマンドで、最初と最後のタイムスタンプが出力されない不具合を修正した。 (#920) (@hitenkoku)metrics
コマンドで全てのイベントのタイトルが表示されない問題を修正した。 (#933) (@hitenkoku)
v2.2.0 🦅
v2.2.0 "SECCON Release"
🦅 New Features:
- Added support for input of JSON-formatted event logs (
-J, --JSON-input
). (#386) (@hitenkoku) - Log enrichment by outputting the ASN organization, city and country of source and destination IP addresses based on MaxMind GeoIP databases (
-G, --GeoIP
). (#879) (@hitenkoku) - Added the
-e, --exact-level
option to scan for only specific rule levels. (#899) (@hitenkoku)
🦅 Enhancements:
- Added the executed command line to the HTML report. (#877) (@hitenkoku)
- Approximately 3% speed increase and memory usage reduction by performing exact string matching on Event IDs. (#882) (@fukusuket)
- Approximately 14% speed increase and memory usage reduction by filtering before regex usage. (#883) (@fukusuket)
- Approximately 8% speed increase and memory usage reduction by case-insensitive comparisons instead of regex usage. (#884) (@fukusuket)
- Approximately 5% speed increase and memory usage reduction by reducing regex usage in wildcard expressions. (#890) (@fukusuket)
- Further speed increase and memory usage reduction by removing unnecessary regex usage. (#894) (@fukusuket)
- Approximately 3% speed increase and 10% memory usage reduction by reducing regex usage. (#898) (@fukuseket)
- Improved
-T, --visualize-timeline
by increasing the height of the markers to make it easier to read. (#902) (@hitenkoku) - Reduced memory usage by approximately 50% when reading JSON/L formatted logs. (#906) (@fukusuket)
- Alphabetically sorted options based on their long names. (#904) (@hitenkoku)
- Added JSON input support (
-J, --JSON-input
option) forlogon-summary
,metrics
andpivot-keywords-list
commands. (#908) (@hitenkoku)
🐛 Bug Fixes:
- Fixed a bug when rules with 4 consecutive backslashes in their conditions would not be detected. (#897) (@fukusuket)
- When parsing PowerShell EID 4103, the
Payload
field would be separated into multiple fields when outputting to JSON. (#895) (@hitenkoku) - Fixed a crash when looking up event log file size. (#914) (@hitenkoku)
Vulnerability Fixes:
- Updated the git2 and gitlib2 crates to prevent a possible SSH MITM attack (CVE-2023-22742) when updating rules and config files. (#888) (@YamatoSecurity)
変更点
🦅 新機能:
- JSON形式のイベントログファイルの入力(
-J, --JSON-input
)に対応した。 (#386) (@hitenkoku) - MaxMindのGeoIPデータベースに基づき、送信元および送信先IPアドレスのASN組織、都市、国を出力することによるログエンリッチメント(
-G, --GeoIP
)を実現した。 (#879) (@hitenkoku) -e, --exact-level
オプションで指定したレベルに対する結果のみを取得する機能を追加した。 (#899) (@hitenkoku)
🦅 改善:
- HTMLレポートの出力に実行したコマンドラインを追加した。 (#877) (@hitenkoku)
- イベントIDの完全比較を行うことで、約3%の速度向上とメモリ使用量の削減を実現した。 (#882) (@fukusuket)
- 正規表現使用前のフィルタリングにより、約14%の速度向上とメモリ使用量の削減を実現した。 (#883) (@fukusuket)
- 正規表現ではなく大文字小文字を区別しない比較により、約8%の速度向上とメモリ使用量の削減を実現した。 (#884) (@fukusuket)
- ワイルドカード表現における正規表現の使用量を削減することで、約5%の速度向上とメモリ使用量の削減を実現した。 (#890) (@fukusuket)
- 正規表現の使用を避けることで、さらなる高速化とメモリ使用量の削減を実現した。 (#894) (@fukusuket)
- 正規表現の使用量を減らすことで、約3%の速度向上と約10%のメモリ使用量削減を実現した。 (#898) (@fukuseket)
- ライブラリの更新によって
-T, --visualize-timeline
の出力を複数行にするように変更した。 (#902) (@hitenkoku) - JSON/L形式のログを読み込む際のメモリ使用量を約50%削減した。 (#906) (@fukusuket)
- Longオプションを基にしたオプションの並べ替えを行った。 (#904) (@hitenkoku)
-J, --JSON-input
オプションをlogon-summary
,metrics
,pivot-keywords-list
コマンドに対応させた。 (#908) (@hitenkoku)
🐛バグ修正:
- ルールの条件にバックスラッシュが4つある場合、ルールがマッチしない不具合を修正した。 (#897) (@fukuseket)
- JSON出力では、PowerShell EID 4103をパースする際に
Payload
フィールドが複数のフィールドに分離されるバグを修正した。(#895) (@hitenkoku) - ファイルサイズ取得の際にpanicが発生するのを修正した。 (#914) (@hitenkoku)
脆弱性修正:
- ルールや設定ファイルを更新する際に起こりうるSSH MITM攻撃(CVE-2023-22742)を防ぐため、git2およびgitlib2クレートを更新した。 (#888) (@YamatoSecurity)
v2.1.0 🦅
Changes
🦅 Enhancements:
- Speed improvements. (#847) (@hitenkoku)
- Improved speed by up to 20% by improving I/O processesing. (#858) (@fukusuket)
- The timeline order of detections are now sorted to a fixed order even when the timestamp is identical. (#827) (@hitenkoku)
🐛 Bug Fixes:
- Successful login CSV results were not correctly being outputted when using the logon timeline function. (#849) (@hitenkoku)
- Removed unnecessary line breaks that would occur when using the
-J, --jsonl
option. (#852) (@hitenkoku)
変更点
🦅 改善:
- 速度の改善。 (#847) (@hitenkoku)
- 出力の改善を行うことによる速度の改善。 (#858) (@fukusuket)
- 実行ごとに同じ時間の検知の出力の順番のソートを行っていないのを修正した。 (#827) (@hitenkoku)
🐛バグ修正:
- ログオン情報の出力機能で
--output
を指定したときにログオン成功のcsv出力ができない問題を修正した。 (#849) (@hitenkoku) -J, --jsonl
を指定したときに不要な改行が含まれていたため修正した。 (#852) (@hitenkoku)
v1.9.1 🦅
Changes
🐛 Bug Fixes:
- Successful login CSV results were not correctly being outputted when using the logon timeline function. (#849) (@hitenkoku)
- Removed unnecessary line breaks that would occur when using the
-J, --jsonl
option. (#852) (@hitenkoku)
変更点
🐛バグ修正:
- ログオン情報の出力機能で
--output
を指定したときにログオン成功のcsv出力ができない問題を修正した。 (#849) (@hitenkoku) -J, --jsonl
を指定したときに不要な改行が含まれていたため修正した。 (#852) (@hitenkoku)
v2.0.0 🦅
Changes
🦅 New Features:
- Command usage and help menu are now done by subcommands. (#656) (@hitenkoku)
変更点
🦅 新機能:
- コマンドの使用方法とヘルプメニューはサブコマンドで行うようにした。 (#656) (@hitenkoku)
v1.9.0 🦅
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 🦅
Changes
🦅 Enhancements:
- Specified the minium Rust version
rust-version
field inCargo.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 🦅
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 theAllFieldInfo
field in JSON output to an object. (#750) (@hitenkoku) - Removed
HBFI-
prefix inAllFieldInfo
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)