Windowsタイムライン(ActivitiesCache.db)の解析方法

フォレンジック
この記事は約7分で読めます。

端末のフォレンジックで、タイムライン解析をすることは多い。

Windowsにもとから備わっているタイムラインを解析することもできるので、そのやり方について書いていく。

ActivitiesCache.dbとは

ActivitiesCache.dbの概要

WindowsOSにおいて、デフォルトで保存されるデータベースのひとつ。

中身はSQLite形式の単品DBファイルとなっている。

ActivitiesCache.dbはWindowsで行われた活動を時系列で記録しており、端末上でどんな操作が行われたかを追跡するのに使うことができる

ちなみにSQLiteってなに?という方向けに補足しておくと、単独ファイルとして扱えるDBファイルのこと。

情報処理技術者試験で出てくるDBといえば、SELECT文やCREATE文、GRANTなどのSQLで操作する関係DBを意味すると思う。
ところが、SQLiteはそのような操作は必要なく、1つのdbファイルが内部に複数のテーブルを持っていて、各テーブルに行列があるイメージ。
よくわからなくてもOK!

No Time to Waste: How Windows 10 Timeline Can Help Forensic Experts
Overview of How Windows 10 Timeline Can Facilitate Work of Forensic Experts

ActivitiesCache.dbからどんなことがわかるのか

このdbファイルに記録されるデータの代表的なものとしては

  • 実行されたアプリケーション名、パス、日時
  • 実行されたアプリケーションのGUID
  • GUIアプリが一番手前に表示された時間や海洲
  • 開かれたファイル名やパス、日時
  • コピーペーストしたファイルやパス、日時

などがある。
他にもこまごまとしたものもある。

ActivitiesCache.dbの活用方法

インシデントレスポンスや不正調査で活用できる。

このdbファイル内には、過去に実行したファイルの名前、パス、実行時間などが記録されており、多くの場合マルウェアの活動把握に有用だ。

また、不審なツール(ワイプツールなど)の実行有無を確認することもでき、特に不正調査の場合には後のカービング工程への期待度を図るのにも使えるため、わりと調査の初期段階で活用できるアーティファクトといえる。

あと、このタイムラインは単独のアーティファクト(サブファイルや関連レジストリもあるが)を読み込むことで解析する。
つまり、統合型のフォレンジックツール(AxiomやXwaysなど)にHDDまるごと読み込ませる必要がないので、ライブフォレンジックで解析することもでき、けっこうお手軽に調査できる

ただし、残念ながら過去にこのdbを操作して自身の痕跡を消去するようなマルウェアも発見されているため、すべてを鵜呑みにすることはできない。

また、これもネガティブな要素だが、統合フォレンジックツールによるタイムライン機能に比べると詳細度は落ちることになる。
そういう統合ツールによるタイムラインは、HDDやメモリダンプ内の各アーティファクトの情報を集約してタイムラインを作るため、あくまで1dbファイルから抽出されるものより内容が濃くなる。

アーティファクトの保存場所

ActivitiesCache.dbは以下のフォルダに保存されている。

C:\Users\user\AppData\Local\ConnectedDevicesPlatform\<________>

上の<__________>の部分は環境によって変わるので注意。

ツール1:「WindowsTimeLineParser」での解析方法

WindowsTimeLineParserの概要

今回は2つのツールを使ってみようと思う。

1つ目は「WindowsTimeLineParser」。
Githubにアップされている。
もちろん無料。

ツールのインストール方法

インストールは不要で、Githubからダウンロードして実行するだけで、その端末内のActivitiesCache.dbを解析できる。

特別な環境づくりは必要なく、誰でも簡単に導入できるはず。

こういうところ、Windows向けツールは優秀だよね。

Release WindowsTimeline parser (x64) · kacos2000/WindowsTimeline
Update : - Minor GUI fixes (e.g. dpi scaling) - Some other minor fixes/updates

解析例

まずはダウンロードした実行ファイルを起動する。

次に左上の「File」からActivitiesCache.dbを選択する。

ActivitiesCache.dbを読み込むとこのような画面に変わる。

ライブフォレンジックの場合はこれで準備完了。
右側の「Run」という青いボタンを押せば解析が始まる。

ちなみに、ライブフォレンジックではなく、ActivitiesCache.dbのみを別PCから読み込む場合には、NTUSERというレジストリハイブの指定も必要になってくる。(今回は不要)

文字が小さくて恐縮だが、こんな感じで表示される。(後で拡大あるよ)

細部を見ていくと、このように実行ファイルの履歴が見れたり、

実行ファイルの開始時間や終了時間、タイムゾーンにGUID、

Focusという項目もある。
これはつまりGUIを選択してウィンドウの一番手前に持ってくることを意味する。
「お前このアプリガンガン使ってるやんけ!!」と追及したりできる。

ザックリとこのような感じの解析結果になる。

WindowsTimeLineParserは実行するだけでほぼ自動的に解析から結果出力まで行ってくれるため、誰でも簡単に使えていいね。

ツール2:WxTCmdでの解析方法

WxTCmdの概要

こちらも無料のツール。

サイバーセキュリティ業界のツールアイドル「EricZimmerman」の作品の一つ。

コマンドラインで実行するツールだが、オプションも限られていてかなり使い勝手がいいので、オススメ。

基本的にcsv形式に解析することになる。

ツールのインストール方法

こちらもインストールは簡単で、以下のダウンロードサイトからファイルを落としてくるだけ。

あとは実行するだけで完了。

ちなみにDLサイトには、.netバージョン4と6があるが、Win10のユーザーであれば基本的に4を使えばOK。

Eric Zimmerman's tools

解析例

まずはコマンドプロンプトを管理者権限で起動する。

起動後は以下のような構文でWxTCmdを実行。
おそらくこのブログを読むような人に説明する必要はないと思うが、-fでアーティファクトのパスを指定し、–csvで出力先を指定している。
ちなみに適当にexeを実行したらオプションの説明がでてくる。(こういうとこがEricのいいところだよねぇ)

WxTCmdlexe -f C:\Users\user\AppData\Local\ConnectedDevicesPlatform\<_____>\ActivitiesCache.db --csv C:\temp

それでは実行。

すると、–csvオプションで設定した出力先フォルダにcsvファイルが作成されるので、エクセルなどで起動すると出力結果を確認できる。

先ほどのWindowsTimeLineParserとは、細かなところで出力形式が異なっているが、おおむね同じようなデータが確認できる。
個人的には、データの並びや表示方法的に、こちらのWxTCmdの方が好きだ。

というのも、アクティビティの種類について説明文をいれてくれるため、後の調査が少し楽になるからだ。

補足:SQLiteDBとして閲覧してみる

ActivitiesCache.dbはSQLite形式のDBなので、DB Browser for SQLiteで中身を見ることができる。

開いてみるとこんな感じになる。

うーん…無理だな

このままでもある程度解析できるだろうけれど、時刻表示も変えないといけないし、一部の項目はDBのまま表示されるので効率が悪い。

おとなしくWxTCmdを使うのがベストだろうね。

まとめ

今回はWindowsのデフォルトタイムラインアーティファクトを解析してみた。

正直、AxiomやXwaysを使える環境にあればこのアーティファクトを使うことはないだろうけれど、知っていて損はない知識。
なにより高速にタイムラインを確認できるところは統合型ツールにはない強みだからね。

上では2つのツールを紹介したが、ぜひとも両方使って見てほしい。
手軽さのWindowsTimeLineParserと解析しやすさのWxTCmd。どちらも強みがあるね。

コメント

タイトルとURLをコピーしました