読者です 読者をやめる 読者になる 読者になる

アンタイ・フォレンジック伝道者の独り言

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

Log2timeline.py(Plaso)によるタイムラインの作成(12)

フォレンジック

Log2timeline(Plaso)と Ver 0.66 いずれにも含まれているパーサーとして WinPrefetchParser があります。Windows が作成するプリフェッチファイル(.pf)をパースしてくれるはずですが、日本語のファイル名などの扱いがどうなっているのか確認してみたいと思います。 

root@siftworkstation:/cases# log2timeline.py --parsers WinPrefetch --output L2tcsv --logfile out.log -d pretimeline.txt /cases/Prefetch

パース結果を確認してみると、日本語文字列を含む実行ファイルについても文字化けせずに出力できているようです。

タイムスタンプのレコードは、一つのプリフェッチファイルから 2件出力されていますが、これはプリフェッチファイル内に保持している 2つのタイムスタンプ、Last Time Executed と Creation Timeがそれぞれ出力されています。 

date,time,timezone,MACB,source,sourcetype,type,user,host,short,desc,version,filename,inode,notes,format,extra

04/13/2014,09:33:18,UTC,....,LOG,WinPrefetch,Last Time Executed,-,-,サマーウォーズクロック.SCR was run 10 time(s),Superfetch [サマーウォーズクロック.SCR] was executed - run count 10 path: \WINDOWS\サマーウォーズクロック.SCR hash: 0xD2F9176A [ volume serial: 0x04EA6BFD volume path: \DEVICE\HARDDISKVOLUME2],2,/cases/Prefetch/サマーウォーズクロック.SCR-D2F9176A.pf,22544604,-,WinPrefetchParser,version: 23  volume_serial: 82471934  prefetch_hash: 3539539818 

04/24/2011,03:50:14,UTC,....,LOG,WinPrefetch,Creation Time,-,-,サマーウォーズクロック.SCR was run 10 time(s),Superfetch [サマーウォーズクロック.SCR] was executed - run count 10 path: \WINDOWS\サマーウォーズクロック.SCR hash: 0xD2F9176A [ volume serial: 0x04EA6BFD volume path: \DEVICE\HARDDISKVOLUME2],2,/cases/Prefetch/サマーウォーズクロック.SCR-D2F9176A.pf,22544604,-,WinPrefetchParser,version: 23  volume_serial: 82471934  prefetch_hash: 3539539818 

プリフェッチファイルの内部構造については http://www.forensicswiki.org/wiki/Windows_Prefetch_File_Format が参考になります。

上記レコードでは 2件目として Creation Time が出力されていますが、この値はセクション D “Volume information” の Volume creation time をパースした値だと思いますので、ファイル生成日時と異なる点には注意が必要です。

 

プリフェッチファイルのパースは、Log2timeline ver0.66 でも提供されており、モジュール名は prefetch になります。(-r オプションを指定して実行すると出力結果が空になってしまうのですが、-r 指定が無ければ問題ないようです。

root@siftworkstation:/cases# log2timeline -f prefetch -o csv -z UTC -log out2.log -w pretimeline066.txt /cases/Prefetch/

0.66 の出力結果を確認してみます。Last run のタイムスタンプだけがレコードとして出力されるようですが、日本語ファイル名部分は文字化けしている事が確認できます。

04/13/2014,09:33:18,UTC,MACB,PRE,Vista/Win7 Prefetch,Last run,-,-,ãµãã¼ã¦ã©ã¼ãºã¯ã­ãã¯.SCR-D2F9176A.pf: µ0Ã0ü0¦0©0ü0º0¯0í0Ã0¯0.SCR was executed,ãµãã¼ã¦ã©ã¼ãºã¯ã­ãã¯.SCR-D2F9176A.pf - [µ0Ã0ü0¦0©0ü0º0¯0í0Ã0¯0.SCR] was executed - run count [10]- full path: [C:/WINDOWS/SYSTEM32/SEARCHFILTERHOST.EXE],2,/cases/Prefetch//ãµãã¼ã¦ã©ã¼ãºã¯ã­ãã¯.SCR-D2F9176A.pf,22544385,-,Log2t::input::prefetch,-

 

Windowsのプリフェッチファイルのパースについては、Plaso ベースで実行した方が文字化けの影響は受けずに済みそうですね。