Skip to content

Releases: Yamato-Security/hayabusa

v3.6.0 - Nezamezuki Release

25 Sep 00:19
0f8a7c2

Choose a tag to compare

Anti-Virus False Positives

Warning: You will get false positives from certain anti-virus programs like Windows Defender saying they have detected malicious files. They are detecting on Sigma .yml files that are not executable and just contain certain signatures from malware. They are not malicious. If you are running Hayabusa for live analysis and do not want to cause any anti-virus alerts, be sure to use the live response packages that use encoded Sigma rules.

3.6.0 [2025/09/25] - Nezamezuki Release

Note: "Nezame-zuki" (寝覚月) means the "month where you easily wake up early" (due to the cool autumn weather starting in September)

Enhancements:

  • Event and record IDs with multiple possibilities due to correlation rules are now outputted as empty strings instead of - for easier parsing. (#1694) (@fukusuket)
  • We now output first and last detection timestamps instead of just the first and last timestamps found in the Results Summary of the csv-timeline and json-timeline commands. (#1688) (@fukusuket)
  • The guide on how to import Hayabusa JSONL results into SOF-ELK (Elastic Stack) was updated. (#1091) (@YamatoSecurity)
  • Output an empty string instead of - in the rule's modified date if it is not defined to make importing into a SIEM easier. (#1702) (@YamatoSecurity)
  • Empty fields in rule metadata like RuleModifiedDate, etc... are not outputted to JSON if they are empty in order to make parsing easier and decrease file size. (#1702) (@fukusuket)

Bug Fixes:

  • -T, --visualize-timeline would output incorrect results if -s, --sort was not specified so we now require -s when -T is used. (#1690) (@YamatoSecurity)
  • Records outside the range specified by the time range options (--timeline-start/--timeline-end) were being displayed because we were filtering with the timestamps in the record headers instead of the timestamps in the records themselves. (#1689) (@fukusuket)
  • GeoIP lookup was not working with json-timeline. (#1693) (@fukusuket)
  • The search command would not consistently abbreviate fields. (#1697) (@fukusuket)

アンチウィルスの過検知

注意: Windows Defenderのような一部のアンチウイルス製品が、悪意のあるファイルを検出したと誤検知を出すことがあります。これは実行可能ではない Sigmaの.ymlファイル内にマルウェアのシグネチャに該当する記述が含まれているためであって、当該ファイル自体は悪意のあるものではありません。Hayabusa をライブ調査で実行していてアンチウイルスのアラートを出したくない場合は、Sigmaルールをエンコードしたライブレスポンス用のパッケージを必ず使用してください。

3.6.0 [2025/09/25] - 寝覚月リリース

改善:

  • 相関ルールにより複数の可能性を持つイベントIDおよびレコードIDは、パースしやすくするため、-ではなく空文字列として出力されるようになった。 (#1694) (@fukusuket)
  • csv-timelineおよびjson-timelineコマンドのResults Summaryに表示される最初のタイムスタンプと最後のタイムスタンプの後に、最初と最後の検出のタイムスタンプも出力するようにした。 (#1688) (@fukusuket)
  • SOF-ELK(Elastic Stack)へのHayabusa JSONL結果のインポート方法に関するガイドが更新された。 (#1091) (@YamatoSecurity)
  • ルールの変更日時が定義されていない場合、SIEMへのインポートを容易にするため、-の代わりに空文字列を出力する。 (#1702) (@YamatoSecurity)
  • ルールメタデータ内のRuleModifiedDate等の空フィールドは、パースを容易にしファイルサイズを削減するため、JSONに出力されない。 (#1702) (@fukusuket)

バグ修正:

  • -T, --visualize-timelineは、-s, --sortが指定されていない場合、正しくない結果を出力するため、-Tを使用する際には-sの指定を必須とした。 (#1690) (@YamatoSecurity)
  • レコード自体のタイムスタンプではなく、レコードヘッダー内のタイムスタンプでフィルタリングしていたため、タイムレンジオプション(--timeline-start / --timeline-end)で指定した範囲外のレコードが表示されていた。 (#1689) (@fukusuket)
  • GeoIP検索がjson-timelineで機能していなかった。 (#1693) (@fukusuket)
  • searchコマンドにおける省略形処理は一貫していなかった。(#1697) (@fukusuket)

v3.5.0 - Obon Release

16 Aug 10:09
19334ec

Choose a tag to compare

3.5.0 [2025/08/16] - Obon Release

Enhancements:

改善:*

v3.4.0 - Black Hat Arsenal USA 2025 Release

01 Aug 15:20
dce3a89

Choose a tag to compare

3.4.0 [2025/08/01] - Black Hat Arsenal USA 2025 Release

Enhancements:

  • Field names are now abbreviated in the search command. You can disable with -b, --disable-abbreviations. (#1627) (@hitenkoku)
  • 32-bit version of Hayabusa will now also run on 64-bit OSes. (#1665) (@akkuman)
  • We now put a return character after the last line in JSON/L files so that filebeat will not miss the last event. (#1666) (@fukusuket)

Bug Fixes:

  • Levels would be abbreviated even when --disable-abbreviations was enabled. (#1672) (@fukusuket)

改善:

  • searchコマンドでフィールド名が省略されるようになった。-b, --disable-abbreviationsで無効にできる。 (#1627) (@hitenkoku)
  • 32ビット版のHayabusaが64ビットOSでも動作するようになった。 (#1665) (@akkuman)
  • Filebeatが最後のイベントを見逃さないように、JSON/Lファイルの最終行の後にリターン文字を置くようにした。 (#1666) (@fukusuket)

バグ修正:

  • レベルは、--disable-abbreviationsオプションが有効であっても省略されていた。(#1672) (@fukusuket)

v3.3.0 - AUSCERT/SINCON Release

21 May 14:09
45f1b02

Choose a tag to compare

3.3.0 [2025/05/22] - AUSCERT/SINCON Release

Enhancements:

  • Now output file size in base 1024 (Ex: KiB, MiB, GiB). (#1648) (@fukusuket)
  • Improved the uptime calculation in the computer-metrics command. (#1656) (@fukusuket)

Bug Fixes:

  • The computer-metrics command was not working with the Windows live response package. (#1654) (@fukusuket)
  • ruletype field was returned to being an optional field. (#1660) (@fukusuket)

改善:

  • ファイルサイズを1024ベースで出力するようにした。(例:KiB, MiB, GiB等) (#1648) (@fukusuket)
  • computer-metricsコマンドのアップタイムの計算を改善した。 (#1656) (@fukusuket)

バグ修正:

  • Windowsのライブレスポンスパッケージでは、computer-metricsコマンドが正しく動作しなかった。 (#1654) (@fukusuket)
  • ruletypeフィールドは任意フィールドに戻された。 (#1660) (@fukusuket)

v3.2.0 🦅

02 Apr 22:39
579838d

Choose a tag to compare

3.2.0 [2025/04/02] - Vegemite Release

Enhancements:

  • Added uptime and timezone info to the computer-metrics command. (#1638) (@fukusuket)
  • Improved checking and logging of invalid rules. (#1601) (@fukusuket)
  • Added first and last timestamp to the default output. (#1616) (@fukusuket)

Bug Fixes:

  • Scans would fail if the .evtx file was not able to be opened. (#1634) (@fukusuket)
  • Elapsed time and saved file information was not being outputted in the HTML report. (#1643) (@fukusuket)

改善:

  • computer-metricsコマンドにアップタイムとタイムゾーン情報を追加した。 (#1638) (@fukusuket)
  • 無効なルールのチェックとロギングを改善した。 (#1601) (@fukusuket)
  • デフォルトの出力に最初と最後のタイムスタンプを追加した。 (#1616) (@fukusuket)

バグ修正:

  • .evtxファイルが開けない場合、スキャンは失敗していた。 (#1634) (@fukusuket)
  • 経過時間と保存されたファイル情報がHTMLレポートに出力されていなかった。 (#1643) (@fukusuket)

v3.1.1 🦅

12 Mar 02:54
a022e64

Choose a tag to compare

3.1.1 [2025/03/12] - Laksa Release

Enhancements:

Bug Fixes:

  • The number of expand rules was not being properly displayed on the terminal. (#1598) (@fukusuket)
  • Rules without the status field defined would be loaded even if you specified status: test, stable, etc... in the Scan Wizard. (#1602) (@fukusuket)
  • expand rules were being loaded without configuration. (#1606) (@fukusuket)
  • Detecting double Base64 encoding was not working properly with the extract-base64 command. (#1607) (@fukusuket)
  • The terminal text would sometimes turn red after an error message. (#1610) (@fukusuket)
  • The progress bar would not display when -d option was used but -o was not used for some commands. (#1617) (@fukusuket)
  • The pivot-keywords-list command was broken. (#1619) (@fukusuket)
  • Field data mapping was not working when details was not defined. (#1614) (@fukusuket)
  • When the details field was not set, duplicate data was outputted to both the Details column and ExtraFieldInfo column. Now it is just outputted to the Details column. (#1623) (@fukusuket)

改善:

  • Rustエディションを2024に更新した。(@fukusuket)
  • computer-metricsコマンドにOS情報を追加した。 (#1629) (@fukusuket)

バグ修正:

  • expandルールの数がターミナルに正しく表示されていなかった。 (#1598) (@fukusuket)
  • statusフィールドが定義されていないルールは、スキャンウィザードで status: test, stable などを指定しても読み込まれた。(#1602) (@fukusuket)
  • expandルールが設定なしでロードされていた。 (#1606) (@fukusuket)
  • extract-base64コマンドでダブルBase64エンコーディングの検出が正しく動作していなかった。 (#1607) (@fukusuket)
  • エラーメッセージの後、端末の文字が赤くなることがあった。 (#1610) (@fukusuket)
  • いくつかのコマンドで-dオプションが使用され、-oオプションが使用されなかった場合、プログレスバーが表示されなかった。 (#1617) (@fukusuket)
  • pivot-keywords-listコマンドが壊れていた。(#1619) (@fukusuket)
  • detailsが未定義の場合、フィールドデータマッピングが正常に機能しなかった。 (#1614) (@fukusuket)
  • detailsフィールドが設定されていない場合、Details列とExtraFieldInfo列の両方に重複したデータが出力されていた。現在はDetails列だけに出力される。 (#1623) (@fukusuket)

v3.1.0 🦅

21 Feb 20:36
ddfa390

Choose a tag to compare

3.1.0 [2025/2/22] - Ninja Day Release

New Features:

  • -X, --remove-duplicate-detections option to eid-metrics and logon-summary commands. (#1552) (@fukusuket)
  • New "Emergency Alerts" and severity level adjustment based on critical systems. Add a list of the computer names of critical systems (Ex: Domain Controllers, File Servers, etc...) to config/critical_systems.txt and all of the alerts above low will be adjusted one higher. That is, low will become medium, medium will become high, etc... critical alerts will become new emergency alerts. (#1551) (@fukusuket)
  • New config-critical-systems command to automatically find domain controllers and file servers to add to the ./config/critical_systems.txt file. (#1570) (@fukusuket)
  • Added a -S, --tab-separator option in the csv-timeline, search and log-metrics commands to separate field information by tabs. (#1587) (@fukusuket)

Enhancements:

  • Added --timeline-start/--timeline-end options to the search command. (#1543) (@fukuseket)
  • Significantly improved the speed of the logon-summary command with channel filtering. (#1544) (@fukusuket)
  • The extract-base64 command now also works on PowerShell Classic EID 400 events. (#1549) (@fukusuket)
  • The extract-base64 command now also scans PowerShell Core logs as well. (#1558) (@fukusuket)
  • The extract-base64 command now also scans System 7045 (Service Creation) events. (#1583) (@fukusuket)
  • search command uses much less memory and is faster as it does not sort results by default now. You can sort results like before with the new -s, --sort option. (#1475) (@hach1yon)

Bug Fixes:

  • An unneeded file was being created with logon-summary and pivot-keywords-list commands. (#1553) (@fukusuket)
  • MITRE tactics JSON output was not consistent for a few rules. (#1573) (@fukusuket)
  • Rule authors would not be outputted to the HTML report in version v3.0.x. (#1571) (@fukusuket)
  • The rule file name for correlation rules would not be outputted in the JSON timeline when the live response encoded rules were used. (#1572) (@fukusuket)
  • The level-tuning command was not working. (#1584) (@fukusuket)

Other:

  • The -s, --sort-events options have been renamed to -s, --sort. (@YamatoSecurity)
  • Added the RuleID to all profiles except minimal. (@YamatoSecurity)
  • Code refactoring: use default trait to reduce unnecessary initialization codes in StoredStatic. (#1588) (@fukusuket)

新機能:

  • eid-metricslogon-summaryコマンドに-X, --remove-duplicate-detectionsオプションを追加した。 (#1552) (@fukusuket)
  • 新しい「緊急アラート 」と重要なシステムに基づく重大度レベルの調整。config/critical_systems.txtに重要なシステム(例: ドメインコントローラ、ファイルサーバ等々)のコンピュータ名のリストを追加すると、low以上のすべてのアラートが1つ高く調整される。つまり、lowmediumに、mediumhighに、criticalアラートは新しいemergencyアラートになる。 (#1551) (@fukusuket)
  • ./config/critical_systems.txtファイルに追加するドメインコントローラーとファイルサーバーを自動的に見つけるconfig-critical-systemsコマンドを追加した。 (#1570) (@fukusuket)
  • csv-timelinesearchlog-metricsコマンドに、フィールド情報をタブで区切る-S, --tab-separatorオプションを追加した。 (#1587) (@fukusuket)

改善:

  • searchコマンドに--timeline-start/--timeline-endオプションを追加した。 (#1543) (@fukuseket)
  • チャンネルフィルタリングで logon-summary コマンドの速度を大幅に改善した。 (#1544) (@fukusuket)
  • extract-base64コマンドがPowerShell Classic EID 400イベントも対象するようになった。 (#1549) (@fukusuket)
  • extract-base64コマンドがPowerShell Coreログにも対応した。 (#1558) (@fukusuket)
  • extract-base64コマンドがSystem 7045 (サービス作成)イベントにも対応した。 (#1583) (@fukusuket)
  • searchコマンドは、デフォルトでは結果をソートしないので、メモリ使用量が大幅に減り、より高速になった。新しい-s, --sortオプションを使えば、以前と同じように結果をソートできる。(#1475) (@hach1yon)

バグ修正:

  • logon-summarypivot-keywords-listコマンドが不要なファイルを出力していた。 (#1553) (@fukusuket)
  • JSON出力では、いくつかのルールでMITRE戦術の一貫性がなかった。 (#1573) (@fukusuket)
  • バージョンv3.0.x`ではルール作者情報がHTMLレポートに出力されていなかった。 (#1571) (@fukusuket)
  • ライブ調査用のエンコードされたルールが使用されている場合、相関ルールのルールファイル名がJSONタイムラインに出力されていなかった。 (#1572) (@fukusuket)
  • level-tuningコマンドが正しく動いていなかった。 (#1584) (@fukusuket)

その他:

  • -s, --sort-eventsオプションが-s, --sortに名前変更された。 (@YamatoSecurity)
  • minimal以外のプロファイルにRuleIDを追加した。 (@YamatoSecurity)
  • コードのリファクタリング: StoredStaticの不要な初期化コードを減らすためにデフォルトのtraitを使用することにした。 (#1588) (@fukusuket)

v3.0.1 🦅

29 Dec 07:06
03f2be1

Choose a tag to compare

Note: Re-uploaded packages with the latest rules on December 31st, 2024.

3.0.1 [2024/12/29] - 3rd Year Anniversary Release

Bug Fixes:

  • Hayabusa would fail in rule parse checking on the backend with expand rules. (#1537) (@fukusuket)

バグ修正:

  • Hayabusaはバックエンドでexpandルールのパースチェックに失敗していた。 (#1537) (@fukusuket)

v3.0.0 🦅

25 Dec 11:03
27de57b

Choose a tag to compare

3.0.0 [2024/12/25] - 3rd Year Anniversary Release

New Features:

  • New extract-base64 command to extract and decode base64 strings from events. (#1512) (@fukusuket)
  • New expand-list command to output placeholder names used for rules with the expand modifier. (#1513) (@fukuseket)
  • Support for expand field modifiers. (#1434) (@fukusuket)
  • Support for Temporal Proximity (temporal) correlation rules. (#1446) (@fukusuket)
  • Support for Temporal Ordered Proximity (temporal_ordered) correlation rules. (#1447) (@fukusuket)

Enhancements:

Bug Fixes:

  • Sorting with csv-timeline was not done perfectly when record IDs were outputted. (#1519) (@fukusuket)
  • -J, --JSON-input would only accept .json files, not .jsonl files so now both are supported. (#1530) (@fukusuket)

新機能:

  • Base64文字列を抽出して、デコードするextract-base64コマンドを追加した。(#1512) (@fukusuket)
  • expand修飾子が入っているルールで使用されるプレースホルダー名を出力するexpand-listコマンドを追加した。(#1513) (@fukuseket)
  • expandフィールド修飾子に対応した。 (#1434) (@fukusuket)
  • Temporal Proximity(temporal)の相関ルールに対応した。 (#1446) (@fukusuket)
  • Temporal Ordered Proximity (temporal_ordered) の相関ルールに対応した。 (#1447) (@fukusuket)

改善:

  • log-metricsコマンドにファイルサイズを追加した。 (#1528) (@fukusuket)

バグ修正:

  • レコードIDが出力されるとき、csv-timelineによるソートが完璧に行われなかった。 (#1519) (@fukusuket)
  • J, --JSON-inputは、.jsonファイルしか対応していなかったので、.jsonlファイルにも対応した。 (#1530) (@fukusuket)

v2.19.0 🦅

26 Nov 02:17
aabad83

Choose a tag to compare

2.19.0 [2024/11/26] "Every Day Is A Good Day Release"

New Features:

  • Support for the gt, gte, lt, lte field modifiers. (#1433) (@fukusuket)
  • New log-metrics command to get information about .evtx files. (computer names, event count, first timestamp, last timestamp, channels, providers) (#1474) (@fukusuket)
  • New -b, --disable-abbreviations options for the following commands to disable Channel and Provider abbreviations for when you want to check the original values. (#1485) (@fukusuket)
    • csv-timeline
    • json-timeline
    • eid-metrics
    • log-metrics
    • search
  • Support for utf16/utf16be/utf16le/wide field modifiers to be used with the base64offset|contains field modifier. (#1432) (@fukusuket)
    • utf16|base64offset|contains
    • utf16be|base64offset|contains
    • utf16le|base64offset|contains
    • wide|base64offset|contains

Enhancements:

  • Updated the yaml-rust crate to yaml-rust2. (#461) (@YamatoSecurity)
  • windash characters are now being dynamically read from rules/config/windash_characters.txt. (#1440) (@fukusuket)
  • logon-summary command now displays logon information from RDP events. Note: Hayabusa will output more detailed information when saving to a file. (#1468) (@fukusuket)
  • The colors were updated to make it easier to read. (#1480) (@YamatoSecurity)
  • Added start and finish messages of the day. (#1492) (@fukusuket)
  • New color scheme added to output. (#1491) (@fukusuket)
  • File size is now displayed next to the file name under the progress bar. (#1471) (@fukusuket)

Bug Fixes:

  • logon-summary command would sometimes crash with corrupted logs. (#1477) (@fukusuket)
  • Some results would be displayed after the progress bar when outputting results to the terminal with csv-timeline and json-timeline. (#1459) (@fukusuket)
  • The detailed field value results in aggregation rule alerts were not sorted so csv-timeline and json-timeline would not output completely exact results each time. (#1466) (@fukusuket)
  • Updated hayabusa-evtx crate to 0.8.12. (@YamatoSecurity)
    • JSON field output order is now preserved according to the original XML. (omerbenamram/evtx #241)
    • Multiple sub-nodes with attributes and the same name would be overwritten and only the last one kept. (omerbenamram/evtx #245)
  • logon-summary and eid-metrics would sometimes output multiple progress bars. #1479 (@fukusuket)
  • The progress bar has been removed when outputting to terminal and not sorting events as is unneeded. #1508 (@fukusuket)

Other:

新機能:

  • gtgteltlteのフィールドモディファイアに対応した。(#1433) (@fukusuket)
  • 新しいlog-metricsコマンドで.evtxファイルの情報を取得できるようになった。(コンピュータ名、イベント数、最初のタイムスタンプ、最後のタイムスタンプ、チャネル、プロバイダ) (#1474) (@fukusuket)
  • 以下のコマンドにChannelProviderの略称を無効にする-b, --disable-abbreviationsオプションを追加した。元の値を確認したい時に便利。 (#1485) (@fukusuket)
    • csv-timeline
    • json-timeline
    • eid-metrics
    • log-metrics
    • search
  • utf16/utf16be/utf16le/wideフィールドモディファイアがbase64offset|containsフィールドモディファイアと一緒に使えるようになった。 (#1432) (@fukusuket)
    • utf16|base64offset|contains
    • utf16be|base64offset|contains
    • utf16le|base64offset|contains
    • wide|base64offset|contains

改善:

  • yaml-rustクレートをyaml-rust2に更新した。(#461) (@YamatoSecurity)
  • windash文字が、rules/config/windash_characters.txtから動的に読み込まれるようになった。(#1440) (@fukusuket)
  • logon-summaryコマンドがRDPイベントからのログオン情報を表示するようになった。注意: ファイルに保存する場合、Hayabusaはより詳細な情報を出力する。(#1468) (@fukusuket)
  • 見やすくなるように色を更新した。 (#1480) (@YamatoSecurity)
  • 実行開始と終了のメッセージを出力するようにした。 (#1492) (@fukusuket)
  • 出力に新しい配色を追加した。 (#1491) (@fukusuket)
  • ファイルサイズがプログレスバーの下のファイル名の横に表示されるようになった。 (#1471) (@fukusuket)

バグ修正:

  • logon-summary`コマンドが破損したログでクラッシュすることがあった。(#1477) (@fukusuket)
  • csv-timelinejson-timelineコマンドで、結果をターミナルに出力すると、プログレスバーの後にいくつかの結果が表示されていた。(#1459) (@fukusuket)
  • 集計ルールのアラートの詳細フィールド値の結果がソートされていないため、csv-timelinejson-timelineは、毎回完全に正確な結果を出力しなかった。 (#1466) (@fukusuket)
  • hayabusa-evtxクレートをバージョン0.8.12に更新した。(@YamatoSecurity)
    • JSONフィールドの出力順序が元のXMLに従って保持されるようになった。(omerbenamram/evtx #241)
    • 属性と同じ名前を持つ複数のサブノードは上書きされ、最後の1つだけが出力されていた。(omerbenamram/evtx #245)
  • logon-summaryeid-metricsが複数のプログレスバーを出力することがあった。 #1479 (@fukusuket)
  • ターミナルに出力し、イベントをソートしない場合、プログレスバーは不要なため削除された。 #1508 (@fukusuket)

その他:

  • timeline-offsetオプションは、--time-offsetに名前変更された。 (#1490) (@YamatoSecurity)