SANSからの練習問題を試す ファイルの取り出し (4)
やや脱線する事になりますが、Volatility にはメモリイメージからファイルを取り出すプラグインとして、dumpfiles プラグインもあります。
このプラグインを使うことで、メモリ上にキャッシュされているファイルのデータを取り出す事ができるようですので、試してみたいと思います。
>volatility.exe -f APT.img --profile=WinXPSP3x86 dumpfiles -D dumpfiles -S Summary.txt
取り出されるデータとしては下記の3タイプがあるとWikiに記載がありますね。
img – ImageSectionObject
dat - DataSectionObject
vacb – SharedCacheMap
今回、dumpfilesの結果として、PID 796に関連したファイルとして下記が出力されています。このうち .img は MZ から開始されているファイルで、残りの .dat はどうやら IEの履歴ファイルの先頭部分のようです。.datファイルを開くと "Client UrlCache MMF Ver 5.2" という文字列を確認する事ができます。
file.796.0x81d1ce40.dat
file.796.0x81dda508.img
file.796.0x81e70b70.dat
file.796.0x81e740a8.dat
実際にどのファイルに関するデータなのか?は、-Sオプションでサマリを出力しておく事で確認が出来るようようです。以下部分抜粋。
{"name": "\\Device\\HarddiskVolume1\\WINDOWS\\system32\\config\\systemprofile\\Local Settings\\History\\History.IE5\\index.dat", "ofpath": "dumpfiles\\file.796.0x81e740a8.dat", "pid": 796, "fobj": 2180021128, "pad": [], "type": "DataSectionObject", "present": [[418992128, 0, 4096], [423976960, 4096, 4096], [422670336, 8192, 4096], [420577280, 12288, 4096], [414289920, 16384, 4096], [420585472, 20480, 4096], [422686720, 24576, 4096], [424787968, 28672, 4096]]}
取り出された .IMG ファイルは、サマリの情報によれば "\\Device\\HarddiskVolume1\\Program Files\\Internet Explorer\\iexplore.exe" となっていますので、この file.796.0x81dda508.img と、すでに procmemdump で取り出してあった memdump_executable.796.exe とバイナリレベルで比較してみます。
ここでもファイルの比較的先頭部分でバイトレベルでの差異が確認できます。
試しに、procexedumpのダンプ結果とも比較してみたのですが、こちらとは一致するようです。
とはいえ、先頭部分は一致してきますが、それより後ろの部分については、どちらのファイルも大幅に違ってきます。