Log2timeline.py(Plaso)によるタイムラインの作成(2)
Log2timelineを使って個別アーティファクトのタイムラインを CSV 形式で確認していきたいと思います。
日本語の扱いが気になりますので、まずは試しに Skype のデータをパースしてみたいと思います。準備したのは日本語版Windows上で使っているSkypeデータベースになります。日本語メッセージを含んでいますが、UTF-8なので処理はできるのではないかと推測していますがどうなりますか。
パーサーとしては --parsers skype を指定します。出力モジュールとしては、CSV形式で出力するように --outpu L2tcsv を指定しています。
root@siftworkstation:/cases# log2timeline.py --parsers skype --output L2tcsv plaso.txt ./Skype/
[INFO] (MainProcess) Starting storage thread.
[INFO] (MainProcess) Starting to collect files for processing.
[INFO] (MainProcess) Starting to extract events.
[INFO] (MainProcess) Collection is hereby DONE
[INFO] (MainProcess) Waiting until all processing is done.
[INFO] (Worker_0 ) Worker 0 (PID: 4146) started monitoring process queue.
[INFO] (Worker_0 ) Worker 0 (PID: 4146) stopped monitoring process queue.
[INFO] (MainProcess) Processing done, waiting for storage.
[INFO] (MainProcess) Storage process is done.
[INFO] (MainProcess) Run completed.
さて、結果を確認してみます。
date,time,timezone,MACB,source,sourcetype,type,user,host,short,desc,version,filename,inode,notes,format,extra
はい、大失敗?、ヘッダのみで中身がありません。試しに main.db をコマンドライン上で直接指定して実行してみたりしたのですが、どうにもタイムラインが出力されません。
--logfile オプションを使うとログを出力する事ができます、試しにログを取ってみた結果が下記になります。main.db を開いて処理はしているように見えます。
[DEBUG] (MainProcess) Starting a local instance.
[INFO] (MainProcess) Starting storage thread.
[INFO] (MainProcess) Starting to collect files for processing.
[DEBUG] (MainProcess) Starting workers.
[INFO] (MainProcess) Starting to extract events.
[DEBUG] (MainProcess) Starting worker: 0
[DEBUG] (MainProcess) Waiting for collection to complete.
[INFO] (MainProcess) Collection is hereby DONE
[INFO] (MainProcess) Waiting until all processing is done.
[INFO] (Worker_0 ) Worker 0 (PID: 4314) started monitoring process queue.
[DEBUG] (Worker_0 ) Opening file: /cases/Skype/main.db [OS]
[DEBUG] (Worker_0 ) [ParseFile] Parsing: /cases/Skype/main.db
[DEBUG] (Worker_0 ) Checking [/cases/Skype/main.db] against: SkypeParser
[DEBUG] (Worker_0 ) [ParseFile] Parsing DONE: /cases/Skype/main.db
[INFO] (Worker_0 ) Worker 0 (PID: 4314) stopped monitoring process queue.
[INFO] (MainProcess) Processing done, waiting for storage.
[INFO] (MainProcess) Storage process is done.
[INFO] (MainProcess) Run completed.
関連して情報がないか Google で検索してみたところ、下記がありましたがエラー内容や使っているバージョン番号も違います。とはいえ、なんとなく安定してないのかな?という印象を持ってしまいますね。
https://code.google.com/p/plaso/issues/detail?id=48
Issue 48:Parsers: skype.py: AttributeError: 'NoneType' object has no attribute 'split'
皆さんのお手元では正しくパースされ、タイムラインが出力されてますでしょうか?