Commit Graph

521 Commits

Author SHA1 Message Date
itiB
b2692ef983 Add: input function for start/end option 2021-11-24 00:09:41 +09:00
itiB
034f9c0957 Add: sigma rules (#175) 2021-11-22 08:45:44 +09:00
DustInDark
b53342218c Feature/output logo#206 (#222)
* add output logo #206

* added newline and orgnization name #206

* add output rule count #200

* Changed yml summarize the totals for each folder hierarchy. #157

* added analyzing evtx file count output #157

* added loaded rule count output #157

* added quiet option #206
2021-11-21 15:16:44 +09:00
DustInDark
86321a4502 Feature/output read rule directory#201 (#221)
* fixed filepath evtx extension #162

* added rules option to config usage #201

* fixed filepath evtx extension rule #162

* added rules directory read feature #201

* added test case #201

* fixed usage set #201

* removed all check rule #201

* fixed rule read function data #201
2021-11-20 14:01:50 +09:00
DustInDark
0b85a280f0 output fix logontype and change order #197 #198 (#217)
* changed output column order #198

* added eventkey alias #197

* fixed eventid double quatation #197

* fixed eventid double quatation #197

* fixed logontype not converted #197

* fixed WorkStation and added TargetDomainName #205

* fixed typo #205

* Fixed the problem that conversion for No-String types #197
2021-11-20 11:03:28 +09:00
DustInDark
199a8231c1 v1.0でリリースしない機能の削除、contributorsの表示、levelオプションのデフォルト値修正 #141 #211 (#218)
* changed default level to Low #211

* fixed usage #211

* erased Lang option #195

* changed output credit to contributors #141

* Removed contributor information for uncreated features and features that will not be introduced in v1.0. #141

* removed slack notification feature #202

- removed config option
- removed artifact slack notification call

* removed description of slack notification #202

* fixed default level to Low #211

* removed description about slack notification #202
2021-11-20 09:56:59 +09:00
DustInDark
e2ac686c3f Feature/verbose output rule and file#188 (#219)
* added verbose output rule and evtx path #188

* fixed typo

* changed yaml read error to warn message #188

- added AlertMessage::warn
- yaml read error changed from error to warn
2021-11-20 09:10:17 +09:00
DustInDark
fb66b987ea fixed output evtx file path in event statistics #192 (#193) 2021-11-14 17:49:46 +09:00
DustInDark
480f2d26c0 Feature/change output timeformat#154 (#194)
* changed default output time format #154

* added time zone #154

* added rfc3339 option #154
2021-11-14 17:48:38 +09:00
James
7d49b0b521 Feature/#187 change allowlist regexes filenames (#189)
* add risk level filter arguments #45

* fix default level in help #45

* add test yaml files #45

* refactoring and fix level argument usage.

* cargo fmt --all

* add risk level filter arguments #45

* fix default level in help #45

* add test yaml files #45

* refactoring and fix level argument usage.

* cargo fmt --all

* update

* change filename

* fix regexe and allowlist filename in document #187

Co-authored-by: DustInDark <nextsasasa@gmail.com>
2021-11-12 13:53:09 +09:00
James
22c8302c4c change from stdout to stderr. (#190) 2021-11-12 13:21:14 +09:00
DustInDark
66b8f2de9e Feature/risk level condition#45 (#186)
* add risk level filter arguments #45

* fix default level in help #45

* add test yaml files #45

* refactoring and fix level argument usage.

* cargo fmt --all

Co-authored-by: ichiichi11 <takai.wa.hajime@gmail.com>
2021-11-11 23:47:29 +09:00
James
5bfa6832c0 fix value keyword (#183) 2021-11-11 00:12:58 +09:00
DustInDark
22b36314a3 removed filepath extension #162 (#181) 2021-11-10 22:55:37 +09:00
DustInDark
be04a0410e Hotfix/hidden file read159 (#180)
* added error output of no evtx extension in  filepath and directory args #159

* fixed error of  hidden file read #159

- file extension is limited to yml  when load of rule

* fix for no extension rule file.

Co-authored-by: ichiichi11 <takai.wa.hajime@gmail.com>
2021-11-10 22:55:20 +09:00
James
9b24bc661b disp rule filepath (#179) 2021-11-10 20:00:52 +09:00
DustInDark
b278f12cec Feature/output elapsedtime153 (#172)
* add output process count of detects events #151

* add output process count of detects event when output stdio #151

* add format enter

* add output elapsed time #153

* fixed output position #153
2021-11-10 19:38:04 +09:00
DustInDark
0c7ad547bf changed output format #152 (#176)
- Title->Alert
- Message->Details
- add Computername and EventID
2021-11-10 19:33:25 +09:00
James
15a28e5602 cache regex for allowlist and regexes keyword. (#174) 2021-11-10 03:10:03 +09:00
James
1bdf6943ff update (#171) 2021-11-09 00:50:15 +09:00
James
c5d5d25817 change from black to allow. (#164) 2021-11-09 00:41:21 +09:00
James
e77a193c5c Feature/#158 add rulefilepath column (#168)
* add level csv column

* update

* Feature/output detect count151 (#167)

* add output process count of detects events #151

* add output process count of detects event when output stdio #151

* add format enter

* update

Co-authored-by: DustInDark <nextsasasa@gmail.com>
2021-11-09 00:35:28 +09:00
James
c97cf7373a change from lagotto to hayabusa. (#170) 2021-11-09 00:32:24 +09:00
DustInDark
e7e86c23c0 Feature/output detect count151 (#167)
* add output process count of detects events #151

* add output process count of detects event when output stdio #151

* add format enter
2021-11-08 23:51:01 +09:00
James
696dd9192a add level csv column (#166) 2021-11-08 22:37:49 +09:00
DustInDark
dcf015970c fixed warning #149 (#161) 2021-11-06 06:46:01 +09:00
James
4a1e46e47e Feature/#140 document (#144)
* update

* fix regexes and whitelist

* underconstructing

* fix

* update

* add pic

* update

* update

* update

* fix
2021-10-22 00:43:40 +09:00
nishikawaakira
23c60fa8ff Feature/slack_notify#134 (#139)
* add slack notify

* cargo fmt --all

* slack-hook version up

* change bot name
2021-09-30 20:43:50 +09:00
garigariganzy
76103d31f3 Feature/event stats#105 (#137)
Event集計機能実装

Co-authored-by: HajimeTakai <takai.wa.hajime@gmail.com>
2021-09-20 23:53:45 +09:00
James
403844ae45 finish (#136) 2021-09-13 23:26:15 +09:00
James
a469e6e60b #102実装しました。 (#133) 2021-09-09 10:37:33 +09:00
DustInDark
330cbb58ca WIP: Feature/count sigma rule #93 (#113)
* Feature/call error message struct#66 (#69)

* change  way to use write trait #66

* change call error message struct #66

* erase finished TODO #66

* erase comment in error message format test #66

* resolve conflict #66

* Feature/call error message struct#66 (#71)

* change ERROR writeln struct #66

* under constructing

* add statistics template

* fix

* add comment

* add condition impl #93

* fix erased get_descendants and remove unnecessaly struct #93

* erased finished TODO comment

* erased finished TODO comment

* Revert "fix erased get_descendants and remove unnecessaly struct #93"

This reverts commit 82e905e045.

Revert "add condition impl #93"

This reverts commit 19ecc87377.

* add doc comment to rule function

* fix and add test doc commet

* add doc to AggregaationParseInfo

* add struct count in aggregation condition. #93

* add evaluate aggregation condition func provisional architecture. #93

* add countup function #93

* fix key to count hashmap #93

* add judge aggregation condition function #93

* fix  error #93

* fix test #93

* share compile error ver

* fix detection.rs compile error

* fix timeframe parse

* add countup process in select

* fix select argument

* add test countup

* add test count judge #93

* add SIGMA windows count field and by keyword #93

* fix reference record in countup/judgecount #93

* add timedata in countup schema #93

* Refact: split code for matcher from rule.rs

* Reafact: combine multiple declared functions

* Refact: split code for SelectionNode from rule.rs

* Refact: mv test code for SelectionNode from rule.rs

* Refact: mv condition's code from rule.rs

* add count to detection #93

* fix compile error

* fix source to test ng. #93

* erase unused variable #93

* fix count architecture #93

* fix comment and compile error

* erase dust (response  to review)

* erase dust (response to review)

* reduce calling Rulenode function (response to review)

* add aggregation output func

* erase dust(response to review) and add agg condition String func

* change error output

* reduce call RuleNode function(response to review)

* To reduce call RuleNode function

* fix test name

* fix coflicted resolve miss

* add code comment in timeframe count.

* add sort record timedata in timeframe(response to review)

* fix unnecesasry result in ArgResult

* add no field and by value count test

* create count test no field and by with timeframe

* erase duplicated timeframe data in RuleNode

* fix test error no field and no by count with timeframe

* fix test name

* add test case of exist field and by count.

* fix by count test and add test count othervalue in timeframe

* add test

* fix judge_timeframe logic when indexout

* fix test name and add count test field and by with timeframe

* adjust #120

* move associated count function from rulenode

* fix error when resolve conflict

* fix no output bug if exist output

Co-authored-by: HajimeTakai <takai.wa.hajime@gmail.com>
Co-authored-by: itiB <is0312vx@ed.ritsumei.ac.jp>
2021-07-16 07:20:44 +09:00
itiB
65b714b81b rule.rsを分割する (#121)
* Refact: split code for matcher from rule.rs

* Reafact: combine multiple declared functions

* Refact: split code for SelectionNode from rule.rs

* Refact: mv test code for SelectionNode from rule.rs

* Refact: mv condition's code from rule.rs

* Refact: mv aggregation's code from condition_parser.rs

* Refact: use relationships

* cargo fmt --all

* remove unnecessary matcher

Co-authored-by: HajimeTakai <takai.wa.hajime@gmail.com>
2021-07-08 01:41:59 +09:00
James
c13e6da932 Feature/sigmarule wildcard regex caseinsensitive#119 (#123)
* under constructing

* underconstructing

* fix rule file for SIGMA rule.

* wildcard case insensetive.

* refactor

* Update src/detections/rule.rs

add test triple backshash

Co-authored-by: itiB <is0312vx@ed.ritsumei.ac.jp>

* remove unnecessary if statement

Co-authored-by: itiB <is0312vx@ed.ritsumei.ac.jp>
2021-07-02 20:19:53 +09:00
James
ea9f6b96c7 Feature/and or not #107 (#117)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* dekita

* cargo fmt --all

* change message

* count parse implementedgit add .!

* Update: use docstring in rule.rs (#118)

* add testcase.

* add testcase.

* fix comment

Co-authored-by: itiB <is0312vx@ed.ritsumei.ac.jp>
2021-06-04 00:35:03 +09:00
itiB
b22051e207 Feature/str exact match#79 (#100)
* Add: LeafMatch struct 'StartsWithMatcher'

* Add: LeafMatch struct 'EndsWithMatcher'

* Add: LeafMatch struct 'ContainsMatcher'

* WIP: StrFeature

* Add: get strFeature's from rule file

* refact

* Revert "refact"
This reverts commit 5439b4d6d52dff4a90307206404e38ff20fe792e.

Revert "Add: get strFeature's from rule file"
This reverts commit 152ad10a03f67f23e6de3db93be9b4e7eaf6a7a8.

Revert "WIP: StrFeature"
This reverts commit bf7271348d30b24f6063cfe8ce5b27e956143d60.

* Add: matcher selector for string options

* Add: rm |xxx text from rule file

* fix: leafNodes's |xxx command overwritten

* test: startswith, endswith, contains LeafNodeTest

* test: use string MethodNode in OrSelectionNode

* cargo fmt --all

* Update: when undefined rule option occur, raise err
2021-05-28 23:19:43 +09:00
James
9b8bed70f8 Feature/timeline template #104 (#106)
* under constructing

* add statistics template

* fix

* add comment

* change for statistics
2021-05-16 01:34:48 +09:00
ichiichi11
ee23fc9a66 cargo fmt --all 2021-05-13 22:07:41 +09:00
ichiichi11
e960586ede fix comment 2021-05-13 22:05:49 +09:00
HajimeTakai
7cd0691764 cargo fmt --all 2021-05-12 23:19:03 +09:00
HajimeTakai
e504a36d0a refactoring 2021-05-12 23:16:11 +09:00
HajimeTakai
4e68e75cb2 add testcase 2021-05-12 22:45:38 +09:00
HajimeTakai
b9752e567d underconstructing 2021-05-10 00:41:20 +09:00
HajimeTakai
61ae299e4b underconstructing 2021-05-10 00:14:50 +09:00
HajimeTakai
7913fbfb95 refactoring 2021-05-09 17:26:17 +09:00
James
2f24dc775f Feature/filter record by eventid#94 (#95)
* add function to get event id from rootnode.

* refactoring #76

* maybe fix bug.

* before test

* fix source files.

* cargo fmt --all

* add threadnum parameter
2021-05-06 20:58:43 +09:00
Alan Smithee
a68a59417d Feature/add eventfilepath to csv #76 (#89)
* Feature/call error message struct#66 (#69)

* change  way to use write trait #66

* change call error message struct #66

* erase finished TODO #66

* erase comment in error message format test #66

* resolve conflict #66

* Feature/call error message struct#66 (#71)

* change ERROR writeln struct #66

* add evtx file path export to csv #76

* fixed test case #76

* fix for #76

* forget cargo fmt -all

* fix testcase

Co-authored-by: ichiichi11 <takai.wa.hajime@gmail.com>
2021-05-01 09:49:48 +09:00
ichiichi11
377213c294 change comment 2021-03-22 00:02:24 +09:00
ichiichi11
f7ae24a785 change comment 2021-03-21 23:53:06 +09:00
ichiichi11
61ce8415bd マルチスレッド対応 2021-03-21 18:10:09 +09:00