Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pivot Keyword List機能の追加 #412

Merged
merged 48 commits into from
Apr 5, 2022
Merged

Pivot Keyword List機能の追加 #412

merged 48 commits into from
Apr 5, 2022

Conversation

kazuminn
Copy link
Collaborator

@kazuminn kazuminn commented Feb 24, 2022

fix #393.

なにこれ

(levelがlow以上の)アラートがある場合は、以下のフィールドから"Pivot Keyword"(攻撃者の足跡になる送信元のIPアドレス、ログオンID等々)をリストアップして、出力する機能です。キーワードリストで、大量のinformationalログをgrepして、攻撃者の痕跡だけを抽出するための機能です。(informationalログが多すぎて解析が難しいという意見(クレーム?)が来ていたので、これで不要なinformationalログが減るはずです。)
また、キーワードの一覧を見るだけで、どのユーザや端末が攻撃を受けている可能性があるかパッと見て分かるので、fast forenscisに役立ちます。

以下のように実装しました。

オプション: -p / --pivot-keywords-list -o <ファイル名> or -p
(ただの、-oだけだと、csv出力になる。)
例: ./hayabusa.exe --min-level high --pivot-keywords-list -o keywords.txt -d ./sample-evtx

-oがあると、スキャン後にファイルに出力する。
-oがないと、タイムラインではなく、標準出力する。

hashSetをつかっているので、キーワードが重複することはない。
空("-")、("127.0.0.1")、("::1")になっている可能性があって、誤検知になりそうなので、すべてで無視している。

キーワードをハードコーディングではなく、設定ファイルで自由に修正できるようにしました。config/pivot_keywords.txtで設定できます。

configをcsvとして読み込む。すべての行数が、一致しなくてもよい。flexibleになっている。

取り敢えず、アラートに以下のフィールドが存在する場合は、Pivot Keywords Listに追加します。(デフォルトでのconfig設定)

%SubjectUserName%
%TargetUserName%
%User%
%SubjectLogonId%
%TargetLogonId%
%WorkstationName%
%IpAddress%
%Image%

evidence

> .\target\release\hayabusa.exe  -D -n -r C:\Users\warug\hayabusa-rules\ -f 'C:\Users\warug\hayabusa-sample-evtx\YamatoSecurity\T1218.004_Signed Binary Proxy Execution InstallUtil\sysmon.evtx'  -p

██╗  ██╗ █████╗ ██╗   ██╗ █████╗ ██████╗ ██╗   ██╗███████╗ █████╗
██║  ██║██╔══██╗╚██╗ ██╔╝██╔══██╗██╔══██╗██║   ██║██╔════╝██╔══██╗
███████║███████║ ╚████╔╝ ███████║██████╔╝██║   ██║███████╗███████║
██╔══██║██╔══██║  ╚██╔╝  ██╔══██║██╔══██╗██║   ██║╚════██║██╔══██║
██║  ██║██║  ██║   ██║   ██║  ██║██████╔╝╚██████╔╝███████║██║  ██║
╚═╝  ╚═╝╚═╝  ╚═╝   ╚═╝   ╚═╝  ╚═╝╚═════╝  ╚═════╝ ╚══════╝╚═╝  ╚═╝
   by Yamato Security

Analyzing event files: 1
Hayabusa rules: 46
Sigma rules: 1139
Ignored rules: 7
Rule parsing errors: 0
Total enabled detection rules: 1185

1 / 1 [====================================================================================================] 100.00 % 
Elapsed Time: 00:00:02.262


The following pivot keywords were found:
Processes: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe,
field's list: (%Image%, )

Ip Addresses:
field's list: (%IpAddress%, )

Users: CYBERCAT\pc1-user,
field's list: (%User%, %SubjectUserName%, %TargetUserName%, )

Logon IDs:
field's list: (%TargetLogonId%, %SubjectLogonId%, )

Workstation Names:
field's list: (%WorkstationName%, )

手動テスト項目

  • -pなしで、-oを実行 →csvがファイルに出力されるか
  • -pだけで、pivot keywords listが標準出力されるか
  • -p -oを付けて、pivot keywords listがファイルに出力されるか

(ちなみに、コードにおいて、-oオプションの依存度が複雑になってくるので、今後手を入れる場合は、何か対策が必要になってくる。)

@kazuminn
Copy link
Collaborator Author

おっと、rebaseが必要になるので、少しお待ちください。

