birabiraのめも

忘れっぽいのでここにメモをしていきます

フォレンジックタイムライン分析で使えるtimesketch試してみた

はじめに

フォレンジックのタイムライン分析の基盤として利用できるtimesketchを試してみた。試すと今まで分析を行ってきた中での若干のモヤッとが解消されるような気がする。

私はフォレンジックアナリストではないため、細かい表記ゆれや言葉の定義の間違いなどは優しく指摘してほしいです。よろしくお願いします。

きっかけ

いつものようにYamatoSecurityのhayabusaのGithubページを見ていると、分析方法としてtimesketchが紹介されていることに気がついた。

github.com

前から紹介されてたかな〜と思いつつtimesketchについて調べてみると結構面白いことができそうということがわかったのでいろいろ試してみました。

timesketchとは

timesketch.org

timesketchとは複数人でフォレンジックにおけるタイムライン分析を行うためのプラットフォームです。ファイルの書き込み時間や実行時間など膨大なタイムライン情報を複数人で効率的に分析できるようです。

いいところ

  • 各アナリストにアカウントを払い出す事ができる
  • ログに対して★やコメントをつけることができる
  • OpenSearchベースなので、全文検索や”ログへのリンク”を作成することができる
  • SIgmaルールやIoCを登録しておいて、検知させることができる

そして、ちょいちょいメンテナンスされているのがすごい!

試してみた

ユーザーガイドが親切なので一通り目を通しておきましょう。

Uploading timelines - timesketch

インストール

正直公式のインストール手順以外のことはないのでこのブログでは割愛したいと思います。(再構築が面倒というのもあります)

Install - timesketch

データのインポート

構築後にログインすると、Investigationの作成が行なえます。ケースみたいなもので、ログがこのinvestigationごとにまとまるようです。

追加画面

timesketchに追加できるデータは次のとおりです。

  1. .plasoファイル: Plasoと呼ばれるスーパータイムラインを生成するツールでディスクイメージ等をパースすると生成されるDBファイルです。それをそのままuploadできます
  2. CSVjsonファイル: ドキュメントに記載のある通り3つのヘッダー(message, datetime,timestamp_desc)さえあればアップロード可能です。この3種類のヘッダーは.plasoの基本的なスキーマに合わせているようです。なお、それ以外にヘッダーを付けた場合はそのままOpenSearchに取り込まれます

Uploading timelines - timesketch

Import from JSON or CSV - timesketch

今回は特定の攻撃シミュレーションツールをWindows上で動かし、様々な痕跡が残されたディスクイメージに対し、Plasoでスーパータイムラインを生成したていで行きます。

分析画面

結構直感的に使えると思います。左のメニューを押すとそれぞれのログを見ることができる(クエリーに反映される)ので適当に見ていきます。OpenSearchなので全文検索に頼ったほうが良いでしょう。

検索 (mimikatz)

試しにmimikatzと検索しました。大変重要なイベントなので★をつけておきたいと思います。

mimikatz

中のイベントを見てみると、次の図のような感じでした。

mimikatz1

mimikatz2

コンテキストサーチ

コンテキストサーチを行うと、そのログの前のログを見ることができます。これはアナリストにとって非常に嬉しい機能ではないでしょうか。

前後のログを見たいログのから、Context searchを選択します。

画面下半分が切り替わり該当のログから前のログを確認することができます。

Context search

少し見づらいので、REPLACE SEARCHを押し、メインの画面に時間軸をフィルターとして時間軸を設定します。何やらshellbagsに痕跡がありそうです。★しておきましょう。

もちろん★をつけたイベントを対象に検索できます。同様にタグをつけたイベントも検索できるので相当幅広い使い方ができそうです

コメント

イベントにコメントも付けられます。すごい。

アナライザー

まだすべてを把握していないですが、事前に定義されているアナライザーを動かすことができる様子。

Intelligence

IoCを登録しておくことができる。いちいちクエリーを用意しておくよりも便利かもしれない

画面左の虫眼鏡マークから検索画面に遷移することができる。

sigma

sigmaルールを設定することができる。おそらくアナライザーでsigmaというものがあるのでsigmaルールを設定しておいて、アナライザーでtagをつけるという使い方が良さそう。とりあえず適当に作ってみた。

sigma

hayabusaの検知結果を入れてみた

github.com

便利。

注意点

  • 新UIと旧UIが混在しており、使用感はどっちもどっち。検索は新UIのほうが使いやすいが、Sigmaなどは旧UIのほうが便利と感じた
  • 新UIが微妙にバグっておりログへのリンクをコピーのボタンを押すとエラーになる

まとめ

timesketchを試してみましたが、複数人でログを分析し状況を共有できるプラットフォームとしてはなかなかイケてるのではないでしょうか。plasoのみならずcsvファイルなどのインポートもできるためファイアウォールのログやプロキシーのログも格納することでより網羅的な分析ができるようになると思います。

最後に

なにかDFIR関連で面白いものがあれば教えてください