Releases: Yamato-Security/hayabusa
v3.6.0 - Nezamezuki Release
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 thecsv-timeline
andjson-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
3.5.0 [2025/08/16] - Obon Release
Enhancements:
- Hayabusa now supports the
base64
field modifier. (#1677) (@fukusuket)
改善:*
base64
フィールド修飾子に対応した。 (#1677) (@fukusuket)
v3.4.0 - Black Hat Arsenal USA 2025 Release
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
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 🦅
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 🦅
3.1.1 [2025/03/12] - Laksa Release
Enhancements:
- Updated Rust edition to 2024. (@fukusuket)
- Added OS information to the
computer-metrics
command. (#1629) (@fukusuket)
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 specifiedstatus: 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 theDetails
column andExtraFieldInfo
column. Now it is just outputted to theDetails
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 🦅
3.1.0 [2025/2/22] - Ninja Day Release
New Features:
-X, --remove-duplicate-detections
option toeid-metrics
andlogon-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 abovelow
will be adjusted one higher. That is,low
will becomemedium
,medium
will becomehigh
, etc...critical
alerts will become newemergency
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 thecsv-timeline
,search
andlog-metrics
commands to separate field information by tabs. (#1587) (@fukusuket)
Enhancements:
- Added
--timeline-start/--timeline-end
options to thesearch
command. (#1543) (@fukuseket) - Significantly improved the speed of the
logon-summary
command with channel filtering. (#1544) (@fukusuket) - The
extract-base64
command now also works onPowerShell 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 scansSystem 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
andpivot-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 exceptminimal
. (@YamatoSecurity) - Code refactoring: use default trait to reduce unnecessary initialization codes in StoredStatic. (#1588) (@fukusuket)
新機能:
eid-metrics
とlogon-summary
コマンドに-X, --remove-duplicate-detections
オプションを追加した。 (#1552) (@fukusuket)- 新しい「緊急アラート 」と重要なシステムに基づく重大度レベルの調整。
config/critical_systems.txt
に重要なシステム(例: ドメインコントローラ、ファイルサーバ等々)のコンピュータ名のリストを追加すると、low
以上のすべてのアラートが1つ高く調整される。つまり、low
はmedium
に、medium
はhigh
に、critical
アラートは新しいemergency
アラートになる。 (#1551) (@fukusuket) ./config/critical_systems.txt
ファイルに追加するドメインコントローラーとファイルサーバーを自動的に見つけるconfig-critical-systems
コマンドを追加した。 (#1570) (@fukusuket)csv-timeline
、search
、log-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-summary
とpivot-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 🦅
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 🦅
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 theexpand
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:
- Log file size added to
log-metrics
command. (#1528) (@fukusuket)
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 🦅
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 disableChannel
andProvider
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 thebase64offset|contains
field modifier. (#1432) (@fukusuket)utf16|base64offset|contains
utf16be|base64offset|contains
utf16le|base64offset|contains
wide|base64offset|contains
Enhancements:
- Updated the
yaml-rust
crate toyaml-rust2
. (#461) (@YamatoSecurity) windash
characters are now being dynamically read fromrules/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
andjson-timeline
. (#1459) (@fukusuket) - The detailed field value results in aggregation rule alerts were not sorted so
csv-timeline
andjson-timeline
would not output completely exact results each time. (#1466) (@fukusuket) - Updated
hayabusa-evtx
crate to0.8.12
. (@YamatoSecurity) logon-summary
andeid-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:
- The
--timeline-offset
option has been renamed to--time-offset
. (#1490) (@YamatoSecurity)
新機能:
gt
、gte
、lt
、lte
のフィールドモディファイアに対応した。(#1433) (@fukusuket)- 新しい
log-metrics
コマンドで.evtx
ファイルの情報を取得できるようになった。(コンピュータ名、イベント数、最初のタイムスタンプ、最後のタイムスタンプ、チャネル、プロバイダ) (#1474) (@fukusuket) - 以下のコマンドに
Channel
とProvider
の略称を無効にする-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-timeline
とjson-timeline
コマンドで、結果をターミナルに出力すると、プログレスバーの後にいくつかの結果が表示されていた。(#1459) (@fukusuket)- 集計ルールのアラートの詳細フィールド値の結果がソートされていないため、
csv-timeline
とjson-timeline
は、毎回完全に正確な結果を出力しなかった。 (#1466) (@fukusuket) hayabusa-evtx
クレートをバージョン0.8.12
に更新した。(@YamatoSecurity)logon-summary
とeid-metrics
が複数のプログレスバーを出力することがあった。 #1479 (@fukusuket)- ターミナルに出力し、イベントをソートしない場合、プログレスバーは不要なため削除された。 #1508 (@fukusuket)
その他:
timeline-offset
オプションは、--time-offset
に名前変更された。 (#1490) (@YamatoSecurity)