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

[bug] An error occurs when executing cargo run because the files in the config folder cannot be read. #618

Closed
hach1yon opened this issue Jul 3, 2022 · 2 comments · Fixed by #619
Assignees
Labels
bug Something isn't working
Milestone

Comments

@hach1yon
Copy link
Collaborator

hach1yon commented Jul 3, 2022

Describe the bug
下記2つのバグがあるようです。

  • configファイルの読み取り失敗により、cargo runの実行でエラーが発生する。
  • --rules-configオプションが効かない

hayabusa.exeをC:\Users\takai\dev\git\hayabusaにコピーして下記のように実行すると、エラーは解消される。

hayabusa.exe --directory=C:\Users\takai\dev\git\hayabusa-sample-evtx -r 
 .\rules\hayabusa\default\alerts\WindowsDefender\1116_WindowsDefenderAlert.yml

Step to Reproduce
Steps to reproduce the behavior:

  • cargo runを実行すると下記のエラーが発生する。
C:\Users\takai\dev\git\hayabusa>cargo run -- --directory=C:\Users\takai\dev\git\hayabusa-sample-evtx -r .\rules\hayabusa\default\alerts\WindowsDefender\1116_WindowsDefenderAlert.yml
    Finished dev [unoptimized + debuginfo] target(s) in 0.19s
     Running `target\debug\hayabusa.exe --directory=C:\Users\takai\dev\git\hayabusa-sample-evtx -r .\rules\hayabusa\default\alerts\WindowsDefender\1116_WindowsDefenderAlert.yml`
[ERROR] Cannot open file. [file:C:\Users\takai\dev\git\hayabusa\target\debug\rules/config/statistics_event_info.txt]
[ERROR] Cannot open file. [file:C:\Users\takai\dev\git\hayabusa\target\debug\rules/config/target_event_IDs.txt]


[ERROR] Hayabusa could not find the config directory.
Please make sure that it is in the same directory as the hayabusa executable.
  • --rules-configオプションをつけてcargo runしても反映されていないように見える
C:\Users\takai\dev\git\hayabusa>cargo run -- --directory=C:\Users\takai\dev\git\hayabusa-sample-evtx -r .\rules\hayabusa\default\alerts\WindowsDefender\1116_WindowsDefenderAlert.yml --rules-config=C:\Users\takai\dev\git\hayabusa\rules\config
   Compiling hayabusa v1.4.2-dev (C:\Users\takai\dev\git\hayabusa)
    Finished dev [unoptimized + debuginfo] target(s) in 2.76s
     Running `target\debug\hayabusa.exe --directory=C:\Users\takai\dev\git\hayabusa-sample-evtx -r .\rules\hayabusa\default\alerts\WindowsDefender\1116_WindowsDefenderAlert.yml --rules-config=C:\Users\takai\dev\git\hayabusa\rules\config`
[ERROR] Cannot open file. [file:C:\Users\takai\dev\git\hayabusa\target\debug\rules/config/statistics_event_info.txt]
[ERROR] Cannot open file. [file:C:\Users\takai\dev\git\hayabusa\target\debug\rules/config/target_event_IDs.txt]


[ERROR] Hayabusa could not find the config directory.
Please make sure that it is in the same directory as the hayabusa executable.

Expected behavior

Screenshots

Environment (please complete the following information):

  • OS: Windows
  • hayabusa version v1.4.1

Additional context

@hach1yon hach1yon added the bug Something isn't working label Jul 3, 2022
@hach1yon hach1yon changed the title [bug] failed to execute cargo run [bug] An error occurs when executing cargo run because the files in the config folder cannot be read. Jul 3, 2022
@YamatoSecurity
Copy link
Collaborator

Velociraptor等のツールから実行すると、カレントディレクトリではないディレクトリからの実行になるので、configディレクトリが見つからないというエラーで失敗するというクレームが来ていたので、カレントディレクトリじゃなくても実行できるようにHayabusa.exeが入っているパスを調べて、そこにあるconfigを使っています。なので、開発時に./target/release/hayabusa.exeなどを実行すると、configディレクトリを./target/release/configで探してしまうので、失敗します。
hayabusa.exeが入っているパスにconfigを探して、無い場合はカレントディレクトリにconfigを探すようにすれば、どっちもいけると思います。

@hitenkoku hitenkoku self-assigned this Jul 3, 2022
@hitenkoku
Copy link
Collaborator

以下の件について、--rules--rules-configについて対応をしようと思います。

  • --rules: hayabusa.exeが入っているパスを確認し、rulesフォルダがあるか確認し、なければカレントディレクトリのrulesを参照する。そこでrulesフォルダがなければエラーとする。
  • --rules-config: hayabusa.exeが入っているパスを確認し、rulesフォルダがあるか確認し、なければカレントディレクトリのrulesを参照する。そこでconfigフォルダがなければエラーとする。configフォルダがあって各種設定ファイルがないことへのチェックはこの処理では行わない(各種設定ファイルの読み込み時にエラーが出るため)

hayabusa.exeが入っているパスにconfigを探して、無い場合はカレントディレクトリにconfigを探すようにすれば、どっちもいけると思います

@hitenkoku hitenkoku added this to the v1.4.2 milestone Jul 3, 2022
hitenkoku added a commit that referenced this issue Jul 3, 2022
hitenkoku added a commit that referenced this issue Jul 3, 2022
hitenkoku added a commit that referenced this issue Jul 3, 2022
hitenkoku added a commit that referenced this issue Jul 3, 2022
hitenkoku added a commit that referenced this issue Jul 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
3 participants