はじめに
sysmon活用までの流れ(おさらい)
痛みのピラミッド
- Threat Huntingのエキスパート David Biancoさんが説明するPyramid of Painを元にしてまずは、Hunting成熟度モデル level1のhash値調査からやってみます。
さあ調査(Level1)
-
Hash Values調査
-
まずはhash値のリストをlookupに登録
-
lookupファイルの編集はlookup file editorアップを使うと楽
-
あとはマッチングするかcheck。ヒットしたらCampaignフィールドが新たに表示されるのでフィルタ条件に。
sourcetype="xmlwineventlog:microsoft-windows-sysmon/operational"
|lookup malicioushash SHA256
|search Campaign=*
さあ調査(Level2)
-
既知のhash値だけでは、まだまだ安心とは言えないですね。いくらでもhash値を変えてくることは容易に想像できます。そこで1段ギアをあげて攻撃の痕跡をhuntingしてみましょう。
-
Host Artifact層の**起動プログラム(プロセス)**調査
-
Host Artifactとは?
Host Artifacts: Observables caused by adversary activities on one or more of your hosts. Again, we focus on things that would tend to distinguish malicious activities from legitimate ones. They could be registry keys or values known to be created by specific pieces of malware, files or directories dropped in certain places or using certain names, names or descriptions or malicious services or almost anything else that's distinctive.
※ すべてのファイルおよびフォルダは%APPDATA%\Adobe\flash[ランダムな4文字の英数字]\bin配下に作成されます。
- なるほど。であればSPLで以下のように表現してみよう。ポイントはバックスラッシュ( \ )文字をエスケープさせるために\一つ追加してあげる必要があります。
(Image=*Adobe\\flash\\*\\bin\\*)
AND
(app.js OR
node.exe OR
flash.vbs OR
config\\.regeditKey.rc OR
config\\app.json OR
config\\auto.json OR
tools\\getProxy.exe OR
tools\\uninstaller.exe)
Image=Adobe\flash\\bin\*
- こうすれば、注釈にあるように生成されるexeファイル等のパス(置き場)を指定して調査も可能です。
高速調査のすゝめ
-
sysmonのデータも数百台を超えて、期間も数ヶ月さかのぼって調査しようと思うとすぐにはサーチ結果が帰ってこない可能性があります。
-
そこでおすすめなのは高速化Endpointデータモデルを使う方法です。
-
Datamodelなに?という方はこちらをご参考ください
-
Endpointデータモデルの中にはProcessesというdatasetがあり、これがsysmonのプロセス作成イベントのログと対応しています。
-
ぜひCIM Appをインストールして、Endpointデータモデルだけでも有効化してみてください。
-
tstatsコマンドで調査を実施。
|tstats summariesonly=t count from datamodel=Endpoint.Processes by Processes.process_hash host
|rex field=Processes.process_hash SHA256=(?<SHA256>.*)
|fields - Processes.process_hash