@kazuminn kazuminn force-pushed the feature/pivot_keyword branch from dba8765 to 20042f2 Compare February 24, 2022 06:26
@kazuminn
Copy link
Collaborator Author

kazuminn commented Feb 24, 2022

CI通りました。 @hitenkoku さん @YamatoSecurity さん。
動作確認やレビューをお願いします。

@kazuminn
Copy link
Collaborator Author

kazuminn commented Feb 24, 2022

2GBのBig-Security.evtxでスキャンかけましたが、あまり出てこない結果になりました。こんなもんなんですね。

The following pivot keywords were found:
Workstation Names: SEC504STUDENT,
field's list: (%WorkstationName%, )

Ip Addresses:
field's list: (%IpAddress%, )

Logon IDs: 0x0, 0x36eea,
field's list: (%TargetLogonId%, %SubjectLogonId%, )

Users: DefaultAccount, WDAGUtilityAccount, Administrator, Guest, Sec504,
field's list: (%TargetUserName%, %User%, %SubjectUserName%, )

Processes:
field's list: (%Image%, )

Copy link
Collaborator

@hitenkoku hitenkoku left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

一応ソースコードレベルで気になるところを指摘しました。まだ動作確認はしていません。

src/detections/configs.rs Show resolved Hide resolved
src/detections/configs.rs Show resolved Hide resolved
src/detections/pivot.rs Outdated Show resolved Hide resolved
src/detections/pivot.rs Outdated Show resolved Hide resolved
src/detections/pivot.rs Outdated Show resolved Hide resolved
src/main.rs Outdated Show resolved Hide resolved
Copy link
Collaborator

@hitenkoku hitenkoku left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

記載が漏れておりましたが、documentも日本語だけでもよいので作成してください。
英語版は @YamatoSecurity に添削してもらうなりしましょう。

@hitenkoku hitenkoku added this to the v1.2 milestone Feb 25, 2022
@hitenkoku hitenkoku linked an issue Feb 25, 2022 that may be closed by this pull request
Base automatically changed from develop to main March 3, 2022 00:54
@hitenkoku hitenkoku changed the base branch from main to develop March 3, 2022 01:58
@kazuminn
Copy link
Collaborator Author

kazuminn commented Mar 7, 2022

レビューの指摘の対応は終えたので、
clippyの対応とドキュメントの作成に着手します。

@kazuminn kazuminn force-pushed the feature/pivot_keyword branch from 4ca4955 to c1e0d0e Compare March 7, 2022 03:15
@kazuminn
Copy link
Collaborator Author

kazuminn commented Mar 7, 2022

一応、自分の範囲のclippyのwarnは直した。(clippyのプルリクが先にマージされると、また、再度rebaseが必要になってきそう。)

@kazuminn
Copy link
Collaborator Author

kazuminn commented Mar 7, 2022

@hitenkoku @YamatoSecurity
ドキュメント書くのに時間かかりそうなので、
先にこのプルリクをマージしていただいた方が気持ち的にすごく楽なので、
先にマージする感じのほうが個人的にいいです。それで、お願いしたいです。

レビューの修正とclippyのwarn処理は終わりました。

@hitenkoku hitenkoku self-requested a review March 7, 2022 08:31
Copy link
Collaborator

@hitenkoku hitenkoku left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

修正分も含めて、確認しました。いくつか指摘をしましたのでご確認ください。

ドキュメント作成と機能の作成を分けてしまうと、ドキュメントの更新が遅れて、develop側の実態が合わなくなってしまう可能性が出てくるので、ドキュメントを追加した上でマージ対応をさせてもらったほうが後々良いと思いますので、このプルリクエストはドキュメントを書いてからマージをするようにしましょう。

.gitignore Outdated Show resolved Hide resolved
src/detections/configs.rs Show resolved Hide resolved
src/detections/pivot.rs Outdated Show resolved Hide resolved
src/detections/pivot.rs Outdated Show resolved Hide resolved
@kazuminn
Copy link
Collaborator Author

kazuminn commented Mar 7, 2022

@hitenkoku @YamatoSecurity え、keyは固定でfields(%hoge%のやつ)が自由に設定できる仕様の話だったと思います。

ただこの処理を見ているとconfigのkeyを増やせるようには見えないです。

(keyをconfigでカスタマイズする実装することもできる気はしますが)

@kazuminn
Copy link
Collaborator Author

kazuminn commented Mar 7, 2022

