plaso

plaso - home of the super timeline
http://plaso.kiddaland.net

plasoはPythonで実装されたスーパータイムラインを生成するツールのためのバックエンドエンジンです。前身のlog2timelineはperlで実装されていましたが、python化されてその際に設計、位置づけ、ユーザの使い方が少し変わりました。今後は全体を指してplasoと呼ぶようになりました。

正式版は夏、冬の年2回のタイミングでリリースされます。開発版はgitリポジトリから入手することができます。plasoは多数のライブラリを必要とするため、通常のユーザはパッケージ化されているリリース版をダウンロード、インストールしたほうがすぐに使い始めることができます。

plasoには複数のコマンドやライブラリが含まれています。主にユーザが使用することになるコマンドは以下の通りです。

  • log2timeline
  • イメージファイルなどの入力元からイベントを抽出して、plaso用のストレージに出力します。
  • image_export
  • ディスクイメージから拡張子またはフィルタをベースにしてファイルを抽出します。
  • plasm
  • plasoストレージに対してタグ付、グルーピング処理をします。
  • pinfo
  • plasoストレージ内の情報(抽出実行日時、設定、抽出数など)を表示します。
  • pprof オプション FILE_TO_PARSE FILTER
  • 1ファイルに対して実行して、取り出すイベント数や認識するパーサを確認するためのコマンドです。
  • preg
  • レジストリのパースに特化したツールです。
  • pshell
  • iPythonを使ったシェルです。plasoの内部(ライブラリ)を操作して柔軟性、拡張性を上げるためのコマンドです。
  • psort
  • plasoストレージのソート、フィルタ、プロセスをするためのツールです。

基本的にはlog2timelineを実行してplasoストレージ(専用形式)を生成し、psortを用いてplasoストレージを操作する、という使い方になります。その他のコマンドは必要に応じて使います。

log2timeline, psortともに実行時にフィルタ(FILTER)を指定することができます。Windowsでは「'」と「”」の扱いでハマりやすいため、フィルタの定義には二重引用符「"」、基準設定にはクォート「'」を使うようにします。

フィルタは以下の形式で記載します。

EXPRESSION BOOLEAN_OPERATOR EXPRESSION

例) "parser is 'syslog' and message contains 'root'"

この場合、パーサが「syslog」でメッセージ内に「root」を含むイベントを除外します。

例) "parser contains 'syslog' AND (date > '2012-12-04' AND date < '2015-01-01')"

この場合、パーサの文字列に「syslog」を含み、日時が2012/12/04-2015/01/07のイベントを除外します。

具体的なコマンドの実行例を示しておきます。

$ log2timeline --info

サポートしているプラグインとパーサを表示

$ log2timeline /cases/plaso.dump image.dd

ddイメージに対して可能な限りイベントを抽出

$ log2timeline -o 63 --vss_stores 1,2 /cases/plaso_vss.dump image.E01

E0形式の証拠ファイルを対象にvssの状態からイベントを抽出し、結果をplaso_vss.dumpに出力

$ psort plaso.dump

plaso.dumpストレージに格納されているイベントを標準出力

$ psort -o list

出力可能なフォーマットを表示

$ psort --analysis list

利用可能な解析プラグインを表示

Add new comment

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.