Closed YamatoSecurity closed 1 year ago
mtg memo: hayabusa.pyの実装は、かなり難しい(現状すべての動作が把握できているわけではない)ので、hayabusa側で対応したほうが良さそう。とは言えhayabusa側でも注意して実装しないと遅さに直結することになる。 (現在の構成に処理を追加することで対応はできる)。
因みに|base64offset|equalsfield
とか|base64offset|startswith
等々の他の組み合わせに対応しなくても良いはずなので、2つのパイプは入っているが|base64offset|contains
は|base64offsetcontains
というような一つのaggregatorとして実装した方が良いかもしれません。ま、|base64offset|startswith
と|base64offset|endswith
というルールは今ありませんが、一応有り得そうです。
|base64offset|equalsfield
と|base64offset|re
の組み合わせは不可能です。
(メモ)
sigmaルールからhayabusaルールに変換するスクリプトの方も修正する必要あり。
現在9件のルールが
Field|base64offset|contains:
を使っていますが、対応していないので、使えません。contains
で検知したい文字列はbase64でエンコードされていますが、offsetによってエンコードされた文字列が3つの可能性になります。 正しく検知するのに、ルール変換時に3つのbase64でエンコードされた文字列を探す必要があります。CyberChefで3つのoffsetを計算する例:
詳細情報:
注意: hayabusa.pyのバックエンドが対応していないので、変換時に失敗して、変換されたファイルが作成されません。
Field|base64offset|contains:
を無視するようにhayabusa.pyを修正する必要があります。この機能は全部hayabusa.pyで対応して、変換時に3つのエンコードされた文字列を出力するようにできますが、便利なのでhayabusaルールでも
Field|base64offset|contains:
に対応したいです。