Closed hitenkoku closed 2 years ago
%MitreAttack%
を%MitreAttackTags%
と%OtherTags%
に分けますか?
--all-tags Output all tags when saving to a CSV file
のオプションが不要になるので、削除して大丈夫ですよね?
はい、一応確認したいのですが、おそらくタグの出力抑制をconfig/output_tag.txtで行っていましたがそちらの機能も削除して問題ないでしょうか(output_tag.txtに書かれたもの以外は --all-tagsがないと出力しないようになっている)
%MitreAttackTags%は「attack.xxx」もしくは「t.xxx」のフォーマットにあっているもののみで、それ以外のタグは%OtherTags%で対応する形でよいでしょうか。
情報ありがとうございます。なるほど。
%MitreAttackTags%
だと、テクニックも入ってしまうので、
%MitreTactics%
で「attack.xxx」を出力する。
%MitreTechniques%
で「t.xxx」を出力する。
%OtherTags%
でその他のタブを出力する。
という風に分けたいのですが、大丈夫ですか?--all-tags
の指定の代わりに、スキャンプロファイルに%OtherTags%
の有無で全て出力するかどうか判定するのはどうですか?%MitreTactics%
、%MitreTechniques%
、%OtherTags%
をconfig/output_tag.txt
で自由に文字列の置換できるようにしたいのですが、大丈夫ですか?@YamatoSecurity コメントありがとうございます。
Exe | attack.Impact
になる。(書いていないものはそのまま出す)一応この文字列の置き換えのルールは完全一致であることを条件にしたいと思いますが問題ないでしょうか。(attack.ExecutionとExectionが別のものを指している可能性もあるため)
ありがとうございます!
-R, --hide-record-id Do not display EventRecordID numbers
を忘れました。これも不要になりますね。削除しましょう。
3. については、Sigmaルールのタグは基本的に小文字のようなので、完全一致で良いと思います。
良く考えたら、output_tag.txt
をTacticsタグ専用にした方が良さそうなので、まずmitre_tactics.txt
にファイル名を変更しましょう。
%MitreTactics%
はmitre_tactics.txt
を参照して、定義されているものを書き換えて、出力します。書いていないものはattack.t1560.001
、hacktools
、attack.g0092
等のその他のタグになるので、無視しましょう。
%MitreTechniques%
を作りたいと書きましたが、確認したら、attack.g0045
のグループタグもattack.s0111
のsoftwareもありました。テクニック、グループ、ソフトウェアのoutput_tags.txt
のような設定ファイルはあった方が良いかなと考えましたが、1) リストが非常に長いので管理が難しい 2) 出力する情報が大きくなるので、G0045
やS001
のIDのまま出力したいと思います。
attack.g0092
等は長いので、attack.
を消したいのと、Gを大文字にしたいです。また、グループ、テクニック、ソフトウェアを別々に分けた方が良いのかなと考えましたが、(例: %MitreTechniques%
, %MitreGroups%
, %MitreSoftware%
) 変数が増えるのと、あまり分ける必要が無い気がするので、全部%MitreTags%
にしたいと思います。
まとめると、タグ出力のロジックは:
%MitreTactics%
はmitre_tactics.txt
で定義されているかどうかチェックします。定義されている場合、出力します(例: attack.execution
=> Exec
。定義されていないものを無視します。%MitreTags%
はattack.s
、attack.g
、attack.t
から始まるタグを探します。あった場合は最初のattack.
を消して、残った文字列を大文字にする。
例:
attack.t1003
=> T1003
attack.g0004
=> G0004
attack.s0029
=> S0029
(T、G、Sから始まるTacticはないので、Tacticとの勘違いはないはずです)
%OtherTags%
はattack.
から始まっていないタグをそのまま出力します。
例:
hacktools
=> hacktools
色々ややこしくてすみません。まだ分かりにくいところがあったら、聞いて下さい!
ありがとうございます。問題ないと思いますので一旦それで作ってみます。
機能の作成は出来ました。現在2GBのデータを使って実行時間の比較を行いたいと思います
TagsフィールドにMitreAttackの情報も出力されるので、MitreAttack情報が2回出力されてしまいます。TagsフィールドはMitreAttack以外のタグだけ出力できますか?
ref: https://github.com/Yamato-Security/hayabusa/pull/631#issuecomment-1200305628