@port139 Blog

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

Plaso Winjob パーサでタイムスタンプが+9時間ズレる件

Plaso 1.4.0 ベースの Log2timeline の winjob パーサですが、タイムゾーンの指定を正しく行わない場合、ジョブのスケジュールと実行日時が実際の時刻より +9 時間ズレて表示されます。

以下、Windows 10 環境上で、Plaso 1.4 ベースを実行しています。

log2timeline.exe --parsers winjob c:\case\winjob.db c:\Windows\Tasks

psort.exe -z Japan -w c:\case\winjob.csv -o L2tcsv c:\case\winjob.db

 上記コマンドの実行により、下記結果が得られましたが、ジョブのスケジュール日時は16時06分となっています。

02/05/2016,16:06:00,Japan,....,JOB,Windows Scheduled Task Job,Scheduled To Start,WORKGROUP\EXAMPLE$,-,Application: C:\Program Files (x86)\Google\Update\GoogleUpdate.exe /ua /insta...,Application: C:\Program Files (x86)\Google\Update\GoogleUpdate.exe /ua /installsource scheduler Scheduled by: WORKGROUP\EXAMPLE$ Run Iteration: DAILY,2,OS:c:\Windows\Tasks\GoogleUpdateTaskMachineUA.job,-,-,winjob,comment: Google ソフトウェアを常に最新の状態に維持します。このタスクを無効にするか停止すると、Google ソフトウェアは最新の状態に維持されなくなります。その場合、セキュリティの脆弱性が見つかっても修正できなかったり、機能が動作しなかったりする可能性があります。このタスクを使用する Google ソフトウェアがなくなると、タスクは自動的にアンインストールされます。 sha256_hash: 3022735948b1c774412bb361838fe5439eb7bad32d3c05c66225f41f27c452ac 

タスクスケジューラで確認すると、タスクは日本時間で 7時6分に設定されているので、9時間プラスされた値が出力されている事になります。

f:id:hideakii:20160319102959p:plain

Windows Job File Format の記述に従い JOB ファイルの内容を確認してみると、Trigerの項目として開始時刻などが入っていますが、ローカル時刻が登録されている為、これを +9 して出力している為でしょうか。

f:id:hideakii:20160319104433p:plain

次に、log2timelineの処理段階で -z オプションでタイムゾーンとして Japan を指定して処理します。

log2timeline.exe -z Japan --parsers winjob c:\case\winjobTZ9.db c:\Windows\Tasks

psort.exe -w c:\case\winjob9.csv -o L2tcsv c:\case\winjobTZ9.db

psortコマンドによるCSV出力時には -z を指定していない状態になりますので、ストレージ内に保存されているタイムスタンプ情報になります。

02/04/2016,22:06:00,UTC,....,JOB,Windows Scheduled Task Job,Scheduled To Start(以降省略)

ローカル時刻をUTC換算した値が保存されています。

psortにおいても-z Japanを指定して出力します。

02/05/2016,07:06:00,Japan,....,JOB,Windows Scheduled Task Job,Scheduled To Start(以降省略)

この場合は、日本時間として正しく出力されています。

  Winjobパーサなど、ローカル時刻を保存しているアーティファクトを処理する場合、タイムゾーン指定に注意が必要という事ですね。

 

 脱線した話題になりますが、タスクスケジューラのジョブファイルはカービングという観点ではどうなのでしょうか?

ファイルフォーマットによると、ファイル先頭部分にあるプロダクトバージョンとファイルフォーマットだけではノイズが多くなってしまいそうです。ただ、トリガー日時などが分かっているケースにおいては、そのパターンで探してみるというのも一つの案でしょうか。