アンタイ・フォレンジック妖怪の独り言

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

SANS ポスター:Windows Artifact Analysis(16) WebCacheV01.dat

ESENTUTLコマンドを使うことで、ESEDB の情報を確認できますが、WebCacheV01.dat ファイルについての取り扱いが下記資料 Page 15 で詳しく扱われています。

Forensic analysis of the ESE database in Internet Explorer 10
http://hh.diva-portal.org/smash/get/diva2:635743/FULLTEXT02.pdf

WebCacheV01.dat ファイルですが、まずデータベースがダーティーな状態かを確認するにはヘッダ情報を確認する事になります。ESENTUTLコマンドでは /mh オプションを使う事になります。(以下のテストはWebCacheフォルダからファイル一式をコピーして検証用フォルダに置いています)

>esentutl /mh WebCacheV01.dat

State: Dirty Shutdown

 仮にデータベースがダーティーな状態でも、NirSoft の ESEDatabaseView はそのまま開いて内容を確認できます。他のツールではエラーになる場合がありますのでクリーンな状態にする必要が出てきます。

ログファイルを反映するコマンドとして /r がありますので、WebCacheV01.dat とログファイル(V01)が同じフォルダにある状態でコマンドを実行します。

>esentutl /r V01 /d

Extensible Storage Engine Utilities for Microsoft(R) Windows(R)
Version 6.1
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating RECOVERY mode...
Logfile base name: V01
Log files: <current directory>
System files: <current directory>
Database Directory: <current directory>

Performing soft recovery...
Restore Status (% complete)

0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................

 

Operation completed successfully in 0.968 seconds.

 

再度状況を /mh コマンドでステータスを確認すると、State: Clean Shutdown になっている事が確認できます。

この作業を行う事前後でデータがどう異なるかは気になる点かと思います。ESEDatabaseView を使い、この作業前と後で出力した CSV データに差異があるかを確認することで、LOGが反映された事により変更または追加されたレコードを確認できます。
ログを反映させずに ESEDatabaseView で参照している場合、ログ内の反映されていないレコードは表示されていないという事になります。

ESENTUTL にはオプションとして /p も存在します。これは破損したDBなどを修復する事を目的としており、実行すると警告画面が表示されログを反映しないのでデータのロストが発生する可能性について表示されます。
/p オプションを使って復旧した場合もクリーンシャットダウンにする事が出来ます。
出力結果を、トランザクションログを反映した結果との差異を取ると、/p では欠落しているレコードが発生してくる事が(データによっては)確認できます。