@port139 Blog

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

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

Log2timeline.py(Plaso)のパーサリストの所在を確認しておきたいと思います。

log2timeline.py --info でパーサのリストを取得できます。このリストには個別のパーサだけでなく、事前に定義されている linux や win7、winxp といったものがあります。複数のパーサをまとめて指定ができる便利な項目ですが、この定義は /usr/lib/python2.7/dist-packages/plaso/frontend にある presets.py にあるようです。

Plasoの場合にはパーサの数がそれほど多くないので、カンマ区切りで個別指定しても良いかもしれませんが、毎回定義するのが面倒であればこれを編集した方が早そうです。

Parsers http://plaso.kiddaland.net/developer/parsers

 

次に、log2timeline ver 0.66 のほうですが、これは /usr/share/perl5/Log2t/input フォルダ内にある拡張子 .lst で定義されています。

  • linux.lst
  • macosx.lst
  • webhist.lst
  • win7.lst
  • win7_no_reg.lst
  • winsrv.lst
  • winxp.lst
  • winxp_no_reg.lst

この lst ファイルの中には単純にパースモジュールが1行ずつ書かれているだけの構造になっています。すでにあるlstファイルを編集するか、新規に .lst ファイルを作成し任意の組み合わせを作成する事でも対応が出来ます。

root@siftworkstation:/usr/share/perl5/Log2t/input# cat win7.lst 

chrome

evtx

exif

ff_bookmark

firefox3

iehistory

iis

mcafee

opera

oxml

pdf

prefetch

recycler

restore

sol

win_link

xpfirewall

wmiprov

ntuser

software

system

sam

mft

ff_cache

mcafeefireup

mcafeehel

mcafeehs

openvpn

skype_sql

security

symantec

firefox2

safari

 log2timelineを使う場合、デフォルトでは不要なパースモジュールも結構入っていると思いますので、処理時間やノイズを考慮して必要なモジュールだけに絞って実行する方が良いと思われます。

特に日本語文字列の扱いなどを考慮し、Ver 0.66 と Plaso を対象によって使い分けるケースでは、同じデータに対して重複して出力しないように注意が必要になります。