フォレンジックタイムライン分析で使えるtimesketch試してみた
はじめに
フォレンジックのタイムライン分析の基盤として利用できるtimesketchを試してみた。試すと今まで分析を行ってきた中での若干のモヤッとが解消されるような気がする。
私はフォレンジックアナリストではないため、細かい表記ゆれや言葉の定義の間違いなどは優しく指摘してほしいです。よろしくお願いします。
きっかけ
いつものようにYamatoSecurityのhayabusaのGithubページを見ていると、分析方法としてtimesketchが紹介されていることに気がついた。
前から紹介されてたかな〜と思いつつtimesketchについて調べてみると結構面白いことができそうということがわかったのでいろいろ試してみました。
timesketchとは
timesketchとは複数人でフォレンジックにおけるタイムライン分析を行うためのプラットフォームです。ファイルの書き込み時間や実行時間など膨大なタイムライン情報を複数人で効率的に分析できるようです。
いいところ
- 各アナリストにアカウントを払い出す事ができる
- ログに対して★やコメントをつけることができる
- OpenSearchベースなので、全文検索や”ログへのリンク”を作成することができる
- SIgmaルールやIoCを登録しておいて、検知させることができる
そして、ちょいちょいメンテナンスされているのがすごい!
試してみた
ユーザーガイドが親切なので一通り目を通しておきましょう。
Uploading timelines - timesketch
インストール
正直公式のインストール手順以外のことはないのでこのブログでは割愛したいと思います。(再構築が面倒というのもあります)
データのインポート
構築後にログインすると、Investigationの作成が行なえます。ケースみたいなもので、ログがこのinvestigationごとにまとまるようです。
timesketchに追加できるデータは次のとおりです。
.plaso
ファイル: Plasoと呼ばれるスーパータイムラインを生成するツールでディスクイメージ等をパースすると生成されるDBファイルです。それをそのままuploadできます- CSVやjsonファイル: ドキュメントに記載のある通り3つのヘッダー(
message
,datetime
,timestamp_desc
)さえあればアップロード可能です。この3種類のヘッダーは.plaso
の基本的なスキーマに合わせているようです。なお、それ以外にヘッダーを付けた場合はそのままOpenSearchに取り込まれます
Uploading timelines - timesketch
Import from JSON or CSV - timesketch
今回は特定の攻撃シミュレーションツールをWindows上で動かし、様々な痕跡が残されたディスクイメージに対し、Plasoでスーパータイムラインを生成したていで行きます。
分析画面
結構直感的に使えると思います。左のメニューを押すとそれぞれのログを見ることができる(クエリーに反映される)ので適当に見ていきます。OpenSearchなので全文検索に頼ったほうが良いでしょう。
検索 (mimikatz)
試しにmimikatzと検索しました。大変重要なイベントなので★をつけておきたいと思います。
中のイベントを見てみると、次の図のような感じでした。
コンテキストサーチ
コンテキストサーチを行うと、そのログの前のログを見ることができます。これはアナリストにとって非常に嬉しい機能ではないでしょうか。
前後のログを見たいログの︙
から、Context search
を選択します。
画面下半分が切り替わり該当のログから前のログを確認することができます。
少し見づらいので、REPLACE SEARCH
を押し、メインの画面に時間軸をフィルターとして時間軸を設定します。何やらshellbagsに痕跡がありそうです。★しておきましょう。
starred search
もちろん★をつけたイベントを対象に検索できます。同様にタグをつけたイベントも検索できるので相当幅広い使い方ができそうです
コメント
イベントにコメントも付けられます。すごい。
アナライザー
まだすべてを把握していないですが、事前に定義されているアナライザーを動かすことができる様子。
Intelligence
IoCを登録しておくことができる。いちいちクエリーを用意しておくよりも便利かもしれない
画面左の虫眼鏡マークから検索画面に遷移することができる。
sigma
sigmaルールを設定することができる。おそらくアナライザーでsigma
というものがあるのでsigmaルールを設定しておいて、アナライザーでtagをつけるという使い方が良さそう。とりあえず適当に作ってみた。
hayabusaの検知結果を入れてみた
便利。
注意点
- 新UIと旧UIが混在しており、使用感はどっちもどっち。検索は新UIのほうが使いやすいが、Sigmaなどは旧UIのほうが便利と感じた
- 新UIが微妙にバグっておりログへのリンクをコピーのボタンを押すとエラーになる
まとめ
timesketchを試してみましたが、複数人でログを分析し状況を共有できるプラットフォームとしてはなかなかイケてるのではないでしょうか。plasoのみならずcsvファイルなどのインポートもできるためファイアウォールのログやプロキシーのログも格納することでより網羅的な分析ができるようになると思います。
最後に
なにかDFIR関連で面白いものがあれば教えてください