@YamatoSecurity
キーを自由にカスタマイズできた方が嬉しいです?

@hitenkoku
Copy link
Collaborator

issueでは固定である旨を書いていません。あと @YamatoSecurity はissueで以下のように書いています。単純に読めば、項目のつ追加対応が容易にできるようにするほうが良いと思います。

@YamatoSecurity 本件、念の為ご確認をお願いいたします。

(後でプロセスID等も追加したいかも)
refs #393

@hitenkoku
Copy link
Collaborator

@kazuminn が以下のように発言をまとめています。 @YamatoSecurity はキーワードは任意で読み込めるようにという依頼をしているようです。

#393 (comment)

ちょっと、Slackの方でお話をして方針変わってきたので、メモっておきます。最終的にどのように実装したかは、プルリクエストのほうに書いておきます。

ザックさんの発言
キーワードをできればハードコーディングではなく、設定ファイルで自由に修正できたら理想ですが、できそうですか?
-> できそう。

ザックさんの発言
以下のよう使い方の方が良い気がしてきました:
-p / --pivot-keywords-listを指定する際に通常のフォレンジックタイムラインではなく、ピボット一覧を表示します。-p -o file.txtを指定する場合は結果をfile.txtに保存します。ファイルが存在する場合は上書きせず、エラーを出します。
(Fast forensicsはスピードを重視するが、エビデンスや解析データ等を上書きすると、大変なことになる可能があるので)
そうすると、--pivot-keywordsの後にfile.txtの必要性が無くなります。
もし、既存の-oオプションを利用するのが難しいのであれば、仕様に書いてあるように、アウトプットファイル名を-p <file.txt>にして、更に-oオプションが付けられた場合は「You cannot specify -o / --output when using -p / --pivot-keywords-list」というエラーを出しましょう。
-> 前者でやる。

@YamatoSecurity
Copy link
Collaborator

返事が遅くなってすみません! はい、キーも自由に指定したいです。
pivot_keywords.txtの

key,field1,field2,field3
Users,SubjectUserName,TargetUserName,User
Logon IDs,SubjectLogonId,TargetLogonId
Workstation Names,WorkstationName
Ip Addresses,IpAddress
Processes,Image

はキーも含めて全部カスタマイズできると思っていました。

また、色々追加の注文がありまして、すみません。。

今の画面出力:

Ip Addresses: 10.23.123.11, 172.16.66.1,
field's list: (%IpAddress%, )

Ip Addresses (%IpAddress%): 
10.23.123.11
172.16.66.1

という風に出力できますか?
変更点:

  1. (%Field%, )の最後の不要のコンマの削除 -> (%Field)
  2. (%Field%)をキーの右側に出力する
  3. コンマを改行にする

また、grep -f keywords.txt timeline.csvのようにキーワードがあるイベント・アラートだけ抽出したいのですが、そのために、コンマの代わりに改行にして、キーワードリストを別々のファイルに分けた方が良さそうです。

例えば-o keywordsを指定したら、
keywords-Users.txt
keywords-LogonIDs.txt
keywords-Processes.txt
keywords-IpAddresses.txt
keywords-WorkstationNames.txt
という様々なファイルが出力されます。誤検知のキーワードも毎回出て来そうなので、アナリストが手動でテキストファイルを確認して、使えなさそうなキーワードを削除した上で、grep -f keywords.txt timeline.csv等で絞ったタイムラインを作成するイメージです。

@kazuminn
Copy link
Collaborator Author

kazuminn commented Mar 9, 2022

@YamatoSecurity
(また仕様の変更ですかい笑)
keyのカスタマイズと、出力の変更、かしこまりました。

たしかに、その方がtimelineを絞れて、良さそうです。

@YamatoSecurity
Copy link
Collaborator

すまない! m(__)m
宜しくお願いします!

@YamatoSecurity
Copy link
Collaborator

@kazuminn
後で私がドキュメンテーションを書きましょうか?
(すぐできると思うので)

@hitenkoku
Copy link
Collaborator

hitenkoku commented Mar 10, 2022

ドキュメントの作成者は誰でも良いのですが、ドキュメントはpull requestをマージする状態にはすでにかけてるといいなぁと思っています。(というか書けていないと、結局ドキュメント作成が後手に回ってしまうと大変なので……)

@kazuminn
Copy link
Collaborator Author

@YamatoSecurity
お願いしますー。

