フォレンジックでイベントログを抽出してオフラインで見る場合、Windowsの標準ツールは使い勝手が悪い。
EZツールなどでevtxをcsvに変換して、Timeline ExplorerかSIEM(Splunk等)に入れるかの選択肢になってくる。
しかし、変換が面倒だったりする。evtxのままSplunkのエコシステムに食わせたいというのがモチベーション。
とはいえ、単体のSplunkでは取り込めなかったので一手間が必要。
- Linux版のSplunkはevtxを取り込むことができない。
- WindowsのSplunkはevtxの形式を取り込めるかと思いきや、エクスポートしたやつは取り込めない
ということで、 Splunk Universal Forwarder(UF)を使ってエクスポートしたイベントログを取り込めるか試してみた。
なお、evtxに対応しているOSが必要なので、
- Splunk UF(Windows) → Splunk(Linux)の構成で行う。
- Splunk UF(Linux) → Splunk(Linux)の構成では取り込めない。
データの準備
Splunk UFをインストールするWindowsのデータをサンプルとして使う。
kapeを起動し、データを取得しておく。 ここでは、保存先は D:\result
に設定。
以下の構造でデータが取得できる。
Splunk(Linux)での設定
- 9997ポートでデータを待ち受けられるように設定。
- 格納用のindexを作成しておく。今回は
wineventlog
にする。
Splunk UF(Windows)での設定
appの作成
作成しなくてもいいけど、appを作り設定をまとめておく。
Windowsの場合、以下にUFがインストールされる。
C:\Program Files\SplunkUniversalForwarder
appを作るには、 etc\apps\
の下に適当に splunk_evtx_forwarder_sample
というフォルダを作り、合わせてそこにlocal
というフォルダも作る。
つまり、パスは以下のようになる。
C:\Program Files\SplunkUniversalForwarder\etc\apps\splunk_evtx_forwarder_sample\local\
次に、以下の4つのファイルを作成する
それぞれの中身を以下に書き換える。
- app.conf
[install]
state = enabled[package]
check_for_updates = false[ui]
is_visible = false
is_manageable = false
- inputs.conf
- monitorでevtxのファイルパスを指定。
- indexは最初に作ったindexに設定。
[monitor://D:\result\C\Windows\System32\winevt\logs\*.evtx]
disabled = 0
sourcetype = preprocess-winevt
index = wineventlog
crcSalt = <SOURCE>
- limits.conf
- スループットを無制限にする。
[thruput]
maxKBps = 0
- outputs.conf
- 転送先のSplunkの情報をセット。
-server
には転送先Splunk(Linux)のIPとポートを記述。
[tcpout]
defaultGroup = primary_indexers
forceTimebasedAutoLB = true[tcpout:primary_indexers]
server = 172.20.1.121:9997
UFの実行
準備ができたので、Splunk UFを起動する。
C:\Program Files\SplunkUniversalForwarder\bin>splunk.exe restart
取り込みの確認
Splunk (Linux)側でデータが取得できているか見てみる。
無事に取得。
参考
- https://qiita.com/saeoshi/items/e7e618ea7d8f64cf86f6
- https://community.splunk.com/t5/Monitoring-Splunk/Why-am-I-unable-to-parse-offline-windows-event-logs-using-Add/m-p/423128
- https://community.splunk.com/t5/Monitoring-Splunk/index-exported-evt-evtx-files/m-p/453803
- https://community.splunk.com/t5/Getting-Data-In/Universal-Forwarderが全てのWindows-Security-Event-Logを送付できてない/td-p/408884