Skip to content

Releases: Yamato-Security/hayabusa

v2.3.1 🦅

18 Mar 11:49
996c919
Compare
Choose a tag to compare

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 🦅

16 Mar 12:26
0bbcf81
Compare
Choose a tag to compare

v2.3.0 "TMCIT Release"

🦅 New Features:

  • Added support for |cidr. (#961) (@fukusuket)
  • Added support for 1 of selection* and all of selection*. (#957) (@fukusuket)
  • Added support for the |contains|all pipe keyword. (#945) (@hitenkoku)
  • Added the --enable-unsupported-rules option to enable rules marked as unsupported. (#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 the metrics 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 🦅

22 Feb 10:28
387a43f
Compare
Choose a tag to compare

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 to rules/config/provider_abbreviations.txt and rules/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 the json-output command. (#940) (@hitenkoku)

🐛 Bug Fixes:

  • The first and last timestamps in the logon-summary and metrics 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-summarymetricsコマンドに時刻表示のオプションを追加した. (#938) (@hitenkoku)
  • json-outputコマンドで--outputで出力される結果に\r\n\tを出力するようにした。 (#940) (@hitenkoku)

🐛バグ修正:

  • logon-summarymetricsコマンドで、最初と最後のタイムスタンプが出力されない不具合を修正した。 (#920) (@hitenkoku)
  • metricsコマンドで全てのイベントのタイトルが表示されない問題を修正した。 (#933) (@hitenkoku)

v2.2.0 🦅

11 Feb 14:44
7e5e358
Compare
Choose a tag to compare

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) for logon-summary, metrics and pivot-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 🦅

09 Jan 09:52
1ff556f
Compare
Choose a tag to compare

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 🦅

09 Jan 09:49
8cf9625
Compare
Choose a tag to compare

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 🦅

24 Dec 02:20
86056a9
Compare
Choose a tag to compare

Changes

🦅 New Features:

  • Command usage and help menu are now done by subcommands. (#656) (@hitenkoku)

変更点

🦅 新機能:

  • コマンドの使用方法とヘルプメニューはサブコマンドで行うようにした。 (#656) (@hitenkoku)

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)