@kazuminn
Copy link
Collaborator Author

Dさんが言っていたように、configファイルを以下のように変更します。

 Users,SubjectUserName
 Users,TargetUserName
 Users,User
 

@kazuminn
Copy link
Collaborator Author

kazuminn commented Mar 31, 2022

@YamatoSecurity
ファイル出力の際も、こんな感じに、標準出力するように実装しました。

Outputted results to the following files:
sysmon4-Logon IDs.txt
sysmon4-Users.txt
sysmon4-Workstation Names.txt
sysmon4-Processes.txt
sysmon4-Ip Addresses.txt

@kazuminn
Copy link
Collaborator Author

@YamatoSecurity デフォルトの設定ファイルはこれでよいですか?
変更したいのであれば、おっしゃってください。

Users.SubjectUserName
Users.TargetUserName
Users.User
Logon IDs.SubjectLogonId
Logon IDs.TargetLogonId
Workstation Names.WorkstationName
Ip Addresses.IpAddress
Processes.Image

Copy link
Collaborator

@YamatoSecurity YamatoSecurity left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OKです!ありがとうございます!

@YamatoSecurity
Copy link
Collaborator

ドキュメンテーションお待たせしました。書いてみました。

@hitenkoku お手数をかけますが、確認&和訳をお願いできますか?

@YamatoSecurity
Copy link
Collaborator

おっと、こちらの環境では出力メッセージを編集しても問題なかったけど、githubではbuild failedになっています。誰か確認して頂けますか?

@kazuminn
Copy link
Collaborator Author

kazuminn commented Apr 3, 2022

@YamatoSecurity
CIをパスするようにしておきました。
(ほぼ、$ cargo fmt しただけ)

英語ドキュメントありがとうございます。

@kazuminn
Copy link
Collaborator Author

kazuminn commented Apr 3, 2022

@YamatoSecurity
やっぱり、一回目の実行でcsvを作って、二回目の実行でキーワードファイルを作って、grepしてtimelineをファストフォレンジックするのって、大きいevtxだと時間がかかって、手間です。(2GBの手動テストは、大変でした。まぁ、マシンスペックが低いからかもしれませんが)

時間短縮ために、
同時にcsvも吐いた方がよいと思っていて、

今の使い方の、 -p -o tagets でtargets.csvも吐けるように、できますが、どうでしょうか?
(targets-timeline.csvなんかでいける)

前に、そんな感じのことを会議でyamatosecurityさんが言ったときは、Dさんが複雑になると言っていましたが、今やろうと思うと、そんなに複雑ではないのでは、と思いました。

-oはcsvを吐いてくれて、-pを付けると、キーワードファイルも吐ける。みたいに、ユーザーも理解しやすいと思います。

リリースも近いので、次のバージョンに回しても大丈夫です。

@hitenkoku
Copy link
Collaborator

前回話した際は-pをつけた場合と-pをつけなかった場合で出力されるものが異なる(その時は-pをつけていたらここで話をしているpivot keywordlistの出力。-pをつけていなかったら今までの結果のcsvの出力)となっている場合にusageのときに説明がつけづらいと考えていました。

-p をつけていてもつけていなくても今までのcsvが出力されるのであれば -p側のusageに 「-oを追加すれば別途pivot keyword listのcsvを出力する」旨を書けば特に混乱はないと思っています。

@hitenkoku
Copy link
Collaborator

私は特に決定権ないので @YamatoSecurity に一任します

@YamatoSecurity
Copy link
Collaborator

@kazuminn 提案ありがとうございます!grep -fは確かに手間なので、書いてくれたように-o指定の時だけ、targets-timeline.csvも作成されるようにお願いできたら嬉しいです。
ただ、速度がかなり遅くなるのであれば、別のオプションに分けたいかもしれません。
例えば、-m critical等を指定した場合は、一旦-m criticalスキャンで見つけたキーワードリストを作った後に、info以上の全イベント・アラートのタイムラインを作ってgrepするので、速度が倍になると思っていたのですが、そこまで遅くならないですか? (再スキャンの必要はないとか?)
(気持ち的に1.5倍ぐらいまで遅くなっても同時にpivot keywordのタイムラインを作りたいけど、2倍近く遅くなるのであれば、別のオプションにしたいかもです。

@hitenkoku ご意見ありがとうございます!確かに勘違いする人も居るかもしれないので、最後のメッセージの出力時に「Saved a timeline filtered by the pivot keywords found.」等を追加しておけば、伝わると思います。

@kazuminn
Copy link
Collaborator Author

kazuminn commented Apr 4, 2022

@YamatoSecurity
なるほど。
timeline csv作る場合とキーワード作る場合のフィルタリングlevelが違う使い方の想定なんですね。
たしかに、高々2回スキャンする(selectを二回する)感じで、2倍近くになります。

遅くなるので、たしかに、オプションのほうが良いと思いました。

もしやるなら、別のプルリクでやりましょうか。

@YamatoSecurity
Copy link
Collaborator

そうですね。-mオプションも組み合わせないと、infoのキーワードも全部入るので、結局タイムラインはあまり変わらないと思います。-m指定無しのキーワードリストも有用な情報ですが、(特にログが多い場合は)基本的に-m medium以上のレベル指定を想定しています。また、127.0.0.1のローカルホストとか、SYSTEMプロセス等々除外したいキーワードもあるので、取り敢えず今の機能で色々検証した上で、キーワードタイムライン機能をお願いできたらと思います。

@hitenkoku
Copy link
Collaborator

@YamatoSecurity ドキュメントを確認しました。特に問題はないと思います。また、 6009779 で日本語訳を追加しましたのでご確認のほど、よろしくお願いいたします。

@kazuminn
Copy link
Collaborator Author

kazuminn commented Apr 4, 2022

日本語訳ありがとうございます。LGTM

@YamatoSecurity
Copy link
Collaborator

@hitenkoku ありがとうございます!一箇所だけ分かりにくいところがあったので、修正してみました。ご確認ください。
問題が無ければマージしましょう。

@hitenkoku
Copy link
Collaborator

@YamatoSecurity  確認いたしました。修正ありがとうございます。問題ないと思いますのでマージ対応をしておきます

@hitenkoku hitenkoku merged commit c8efa95 into develop Apr 5, 2022
@hitenkoku hitenkoku deleted the feature/pivot_keyword branch April 5, 2022 12:17
hitenkoku added a commit that referenced this pull request Apr 15, 2022
* Fix/fix clippy warn (#434)

- Fixed following Clippy Warnings(previous warning count: 671 -> after: 4)
  - clippy::needless_return
  - clippy::println_empty_string
  - clippy::redundant_field_names
  - clippy::single_char_pattern
  - clippy::len_zero
  - clippy::iter_nth_zero
  - clippy::bool_comparison
  - clippy::question_mark
  - clippy::needless_collect
  - clippy::unnecessary_unwrap
  - clippy::ptr_arg
  - clippy::needless_collect
  - clippy::needless_borrow
  - clippy::new_without_default
  - clippy::assign_op_pattern
  - clippy::bool_assert_comparison
  - clippy::into_iter_on_ref
  - clippy::deref_addrof
  - clippy::while_let_on_iterator
  - clippy::match_like_matches_macro
  - clippy::or_fun_call
  - clippy::useless_conversion
  - clippy::let_and_return
  - clippy::redundant_clone
  - clippy::redundant_closure
  - clippy::cmp_owned
  - clippy::upper_case_acronyms
  - clippy::map_identity
  - clippy::unused_io_amount
  - clippy::assertions_on_constants
  - clippy::op_ref
  - clippy::useless_vec
  - clippy::vec_init_then_push
  - clippy::useless_format
  - clippy::bind_instead_of_map
  - clippy::bool_comparison
  - clippy::clone_on_copy
  - clippy::too_many_arguments
  - clippy::module_inception
  - fixed clippy::needless_lifetimes
  - fixed clippy::borrowed_box (Thanks for helping by hach1yon!)

* Merge main and output fix#443#444 (#445)

* removed tools/sigmac (#441)

* removed tools/sigmac

- moved tools/sigmac to hayabusa-rules repo

* fixed doc link tools/sigmac

* fixed submodule track

* fixed submodule track from latest to v1.1.0 tag

* fixed link

* erased enter #444

* erased enter #444

* reverted logo enter

* fixed rules submodule target commit #444

Co-authored-by: Yamato Security <[email protected]>

* readme update screenshots etc (#448)

* Opensslを静的にコンパイルするためにCargo.tomlの設定変更 (#437)

* cargo update - openssl static

* updated cargo

* macos2apple

* cargo update

* cargo update

* aliasキーがない場合もEvent.EventDataを自動で走査する (#442)

* add no event key

* support not-register-alias search

* added checking EventData when key do not match in alias #290

- added checking key in Event.EventData, if key is not exist in eventkey_alias.txt.

* cargo fmt

* fixed panic when filter files does not exists

* fixed errorlog format when filter config files does not exist

Co-authored-by: DustInDark <[email protected]>

* changed downcast library from mopa to downcast_rs #447 (#450)

* Fixed Clippy Warnings (#451)

* fixed clippy warn

* fixed cargo clippy warnging

* fixed clippy warngings in clippy ver 0.1.59

* fixed clippy warnings clippy::unnecessary_to_owned

* added temporary blackhat arsenal badge

* added rust report card badges #453

* added repository maintenance levels badge #453

* documentation update macOS usage etc

* update

* added clippy workflow #428 (#429)

* added clippy workflow #428

* fixed action yaml to run clippy #428

* fixed indent

* fixed workflow

* fixed workflow error

* fixed indent

* changed no annotation #428

* adujusted annotation version

* fixed clippy::needless_match

* remove if let exception

* removed unnecessary permission check #428

* statistics event id update (#457)

* Feature/#440 refactoring #395 (#464)

* updated submodule

* fix degrade for pull req #464 (#468)

* fix degrade for pull req #464

* add trim

* Fearture/ added output update result#410 (#452)

* add git2 crate #391

* added Update option #391

* updated readme #391

* fixed cargo.lock

* fixed option if-statement #391

* changed utc short option and rule-update short option #391

* updated readme

* updated readme

* fixed -u long option & version number update #391

* added fast-forwarding rules repository #391

* updated command line option #391

* moved output logo prev update rule

* fixed readme #391

* removed recursive option in readme

* changed rules update from clone and pull to submodule update #391

* fixed document

* changed unnecessary clone recursively to clone only

* English message update.

* cargo fmt

* English message update. ( 4657c35 cherry-pick)

* added create rules folder when rules folder is not exist

* fixed gitmodules github-rules url from ssh to https

* added output of updated file #420

* fixed error #410

* changed update rule list seq

* added test

* fixed output #410

* fixed output and fixed output date field  when  modified field is lacked #410

* fixed compile error

* fixed output

- added enter after Latest rule update output
- added output when no exist new rule
- fixed Latest rule update date format
- changed output from 'Latest rule update' to 'Latest rules update'

* fixed compile error

* changed modified date source from rules folder to each yml rule file

* formatting use chrono in main.rs

* merge develop clippy ci

* fixed output when no update rule #410

- removed Latest rule update

- no output "Rules update successfully" when No rule changed

* Change English

Co-authored-by: Tanaka Zakku <[email protected]>

* Remove unnecessary code from timeline_event_info and rename files for… (#470)

* Remove unnecessary code from timeline_event_info and rename files for issue462

* Remove unnecessary code #462

* add equalsfield pipe (#467)

* Enhancement: add config config #456 (#471)

* added config option #456

* added process of option to speicifed config folder #456

following files adjust config option.

* noisy_rules.txt

* exclude_rules.txt

* fixed usage in readme

* updated rules submodule:

* fixed process when yml file exist in .git folder

* ignore when yml file exist in .git folder

* Add: --level-tuning option's outline

* Add: read Rule files

* Add: input rule_level.txt files & read rules

* cargo fmt

* Add: level-tuning function

* Reface: split to options file

* WIP: Text overwrite failed...

* Fix: Text overwrite was failed

* Add: Error handlings

* Add: id, level validation

* mv: IDS_REGEX to configs file

* fix: level tuning's file name

* Cargo fmt

* Pivot Keyword List機能の追加 (#412)

* add get_pivot_keyword() func

* change function name and call it's function

* [WIP] support config file

* compilete output

* cargo fmt

* [WIP] add test

* add test

* support -o option in pivot

* add pivot mod

* fix miss

* pass test in pivot.rs

* add comment

* pass all test

* add fast return

* fix output

* add test config file

* review

* rebase

* cargo fmt

* test pass

* fix clippy in my commit

* cargo fmt

* little refactor

* change file input logic and config format

* [WIP] change output

* [wip] change deta structure

* change output & change data structure

* pass test

* add config

* cargo fmt & clippy & rebase

* fix cllipy

* delete /rules/ in .gitignore

* clean comment

* clean

* clean

* fix rebase miss

* fix rebase miss

* fix clippy

* file name output on -o to stdout

* add pivot_keywords.txt to ./config

* updated english

* Documentation update

* cargo fmt and clean

* updated translate japanese

* readme update

* readme update

Co-authored-by: DustInDark <[email protected]>
Co-authored-by: Tanaka Zakku <[email protected]>

* Add: test

* Add: README.md

* Cargo fmt

* Use
#[cfg(test)]

* Fixed output stop when  control char exist in windows terminal (#485)

* added control character filter in details #382

* fixed document

- removed fixed windows teminal caution in readme

* fixed level tuning test and added test files #390

* changed level_tuning.txt header from next_level to new_level

* fixed convert miss change to low level

* added run args rules path to check test easy #390

* fixed comment out processing in level_tuning.txt

* fixed config to show level-tuning option

* fixed level-tuning option usage from required to option

* reduce output mitre attack detail tachnique No. by config file (#483)

* reduced mitre attck tag output by config file #477

* prepared 1.2.0 version toml

* added test files and mitre attck strategy tag file #477

* fixed cargo.toml version

* updated cargo.lock

* output tag english update

* cargo fmt

Co-authored-by: Tanaka Zakku <[email protected]>

* Fix: test file's path was incorrect

* Add: add test_files/config/level_tuning.txt

* Add: Flush method.

* inserted debug data

* reverted config usage

* fixed test yaml file path

* Feature/#216 output allfields csvnewcolumn (#469)

* refactoring

* refactoring

* under constructing

* underconstructing

* under construction

* underconstructing

* fix existing testcase

* finish implement

* fmt

* add option

* change name

* fix control code bug

* fix disp

* change format and fix testcase

* fix help

* Fix: show usage when hayabusa has no args

* rm: debug line

* Enhance/warning architecture#478 (#482)

* added  enhance of architecture check #478

* changed check architecture process after output logo #478

* English msg update

* fixed detect method of os-bit to windows and linux

* removed mac and unix architecture and binary and updated its process of windows

* fix clippy

* added check on Wow64 env #478

* Update contributors.txt

Co-authored-by: Tanaka Zakku <[email protected]>

* added --level-tuning option to usage

* Revert "added --level-tuning option to usage"

This reverts commit e6a7409.

* readme update

* Update README-Japanese.md

* readme, version, cargo update

* typo fix

* typo fix

* rm: duplicated test & fix test name

* Add: show logo, and some infos

* small english fix

* twitter link fix (#486)

* added feature of tag output reducing to agg condition #477 (#488)

* changed level output from informational to info #491

* updated rules submodule

* v1.2 changelog update (#473)

* changelog update

* Update CHANGELOG.md

added contributor in "Fields that are not defined in eventkey_alias.txt will automatically be searched in Event.EventData."

ref #442

* Update CHANGELOG-Japanese.md

Fields that are not defined in eventkey_alias.txt will automatically be searched in Event.EventData.

added contributor in "Fields that are not defined in eventkey_alias.txt will automatically be searched in Event.EventData."

ref #442

* Update CHANGELOG.md

added bug fixes (#444) and `Performance and. accuracy`  add contributor ref(#395)

* Update CHANGELOG-Japanese.md

* Translated v1.2 change log to Japanese

v1.2の内容を日本語に修正

* fixed typo

added lacked back quote.

* added description

added following issue and pr description to readme

- #216 / #469 L8
- #390 / #459 L9
- #478 / #482 L19
- #477/ #483 L20

* added description README.md

added following issue and pr description to readme

- #216 / #469 L8
- #390 / #459 L9
- #478 / #482 L19
- #477/ #483 L20

* changelog update

* changelog update

* update

Co-authored-by: DustInDark <[email protected]>

* updated rules #493 (#494)

* Resolve conflict develop (#496)

* removed tools/sigmac (#441)

* removed tools/sigmac

- moved tools/sigmac to hayabusa-rules repo

* fixed doc link tools/sigmac

* fixed submodule track

* fixed submodule track from latest to v1.1.0 tag

* fixed link

* fixed rules submodule targe #444

* updated submodule

* updated rules submodule

Co-authored-by: Yamato Security <[email protected]>

Co-authored-by: Yamato Security <[email protected]>
Co-authored-by: kazuminn <[email protected]>
Co-authored-by: James / hach1yon <[email protected]>
Co-authored-by: garigariganzy <[email protected]>
Co-authored-by: itiB <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pivot Keywords List機能
3 participants