ひよこメモ

自分が調べたこととか試したこととか書いていきます

ChromeのMedia Historyについて

🐣🎄IPFactory Advent Calendar 2020 - Qiita 19日目の記事です🎄🐣

はじめに

こんにちは、iria_piyo🐣です。

今回は、Chrome86から追加されたMedia Historyというアーティファクトに関するメモを書きました。

環境

  • OS : Windows10 20H2

  • ブラウザ : Google Chrome バージョン 87.0.4280.88

Media Historyとは

Chrome86から追加されたChromeアーティファクトで、YouTubeTwitterなどの動画や、音楽ストリーミングサイトなどの履歴が残っています。

ファイル形式はSQLiteデータベースで、%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Media Historyというパスに格納されています。

今回の記事で、Media Historyの解析に使用したツールは、DB Browser for SQLiteです。

Media Historyのテーブル

Media Historyには、下記のテーブルがあります。

  • kaleidoscopeDataテーブル
  • mediaFeedテーブル
  • mediaFeedItemテーブル
  • metaテーブル
  • sqlite_sequence
  • originテーブル
  • playbackテーブル
  • playbackSessionテーブル
  • mediaImageテーブル
  • sessionImageテーブル

今回は、下記の5つのテーブルについて説明していきます。

  • originテーブル
  • playbackテーブル
  • playbackSessionテーブル
  • mediaImageテーブル
  • sessionImageテーブル

originテーブル

このテーブルには、動画再生の履歴や、音楽再生の履歴が残ったオリジンの一覧と最後にそのオリジンでメディアを視聴した時間、総視聴時間などが記録されています。

f:id:iria_piyo:20201219125644p:plain
図1:originテーブル

  • origin.last_updated_time_s

象のオリジンで最後にメディアを視聴した時間が記録されています。(単位は秒) origin.last_updated_time_sは、1601/1/1 0:00 UTCから経過した秒数を値として持っています。

図1のTwitter13249550040は、2020/11/11 06:34:00 UTCになります。

WebKit/Chrome Timestamp Converterを利用して変換する場合は、秒からマイクロ秒に変換して、入力する必要があります。

  • origin.aggregate_watchtime_audio_video_s

playback.watch_time_sをオリジンごとに合計した時間が記録されています。

playbackテーブル

このテーブルには、アクセスしたURLの動画の視聴時間、ビデオやオーディオの有無、最終視聴時間などが記録されています。

f:id:iria_piyo:20201218173757p:plain
図2:playbackテーブル

  • playback.watch_time_s

対象のURLの視聴時間が記録されています。
この値の合計が、origin.aggregate_watchtime_audio_video_sに記録されるようです。

例として、Twitterorigin.aggregate_watchtime_audio_video_splayback.watch_time_sの合計を比較してみます。 Twitterorigin.aggregate_watchtime_audio_video_sを見てみると、値が258となっています。(図3参照)

f:id:iria_piyo:20201219171232p:plain
図3:Twitterのaggregate_watchtime_audio_video_s

Twitterplayback.watch_time_sを見てみると、4+25+3+87+24+115=258になりました。

f:id:iria_piyo:20201218222004p:plain
図4:Twitterwatch_time_s

  • playback.has_video

ビデオの有無が記録されるようです。

  • playback.has_audio

オーディオの有無が記録されるようです。

  • playback.last_updated_time_s

最後に対象URLを視聴した時間が記録されるようです。

playbackSessionテーブル

このテーブルには、URL情報や、メディアの総時間、タイトル、メディアの再生位置などを記録しているようです。playbackテーブルと違い、URLの重複はないものと思われます。

f:id:iria_piyo:20201218205320p:plain
図5:playbackSessionテーブル

  • playbackSession.duration_ms

メディアの総時間が記録されています。(単位はミリ秒) 図5のid:915の動画の場合、playbackSession.duration_ms118381となっており、動画の総時間は01:58であることを意味しています。

  • playbackSession.position_ms

メディアをどこまで再生したかが記録されています。(単位はミリ秒) 図5のid:915の動画の場合、playbackSession.position_ms40187となっており、動画が0:40まで再生されたことがわかります。

  • playbackSession.last_updated_time_s

最後にメディアを視聴した時間が記録されています。

  • playbackSession.title

動画のタイトルが記録されています。

  • playbackSession.artist

YouTubeの場合は、チャンネル名が記録されていました。 サイトによっては、値が入っていないものもありました。

mediaImageテーブル

このテーブルには、動画のサムネイルのURLが記録されていました。 今のところ、YouTubeのサムネイルしか確認できていません。(図5参照)

f:id:iria_piyo:20201218180928p:plain
図6:mediaImageテーブル

sessionImageテーブル

このテーブルには、mediaImageテーブルに記録されているサムネイルの画像サイズが記録されていました。

f:id:iria_piyo:20201218180958p:plain
図7:sessionImageテーブル

Google翻訳の音声読み上げ機能もメディアの痕跡として残る

図8のようにGoogleで英単語を検索し、Google翻訳の音声読み上げ機能を使って、その音声を再生してみました。

f:id:iria_piyo:20201218224205p:plain
図8:Googleで英単語を検索した結果

すると、playbackテーブルに検索した際のURLが記録されました。しかしながら、playbackSessionテーブルには、何も残っていませんでした。(図9参照)

f:id:iria_piyo:20201218224739p:plain
図9:playbackテーブルに検索した際のURLが記録された

このように、playbackテーブルに存在するURLが、playbackSessionテーブルには存在しないケースがいくつかありました。playbackSessionテーブルに記録される条件については、今後検証していきたいと思いました。

参考資料

NTFSのトンネリングとHardlink

🐣🎄IPFactory Advent Calendar 2019 - Qiita 18日目の記事です🎄🐣

はじめに

こんにちは、iria_piyo🐣です。
今回は、ハードリンク同士でファイルシステムのトンネリング*1の検証を2つ行いました。

使用したツールはThe Sleuth Kitです。

環境

Windows10 1903

検証内容1

ファイルtest01.txtのハードリンクhardlink01を削除し、15秒以内にファイルtest02.txtのハードリンクhardlink01を作成します。
手順は以下の通り。

  1. ファイルtest01.txttest02.txtを作成
  2. ファイルtest01.txtのハードリンクhardlink01を作成
  3. ファイルtest01.txtのハードリンクhardlink01を削除
  4. 手順3で消したハードリンクと同じディレクトリに、ファイルtest02.txtのハードリンクをhardlink01という名前で作成

この結果、test01.txtの作成時間がtest02.txtに引き継がれるかを検証していきます。

ファイルtest01.txt作成時のタイムスタンプ

# istat \\.\C: 146771
MFT Entry Header Values:
Entry: 146771        Sequence: 86
$LogFile Sequence Number: 153267805192
Allocated File
Links: 1

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 6172  (S-1-5-32-544)
Last User Journal Update Sequence Number: 5650018112
Created:         2019-12-16 23:30:04.578859200 (  
File Modified:   2019-12-16 23:30:04.578859200 (  
MFT Modified:    2019-12-16 23:30:04.578859200 (  
Accessed:        2019-12-16 23:30:04.578859200 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: test01.txt
Parent MFT Entry: 2818  Sequence: 50
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 23:30:04.578859200 (  
File Modified:   2019-12-16 23:30:04.578859200 (  
MFT Modified:    2019-12-16 23:30:04.578859200 (  
Accessed:        2019-12-16 23:30:04.578859200 (
Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 86
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

ファイルtest02.txt作成時のタイムスタンプ

# istat \\.\C: 1040145
MFT Entry Header Values:
Entry: 1040145        Sequence: 387
$LogFile Sequence Number: 153267817132
Allocated File
Links: 1

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 6172  (S-1-5-32-544)
Last User Journal Update Sequence Number: 5650021360
Created:         2019-12-16 23:30:12.724593400 (  
File Modified:   2019-12-16 23:30:12.725590900 (  
MFT Modified:    2019-12-16 23:30:12.725590900 (  
Accessed:        2019-12-16 23:30:12.725590900 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: test02.txt
Parent MFT Entry: 2818  Sequence: 50
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 23:30:12.724593400 (  
File Modified:   2019-12-16 23:30:12.724593400 (  
MFT Modified:    2019-12-16 23:30:12.724593400 (  
Accessed:        2019-12-16 23:30:12.724593400 (
Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 86
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

ファイルtest01.txtのハードリンクhardlink01を作成

# fsutil hardlink create hardlink01 test01.txt
C:\hardlink_create\hardlink01 <<===>> C:\hardlink_create\test01.txt のハードリンクが作成されました

ハードリンクhardlink01作成後のファイルtest01.txtのタイムスタンプ

# istat \\.\C: 146771
MFT Entry Header Values:
Entry: 146771        Sequence: 86
$LogFile Sequence Number: 153276670676
Allocated File
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 6172  (S-1-5-32-544)
Last User Journal Update Sequence Number: 5650175544
Created:         2019-12-16 23:30:04.578859200 (  
File Modified:   2019-12-16 23:30:04.578859200 (  
MFT Modified:    2019-12-16 23:33:48.819870600 (  
Accessed:        2019-12-16 23:30:04.578859200 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: hardlink01
Parent MFT Entry: 2818  Sequence: 50
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 23:30:04.578859200 (  
File Modified:   2019-12-16 23:30:04.578859200 (  
MFT Modified:    2019-12-16 23:33:48.819870600 (  
Accessed:        2019-12-16 23:30:04.578859200 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: test01.txt
Parent MFT Entry: 2818  Sequence: 50
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 23:30:04.578859200 (  
File Modified:   2019-12-16 23:30:04.578859200 (  
MFT Modified:    2019-12-16 23:30:04.578859200 (  
Accessed:        2019-12-16 23:30:04.578859200 (
Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-3)   Name: N/A   Resident   size: 86
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 86
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

ファイルtest01.txtのハードリンクhardlink01を削除

# del hardlink01

ここで、15秒以内に削除したハードリンクと同名のハードリンクを作成します。

ファイルtest02.txtのハードリンクをhardlink01という名前で作成

C:\hardlink_create\hardlink01 <<===>> C:\hardlink_create\test02.txt のハードリ
ンクが作成されました

ここで、test01.txtの作成時間がtest02.txtの作成時間に引き継がれているかを確認します。

ハードリンクhardlink01作成後のファイルtest02.txtのタイムスタンプ

# istat \\.\C: 1040145
MFT Entry Header Values:
Entry: 1040145        Sequence: 387
$LogFile Sequence Number: 153276931204
Allocated File
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 6172  (S-1-5-32-544)
Last User Journal Update Sequence Number: 5650276352
Created:         2019-12-16 23:30:12.724593400 (  
File Modified:   2019-12-16 23:30:12.725590900 (  
MFT Modified:    2019-12-16 23:35:57.706606600 (  
Accessed:        2019-12-16 23:30:12.725590900 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: hardlink01
Parent MFT Entry: 2818  Sequence: 50
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 23:30:12.724593400 (  
File Modified:   2019-12-16 23:30:12.725590900 (  
MFT Modified:    2019-12-16 23:35:57.706606600 (  
Accessed:        2019-12-16 23:30:12.725590900 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: test02.txt
Parent MFT Entry: 2818  Sequence: 50
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 23:30:12.724593400 (  
File Modified:   2019-12-16 23:30:12.724593400 (  
MFT Modified:    2019-12-16 23:30:12.724593400 (  
Accessed:        2019-12-16 23:30:12.724593400 (
Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-3)   Name: N/A   Resident   size: 86
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 86
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

検証内容1の結果

作成時間が$SI、$FNのどちらにも引き継がれなかった。

検証内容2

次は、リネームでトンネリングが起こるか検証しました。 ファイルtest01.txtのハードリンクhardlink01を削除し、15秒以内にファイルtest02.txtのハードリンクをhardlink02からhardlink01にリネームします。
手順は以下の通り。

  1. ファイルtest01.txtとファイルtest02.txtを作成
  2. ファイルtest01.txtのハードリンクhardlink01、ファイルtest02.txtのハードリンクhardlink02を作成
  3. ファイルtest01.txtのハードリンクhardlink01を削除
  4. ファイルtest02.txtのハードリンクhardlink02hardlink01にリネーム

この結果、test01.txtの作成時間がtest02.txtに引き継がれるかを検証していきます。

ファイルtest01.txt作成時のタイムスタンプ

# istat \\.\C: 2774
MFT Entry Header Values:
Entry: 2774        Sequence: 19
$LogFile Sequence Number: 153197282607
Allocated File
Links: 1

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 6172  (S-1-5-32-544)
Last User Journal Update Sequence Number: 5633252760
Created:         2019-12-16 20:34:34.889876600 (  
File Modified:   2019-12-16 20:34:34.889876600 (  
MFT Modified:    2019-12-16 20:34:34.889876600 (  
Accessed:        2019-12-16 20:34:34.889876600 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: test01.txt
Parent MFT Entry: 4504  Sequence: 54
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 20:34:34.889876600 (  
File Modified:   2019-12-16 20:34:34.889876600 (  
MFT Modified:    2019-12-16 20:34:34.889876600 (  
Accessed:        2019-12-16 20:34:34.889876600 (
Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 86
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

ファイルtest02.txt作成時のタイムスタンプ

# istat \\.\C: 83955
MFT Entry Header Values:
Entry: 83955        Sequence: 25
$LogFile Sequence Number: 153197294820
Allocated File
Links: 1

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 6172  (S-1-5-32-544)
Last User Journal Update Sequence Number: 5633259728
Created:         2019-12-16 20:34:37.682492800 (  
File Modified:   2019-12-16 20:34:37.682492800 (  
MFT Modified:    2019-12-16 20:34:37.682492800 (  
Accessed:        2019-12-16 20:34:37.682492800 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: test02.txt
Parent MFT Entry: 4504  Sequence: 54
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 20:34:37.682492800 (  
File Modified:   2019-12-16 20:34:37.682492800 (  
MFT Modified:    2019-12-16 20:34:37.682492800 (  
Accessed:        2019-12-16 20:34:37.682492800 (
Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 86
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

ファイルtest01.txtのハードリンクhardlink01を作成

# fsutil hardlink create hardlink01 test01.txt
C:\hardlink\hardlink01 <<===>> C:\hardlink\test01.txt のハードリンクが作成されました

ファイルtest02.txtのハードリンクhardlink02を作成

# fsutil hardlink create hardlink02 test02.txt
C:\hardlink\hardlink02 <<===>> C:\hardlink\test02.txt のハードリンクが作成されました

ハードリンクhardlink01作成後のファイルtest01.txtのタイムスタンプ

# istat \\.\C: 2774
MFT Entry Header Values:
Entry: 2774        Sequence: 19
$LogFile Sequence Number: 153198686978
Allocated File
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 6172  (S-1-5-32-544)
Last User Journal Update Sequence Number: 5634040352
Created:         2019-12-16 20:34:34.889876600 (  
File Modified:   2019-12-16 20:34:34.889876600 (  
MFT Modified:    2019-12-16 20:37:52.573895500 (  
Accessed:        2019-12-16 20:34:34.889876600 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: hardlink01
Parent MFT Entry: 4504  Sequence: 54
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 20:34:34.889876600 (  
File Modified:   2019-12-16 20:34:34.889876600 (  
MFT Modified:    2019-12-16 20:37:52.573895500 (  
Accessed:        2019-12-16 20:34:34.889876600 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: test01.txt
Parent MFT Entry: 4504  Sequence: 54
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 20:34:34.889876600 (  
File Modified:   2019-12-16 20:34:34.889876600 (  
MFT Modified:    2019-12-16 20:34:34.889876600 (  
Accessed:        2019-12-16 20:34:34.889876600 (
Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-3)   Name: N/A   Resident   size: 86
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 86
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

ハードリンクhardlink02作成後のファイルtest02.txtのタイムスタンプ

# istat \\.\C: 83955
MFT Entry Header Values:
Entry: 83955        Sequence: 25
$LogFile Sequence Number: 153198732704
Allocated File
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 6172  (S-1-5-32-544)
Last User Journal Update Sequence Number: 5634067536
Created:         2019-12-16 20:34:37.682492800 (  
File Modified:   2019-12-16 20:34:37.682492800 (  
MFT Modified:    2019-12-16 20:38:00.744881700 (  
Accessed:        2019-12-16 20:34:37.682492800 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: test02.txt
Parent MFT Entry: 4504  Sequence: 54
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 20:34:37.682492800 (  
File Modified:   2019-12-16 20:34:37.682492800 (  
MFT Modified:    2019-12-16 20:34:37.682492800 (  
Accessed:        2019-12-16 20:34:37.682492800 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: hardlink02
Parent MFT Entry: 4504  Sequence: 54
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 20:34:37.682492800 (  
File Modified:   2019-12-16 20:34:37.682492800 (  
MFT Modified:    2019-12-16 20:38:00.744881700 (  
Accessed:        2019-12-16 20:34:37.682492800 (
Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 86
Type: $FILE_NAME (48-3)   Name: N/A   Resident   size: 86
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

ファイルtest01.txtのハードリンクhardlink01を削除

# del hardlink01

ここで、15秒以内にハードリンクをリネームします。

ファイルtest02.txtのハードリンクhardlink02hardlink01にリネーム

# ren hardlink02 hardlink01

ここで、test01.txtの作成時間がtest02.txtの作成時間に引き継がれているかを確認します。

ファイルtest02.txtのタイムスタンプ

# istat \\.\C: 83955
MFT Entry Header Values:
Entry: 83955        Sequence: 25
$LogFile Sequence Number: 153215457570
Allocated File
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 6172  (S-1-5-32-544)
Last User Journal Update Sequence Number: 5638721056
Created:         2019-12-16 20:34:34.889876600 (  
File Modified:   2019-12-16 20:34:37.682492800 (  
MFT Modified:    2019-12-16 21:03:48.231215600 (  
Accessed:        2019-12-16 20:34:37.682492800 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: test02.txt
Parent MFT Entry: 4504  Sequence: 54
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 20:34:37.682492800 (  
File Modified:   2019-12-16 20:34:37.682492800 (  
MFT Modified:    2019-12-16 20:34:37.682492800 (  
Accessed:        2019-12-16 20:34:37.682492800 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: hardlink01
Parent MFT Entry: 4504  Sequence: 54
Allocated Size: 0       Actual Size: 0
Created:         2019-12-16 20:34:37.682492800 (  
File Modified:   2019-12-16 20:34:37.682492800 (  
MFT Modified:    2019-12-16 20:38:00.744881700 (  
Accessed:        2019-12-16 20:34:37.682492800 (
Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 86
Type: $FILE_NAME (48-4)   Name: N/A   Resident   size: 86
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

検証内容2の結果

$SIのみ作成時間が引き継がれた。

最後に

ファイルシステムのトンネリングの検証をしていて、作成時間が引き継がれないケースは初めてでした。
$LogFile$Jを見ても、作成時間が引き継がれた痕跡は確認できませんでした。
1つ目の検証のように作成時間が引き継がれない理由を確認出来る方がいたら、ぜひ共有していただきたいです。

注意

環境によって、結果が異なる可能性があります。

*1:ファイルがディレクトリから削除またはリネームされると、SFN/LFNと作成時間が短時間(デフォルトで15秒間)キャッシュに保存されます。(NTFSの場合は、ObjectIDも保存される。)このキャッシュは、ディレクトリごとに分けられています。 削除されたファイル名がキーとなり、新しいファイルがディレクトリに追加されると、キャッシュを検索し、復元できる情報があるか確認されます。 ディレクトリが削除されてしまうと、そのディレクトリのキャッシュも削除されてしまいます。

NTFSのトンネリングとFileDownload(2)

はじめに

こんにちは、iria_piyo🐣です。 以前、ChromeでFile Downloadををおこなった時のファイルシステムのトンネリング*1について、検証を行いました。今回は、PowerShellwgetでFile Downloadをおこなった時のファイルシステムのトンネリングについて検証しました。

iria-piyo.hatenablog.com

タイムスタンプの確認に使用したツールは、The Sleuth Kitです。

環境

Windows10 バージョン1903

検証内容

ファイル「fradance.png」をwget(PowerShell)でダウンロードし、削除する。その後、再び「fradance.png」をダウンロードすると、どのように作成時間が引き継がれるのか検証する。

fradance.pngダウンロード(一回目)

PS C:\> istat \\.\C: 52387-128-3
MFT Entry Header Values:
Entry: 52387        Sequence: 32
$LogFile Sequence Number: 133447904983
Allocated File
Links: 1

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 6172  (S-1-5-32-544)
Last User Journal Update Sequence Number: 2104346248
Created:        2019-07-31 16:44:38.607638500 (  
File Modified:   2019-07-31 16:44:40.013233600 (  
MFT Modified:  2019-07-31 16:44:40.013233600 (  
Accessed:        2019-07-31 16:44:40.013233600 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: fradance.png
Parent MFT Entry: 48437         Sequence: 101
Allocated Size: 0       Actual Size: 0
Created:        2019-07-31 16:44:38.607638500 (  
File Modified:   2019-07-31 16:44:38.607638500 (  
MFT Modified:  2019-07-31 16:44:38.607638500 (  
Accessed:        2019-07-31 16:44:38.607638500 (

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 90
Type: $DATA (128-3)   Name: N/A   Non-Resident   size: 1523703  init_size: 1523703
227863 260212 260213 260214 260215 260216 260217 260218
421908 421909 421910 421911 421912 421913 421914 421915
421916 421917 421918 421919 23771071 23771072 23771073 23771074
23771075 23771076 23771077 23771078 23771079 23771080 23771081 23771082
23771083 23771084 23771085 23771086 23771087 23771088 23771089 23771090
23771091 23771092 23771093 23771094 23771095 23771096 23771097 23771098
23771099 23771100 23771101 23771102 5276640 5276641 5276642 5276643
5276644 5276645 5276646 5276647 5276648 5276649 5276650 5276651
5276652 5276653 5276654 5276655 5276656 5276657 5276658 5276659
5276660 5276661 5276662 5276663 5276664 5276665 5276666 5276667
5276668 5276669 5276670 5276671 5276672 5276673 5276674 5276675
5276676 5276677 5276678 5276679 5276680 5276681 5276682 5276683
5276684 5276685 5276686 5276687 5276688 5276689 5276690 5276691
5276692 5276693 5276694 5276695 5276696 5276697 5276698 5276699
5276700 5276701 9641272 9641273 9641274 9641275 9641276 9641277
9641278 9641279 9641280 9641281 9641282 9641283 9641284 9641285
9641286 9641287 9641288 9641289 9641290 9641291 9641292 9641293
9641294 9641295 9641296 9641297 9641298 9641299 9641300 9641301
9641302 9641303 9641304 9641305 9641306 9641307 9641308 9641309
9641310 9641311 9641312 9641313 9641314 9641315 9641316 9641317
9641318 9641319 27322377 27322378 27322379 27322380 27322381 27322382
27322383 27322384 27322385 27322386 27322387 27322388 27322389 27322390
27322391 27322392 27322393 27322394 27322395 27322396 27322397 27322398
27322399 27322400 27322401 27322402 27322403 27322404 27322405 27322406
27322407 27322408 27322409 27322410 27322411 27322412 27322413 27322414
27322415 27322416 27322417 27322418 27322419 27322420 27322421 27322422
27322423 27322424 27322425 27322426 27322427 27322428 27322429 27322430
27322431 27322432 27322433 27322434 39792503 39792504 39792505 39792506
39792507 39792508 39792509 39792510 39792511 39792512 39792513 39792514
39792515 39792516 39792517 39792518 39792519 39792520 39792521 39792522
39792523 39792524 39792525 39792526 39792527 39792528 39792529 39792530
39792531 39792532 39792533 39792534 39792535 39792536 39792537 39792538
39792539 39792540 39792541 39792542 39792543 39792544 39792545 39792546
39792547 39792548 39792549 39792550 39792551 39792552 39792553 39792554
39792555 39792556 39792557 39792558 39792559 39792560 16130813 16130814
16130815 16130816 16130817 16130818 16130819 16130820 16130821 16130822
16130823 16130824 16130825 16130826 16130827 16130828 16130829 16130830
16130831 16130832 16130833 16130834 16130835 16130836 16130837 16130838
16130839 16130840 16130841 16130842 16130843 16130844 16130845 16130846
16130847 16130848 16130849 16130850 16130851 16130852 16130853 16130854
16130855 16130856 16130857 16130858 16130859 16130860 16130861 16130862
16130863 16130864 16130865 16130866 16130867 16130868 16130869 16130870
16130871 16130872 16130873 16130874 16130875 16130876 16130877 16130878
16130879 16130880 16130881 4654932 4654933 4654934 4654935 4654936
4654937 4654938 4654939 4654940 4654941 4654942 4654943 4654944
4654945 4654946 4654947 4654948 4654949 4654950 4654951 4654952
17102224 17102225 17102226 17102227

delコマンドでファイルを削除し、15秒以内にwgetコマンドでファイルを再ダウンロードします。

PS C:\> del C:\TEST\fradance.png
PS C:\> wget https://hiyokoyarou.com/wp-content/uploads/2019/07/fradance.png -O \TEST\fradance.png

fradance.png再ダウンロード

PS C:\> istat \\.\C: 52387-128-3
MFT Entry Header Values:
Entry: 52387        Sequence: 33
$LogFile Sequence Number: 133449232425
Allocated File
Links: 1

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 6172  (S-1-5-32-544)
Last User Journal Update Sequence Number: 2104580208
Created:        2019-07-31 16:44:38.607638500 (  
File Modified:   2019-07-31 17:03:28.941222300 (  
MFT Modified:    2019-07-31 17:03:28.941222300 (  
Accessed:        2019-07-31 17:03:28.941222300 (

$FILE_NAME Attribute Values:
Flags: Archive
Name: fradance.png
Parent MFT Entry: 48437         Sequence: 101
Allocated Size: 0       Actual Size: 0
Created:        2019-07-31 16:44:38.607638500 (  
File Modified:   2019-07-31 17:03:27.323339600 (  
MFT Modified:    2019-07-31 17:03:27.323339600 (  
Accessed:        2019-07-31 17:03:27.323339600 (

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 90
Type: $DATA (128-3)   Name: N/A   Non-Resident   size: 1523703  init_size: 1523703
869112 864260 864261 864262 864263 864264 864265 864266
854128 854129 854130 854131 854132 854133 854134 854135
854136 854137 854138 854139 27322499 27322500 27322501 27322502
27322503 27322504 27322505 27322506 27322507 27322508 27322509 27322510
27322511 27322512 27322513 27322514 27322515 27322516 27322517 27322518
27322519 27322520 27322521 27322522 27322523 27322524 27322525 27322526
27322527 27322528 27322529 27322530 17823956 17823957 17823958 17823959
17823960 17823961 17823962 17823963 17823964 17823965 17823966 17823967
17823968 17823969 17823970 17823971 17823972 17823973 17823974 17823975
17823976 17823977 17823978 17823979 17823980 17823981 17823982 17823983
17823984 17823985 17823986 17823987 17823988 17823989 17823990 17823991
17823992 17823993 17823994 17823995 17823996 17823997 17823998 17823999
17824000 17824001 17824002 17824003 17824004 17824005 17824006 17824007
17824008 17824009 17824010 17824011 17824012 17824013 17824014 17824015
15585657 15585658 15585659 15585660 15585661 15585662 15585663 15585664
15585665 15585666 15585667 15585668 15585669 15585670 15585671 15585672
15585673 15585674 15585675 15585676 15585677 15585678 15585679 15585680
15585681 15585682 15585683 15585684 15585685 15585686 15585687 15585688
15585689 15585690 15585691 15585692 15585693 15585694 15585695 15585696
15585697 15585698 15585699 15585700 15585701 15585702 15585703 15585704
15585705 50641429 50641430 50641431 50641432 50641433 50641434 50641435
50641436 50641437 50641438 50641439 50641440 50641441 50641442 50641443
50641444 50641445 50641446 50641447 50641448 50641449 50641450 50641451
50641452 50641453 50641454 50641455 50641456 50641457 50641458 50641459
50641460 50641461 50641462 50641463 50641464 50641465 50641466 50641467
50641468 50641469 50641470 50641471 50641472 50641473 50641474 50641475
50641476 50641477 50641478 50641479 50641480 50641481 50641482 50641483
50641484 50641485 50641486 50641487 50641488 50641489 50641490 50641491
50641492 50641493 50641494 50641495 50641496 50641497 50641498 50641499
50641500 50641501 50641502 50641503 50641504 50641505 50641506 50641507
50641508 50641509 50641510 50641511 50641512 50641513 50641514 50641515
50641516 50641517 50641518 50641519 50641520 50641521 50641522 50641523
50641524 50641525 50641526 50641527 50641528 50641529 50641530 50641531
50641532 50641533 50641534 50641535 50641536 50641537 50641538 51404313
51404314 51404315 51404316 51404317 51404318 51404319 51404320 51404321
51404322 51404323 51404324 51404325 51404326 51404327 51404328 51404329
4654953 4654954 4654955 4654956 4654957 4654958 4654959 4654960
4654961 4654962 4654963 4654964 4654965 4654966 4654967 4654968
4654969 4654970 4654971 4654972 4654973 4654974 4654975 4654976
4654977 4654978 4654979 4654980 4654981 4654982 4654983 4654984
4654985 4654986 4654987 4654988 4654989 4654990 4654991 4654992
4654993 4654994 4654995 4654996 4654997 4654998 4654999 4655000
4655001 4655002 4655003 4655004 4655005 4655006 4655007 4655008
4655009 4655010 5820290 5820291 5820292 5820293 5820294 5820295
5820296 5820297 5820298 5820299 5820300 5820301 5820302 5820303
5820304 5820305 5820306 5820307 5820308 5820309 5820310 5820311
5820312 5820313 5820314 5820315

最後に

前回のChromeを用いた検証では、トンネリングによって引き継がれた作成時間は$SIだけでした。今回のPowerShellwgetを用いた検証では、$FNの作成時間も引き継がれました。

注意

環境によっては、この記事とは異なる結果になる可能性があります。

*1:ファイルがディレクトリから削除またはリネームされると、SFN/LFNと作成時間が短時間(デフォルトで15秒間)キャッシュに保存されます。このキャッシュは、ディレクトリごとに分けられています。 削除されたファイル名がキーとなり、新しいファイルがディレクトリに追加されると、キャッシュを検索し、復元できる情報があるか確認されます。 ディレクトリが削除されてしまうと、そのディレクトリのキャッシュも削除されてしまいます。

ファイルコピーしたらMFT Modifiedも更新された件(2)

はじめに

こんにちは、iria_piyo🐣です。

前にファイルコピーしたらMFT Modifiedも更新された件というタイトルで、ブログを投稿しました。
今回は、別のコピー操作で$SIのMFT Modifiedが更新されることが確認できたので、書いていきます。

環境

Windows10 バージョン1809

検証手順

  1. エクスプローラ上でWordファイル「hiyoko.docx」を作成
  2. 「\aaaaa\hiyoko.docx」のプロパティの「詳細」タブを開き、「プロパティや個人情報を削除」をクリック
  3. 「可能なすべてのプロパティを削除してコピーを作成」を選択し、「OK」をクリック
  4. 作成されたファイル「\aaaaa\hiyoko - コピー.docx」のタイムスタンプを調べる
  5. エクスプローラ上で「\aaaaa\hiyoko.docx」を同ディレクトリ内にコピー&ペーストし、「\aaaaa\hiyoko - コピー (2).docx」を作成する
  6. 「\aaaaa\hiyoko - コピー (2).docx」のタイムスタンプを調べる

この記事では、手順4と手順6のタイムスタンプを比較し、プロパティからコピーをおこなった場合と、エクスプローラ上でコピーをおこなった場合のタイムスタンプの違いについて書いていきます。

「hiyoko - コピー.docx」のタイムスタンプ(プロパティ)

# istat \\.\C: 317017-128-1
MFT Entry Header Values:
Entry: 317017        Sequence: 29
$LogFile Sequence Number: 121401009742
Allocated File
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 3669  (S-1-5-21-3763767945-1047358448-4033639875-8282)
Last User Journal Update Sequence Number: 33019296
Created:        2019-05-15 12:52:31.208622900 (  
File Modified:   2019-05-15 10:01:01.726486400 (  
MFT Modified:    2019-05-15 12:52:36.031020300 (  
Accessed:        2019-05-15 12:52:31.208622900 (

$FILE_NAME Attribute Values:
Flags: Archive
Name: HIYOKO~2.DOC
Parent MFT Entry: 746035        Sequence: 8
Allocated Size: 0       Actual Size: 0
Created:        2019-05-15 12:52:31.208622900 (  
File Modified:   2019-05-15 12:52:31.208622900 (  
MFT Modified:    2019-05-15 12:52:31.208622900 (  
Accessed:        2019-05-15 12:52:31.208622900 (

$FILE_NAME Attribute Values:
Flags: Archive
Name: hiyoko - コピー.docx
Parent MFT Entry: 746035        Sequence: 8
Allocated Size: 0       Actual Size: 0
Created:        2019-05-15 12:52:31.208622900 (  
File Modified:   2019-05-15 12:52:31.208622900 (  
MFT Modified:    2019-05-15 12:52:31.208622900 (  
Accessed:        2019-05-15 12:52:31.208622900 (

$OBJECT_ID Attribute Values:
Object Id: 52dc16f5-7634-11e9-858b-a81374942b83

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-3)   Name: N/A   Resident   size: 90
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 100
Type: $OBJECT_ID (64-4)   Name: N/A   Resident   size: 16
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

「\aaaaa\hiyoko - コピー (2).docx」のタイムスタンプ(コピー&ペースト)

# istat \\.\C: 925718-128-1
MFT Entry Header Values:
Entry: 925718        Sequence: 23
$LogFile Sequence Number: 121402417756
Allocated File
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 3669  (S-1-5-21-3763767945-1047358448-4033639875-8282)
Last User Journal Update Sequence Number: 33296592
Created:        2019-05-15 13:05:24.440512100 (  
File Modified:   2019-05-15 10:01:01.726486400 (  
MFT Modified:    2019-05-15 10:01:11.110123400 (  
Accessed:        2019-05-15 13:05:24.440512100 (

$FILE_NAME Attribute Values:
Flags: Archive
Name: HIYOKO~3.DOC
Parent MFT Entry: 746035        Sequence: 8
Allocated Size: 0       Actual Size: 0
Created:        2019-05-15 13:05:24.440512100 (  
File Modified:   2019-05-15 13:05:24.440512100 (  
MFT Modified:    2019-05-15 13:05:24.440512100 (  
Accessed:        2019-05-15 13:05:24.440512100 (

$FILE_NAME Attribute Values:
Flags: Archive
Name: hiyoko - コピー (2).docx
Parent MFT Entry: 746035        Sequence: 8
Allocated Size: 0       Actual Size: 0
Created:        2019-05-15 13:05:24.440512100 (  
File Modified:   2019-05-15 13:05:24.440512100 (  
MFT Modified:    2019-05-15 13:05:24.440512100 (  
Accessed:        2019-05-15 13:05:24.440512100 (

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-3)   Name: N/A   Resident   size: 90
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 108
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

結果

「可能なすべてのプロパティを削除してコピーを作成」でファイルコピーをしたら、$SIのMFT Modifiedが更新されました。コピー後に、ObjectIDが付与されることによって、$SIのMFT Modifiedが更新されたと考えられます。

注意

環境によっては、この記事とは異なる結果になる可能性があります。

Volume Folder Moveですべての時間が更新された件

はじめに

こんにちは、iria_piyo🐣です。
今回は、moveコマンドを使用してボリューム間移動をおこなったときのタイムスタンプの更新についてメモします!

今回は空のフォルダで検証を行いました。
使用したツールはThe Sleuth Kitです。

環境

Windows10 バージョン1809

エクスプローラー上でカット&ペーストした場合

移動させるフォルダ「Chick_Explorer」のタイムスタンプ

mkdirコマンドでフォルダを作成し、istatコマンドでタイムスタンプを確認します。

PS C:\> istat \\.\C: 296679-144-1
MFT Entry Header Values:
Entry: 296679        Sequence: 41
$LogFile Sequence Number: 120999052358
Allocated Directory
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags:
Owner ID: 0
Security ID: 3374  (S-1-5-32-544)
Last User Journal Update Sequence Number: 853949552
Created:        2019-05-10 11:09:47.743675400 (
File Modified:   2019-05-10 11:09:47.743675400 (
MFT Modified:   2019-05-10 11:09:47.743675400 (
Accessed:        2019-05-10 11:09:47.743675400 (

$FILE_NAME Attribute Values:
Flags: Directory
Name: CHICK_~1
Parent MFT Entry: 5     Sequence: 5
Allocated Size: 0       Actual Size: 0
Created:        2019-05-10 11:09:47.743675400 (
File Modified:   2019-05-10 11:09:47.743675400 (
MFT Modified:   2019-05-10 11:09:47.743675400 (
Accessed:        2019-05-10 11:09:47.743675400 (

$FILE_NAME Attribute Values:
Flags: Directory
Name: Chick_Explorer
Parent MFT Entry: 5     Sequence: 5
Allocated Size: 0       Actual Size: 0
Created:        2019-05-10 11:09:47.743675400 (
File Modified:   2019-05-10 11:09:47.743675400 (
MFT Modified:   2019-05-10 11:09:47.743675400 (
Accessed:        2019-05-10 11:09:47.743675400 (

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-3)   Name: N/A   Resident   size: 82
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 94
Type: $INDEX_ROOT (144-1)   Name: $I30   Resident   size: 48

カット&ペーストでフォルダを別ボリュームに移動させます。

移動後のフォルダ「Chick_Explorer」のタイムスタンプ

PS C:\> istat \\.\E: 295-144-1
MFT Entry Header Values:
Entry: 295        Sequence: 5
$LogFile Sequence Number: 505760357
Allocated Directory
Links: 1

$STANDARD_INFORMATION Attribute Values:
Flags:
Owner ID: 0
Security ID: 266  (S-1-5-21-3763767945-1047358448-4033639875-8282)
Last User Journal Update Sequence Number: 3225720
Created:        2019-05-10 11:09:47.743675400 (
File Modified:   2019-05-10 11:09:47.743675400 (
MFT Modified:   2019-05-10 11:18:28.381584000 (
Accessed:        2019-05-10 11:18:27.683571300 (

$FILE_NAME Attribute Values:
Flags: Directory
Name: Chick_Explorer
Parent MFT Entry: 5     Sequence: 5
Allocated Size: 0       Actual Size: 0
Created:        2019-05-10 11:18:27.683571300 (
File Modified:   2019-05-10 11:18:27.683571300 (
MFT Modified:   2019-05-10 11:18:27.683571300 (
Accessed:        2019-05-10 11:18:27.683571300 (

$OBJECT_ID Attribute Values:
Object Id: c4ed3d00-72b6-11e9-858a-a81374942b83

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 94
Type: $OBJECT_ID (64-3)   Name: N/A   Resident   size: 16
Type: $INDEX_ROOT (144-1)   Name: $I30   Resident   size: 48

$SIのCreatedとFile Modified以外が更新されました。

moveコマンドで移動させた場合

移動させるフォルダ「Chick_CUI」のタイムスタンプ

mkdirコマンドでフォルダを作成し、istatコマンドでタイムスタンプを確認します。

PS C:\> istat \\.\C: 20238-144-1
MFT Entry Header Values:
Entry: 20238        Sequence: 57
$LogFile Sequence Number: 120999066948
Allocated Directory
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags:
Owner ID: 0
Security ID: 3374  (S-1-5-32-544)
Last User Journal Update Sequence Number: 853955200
Created:        2019-05-10 11:10:01.051552400 (
File Modified:   2019-05-10 11:10:01.051552400 (
MFT Modified:   2019-05-10 11:10:01.051552400 (
Accessed:        2019-05-10 11:10:01.051552400 (

$FILE_NAME Attribute Values:
Flags: Directory
Name: CHICK_~2
Parent MFT Entry: 5     Sequence: 5
Allocated Size: 0       Actual Size: 0
Created:        2019-05-10 11:10:01.051552400 (
File Modified:   2019-05-10 11:10:01.051552400 (
MFT Modified:   2019-05-10 11:10:01.051552400 (
Accessed:        2019-05-10 11:10:01.051552400 (

$FILE_NAME Attribute Values:
Flags: Directory
Name: Chick_CUI
Parent MFT Entry: 5     Sequence: 5
Allocated Size: 0       Actual Size: 0
Created:        2019-05-10 11:10:01.051552400 (
File Modified:   2019-05-10 11:10:01.051552400 (
MFT Modified:   2019-05-10 11:10:01.051552400 (
Accessed:        2019-05-10 11:10:01.051552400 (

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-3)   Name: N/A   Resident   size: 82
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 84
Type: $INDEX_ROOT (144-1)   Name: $I30   Resident   size: 48

moveコマンドでフォルダを別ボリュームに移動させます。

PS C:\> move C:\Chick_CUI\ E:\

移動後のフォルダ「Chick_CUI」のタイムスタンプ

PS C:\> istat \\.\E: 282-144-1
MFT Entry Header Values:
Entry: 282        Sequence: 8
$LogFile Sequence Number: 505758862
Allocated Directory
Links: 1

$STANDARD_INFORMATION Attribute Values:
Flags:
Owner ID: 0
Security ID: 270  (S-1-5-32-544)
Last User Journal Update Sequence Number: 3225200
Created:        2019-05-10 11:15:48.410211300 (
File Modified:   2019-05-10 11:15:48.410211300 (
MFT Modified:   2019-05-10 11:15:48.410211300 (
Accessed:        2019-05-10 11:15:48.410211300 (

$FILE_NAME Attribute Values:
Flags: Directory
Name: Chick_CUI
Parent MFT Entry: 5     Sequence: 5
Allocated Size: 0       Actual Size: 0
Created:        2019-05-10 11:15:48.410211300 (
File Modified:   2019-05-10 11:15:48.410211300 (
MFT Modified:   2019-05-10 11:15:48.410211300 (
Accessed:        2019-05-10 11:15:48.410211300 (

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 84
Type: $INDEX_ROOT (144-1)   Name: $I30   Resident   size: 48

結果

moveコマンドを使用して、フォルダのボリューム間移動をおこなったら、すべてのタイムスタンプが更新されました!

感想

フォルダ作成したかのようなタイムスタンプで驚きました。

注意

この記事の内容は、moveコマンドを使用した場合の結果です。 コマンド、環境などによっては異なる結果になる可能性があります。

ファイルコピーしたらMFT Modifiedも更新された件

はじめに

こんにちは、iria_piyo🐣です。

ファイルコピーを行う際にファイルに属性が付与されているかどうかで結果が違ったので書いていこうと思います。

使用したツールはThe Sleuth Kitです。
詳細はこちら
https://www.sleuthkit.org/sleuthkit/

環境

Windows10 バージョン1803

ファイル作成後に属性を付与せずにファイルコピーを行った場合

ファイルchick.txtをfsutilコマンドで作成し、istatコマンドでタイムスタンプを確認します。

chick.txt作成時

>istat \\.\C: 223402-128-1
MFT Entry Header Values:
Entry: 223402        Sequence: 96
$LogFile Sequence Number: 94278591505
Allocated File
Links: 1

$STANDARD_INFORMATION Attribute Values:
Flags: Archive, Compressed
Owner ID: 0
Security ID: 5437  (S-1-5-32-544)
Last User Journal Update Sequence Number: 19756330016
Created:        2018-12-07 18:17:17.017127700 (  
File Modified:   2018-12-07 18:17:17.017127700 (  
MFT Modified:    2018-12-07 18:17:17.017127700 (  
Accessed:     2018-12-07 18:17:17.017127700 (
$FILE_NAME Attribute Values:
Flags: Archive, Compressed
Name: chick.txt
Parent MFT Entry: 53781         Sequence: 11
Allocated Size: 0       Actual Size: 0
Created:        2018-12-07 18:17:17.017127700 (  
File Modified:   2018-12-07 18:17:17.017127700 (  
MFT Modified:    2018-12-07 18:17:17.017127700 (  
Accessed:     2018-12-07 18:17:17.017127700 (  

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 84
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

copyコマンドでファイルをコピーします。

chick.txtコピー後

>istat \\.\C: 46353-128-1
MFT Entry Header Values:
Entry: 46353        Sequence: 137
$LogFile Sequence Number: 94289244565
Allocated File
Links: 1

$STANDARD_INFORMATION Attribute Values:
Flags: Archive, Compressed
Owner ID: 0
Security ID: 5437  (S-1-5-32-544)
Last User Journal Update Sequence Number: 19756863088
Created:        2018-12-07 18:39:58.132325900 (  
File Modified:   2018-12-07 18:17:17.017127700 (  
MFT Modified:    2018-12-07 18:17:17.017127700 (  
Accessed:     2018-12-07 18:39:58.132325900 (
$FILE_NAME Attribute Values:
Flags: Archive, Compressed
Name: chick.txt
Parent MFT Entry: 12789         Sequence: 108
Allocated Size: 0       Actual Size: 0
Created:        2018-12-07 18:39:58.132325900 (  
File Modified:   2018-12-07 18:39:58.132325900 (  
MFT Modified:    2018-12-07 18:39:58.132325900 (  
Accessed:     2018-12-07 18:39:58.132325900 (  

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 84
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

SI属性の作成時間とアクセス時間、FN属性の全てのタイムスタンプが更新されました。

ファイル作成後にreadonly属性を付与し、ファイルコピーを行った場合

ファイルchick_read.txtをfsutilコマンドで作成し、istatコマンドでタイムスタンプを確認します。

chick_read.txt作成時(Read Only属性付与)

>istat \\.\C: 253067-128-1
MFT Entry Header Values:
Entry: 253067        Sequence: 528
$LogFile Sequence Number: 94290792766
Allocated File
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags: Read Only, Archive, Compressed
Owner ID: 0
Security ID: 5437  (S-1-5-32-544)
Last User Journal Update Sequence Number: 19757515912
Created:        2018-12-07 18:46:19.461137100 (  
File Modified:   2018-12-07 18:46:19.461137100 (  
MFT Modified:    2018-12-07 18:54:12.373175600 (  
Accessed:     2018-12-07 18:46:19.461137100 (
$FILE_NAME Attribute Values:
Flags: Archive, Compressed
Name: CHICK_~1.TXT
Parent MFT Entry: 53781         Sequence: 11
Allocated Size: 0       Actual Size: 0
Created:        2018-12-07 18:46:19.461137100 (  
File Modified:   2018-12-07 18:46:19.461137100 (  
MFT Modified:    2018-12-07 18:46:19.461137100 (  
Accessed:     2018-12-07 18:46:19.461137100 (
$FILE_NAME Attribute Values:
Flags: Archive, Compressed
Name: chick_read.txt
Parent MFT Entry: 53781         Sequence: 11
Allocated Size: 0       Actual Size: 0
Created:        2018-12-07 18:46:19.461137100 (  
File Modified:   2018-12-07 18:46:19.461137100 (  
MFT Modified:    2018-12-07 18:46:19.461137100 (  
Accessed:     2018-12-07 18:46:19.461137100 (  

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-3)   Name: N/A   Resident   size: 90
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 94
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

その後、copyコマンドでファイルをコピーします。

chick_read.txtコピー後(Read Only属性付与)

>istat \\.\C: 126375-128-1
MFT Entry Header Values:
Entry: 126375        Sequence: 55
$LogFile Sequence Number: 94290826738
Allocated File
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags: Archive, Compressed
Owner ID: 0
Security ID: 5437  (S-1-5-32-544)
Last User Journal Update Sequence Number: 19757532304
Created:        2018-12-07 18:54:49.783542600 (  
File Modified:   2018-12-07 18:46:19.461137100 (  
MFT Modified:    2018-12-07 18:54:49.783542600 (  
Accessed:     2018-12-07 18:54:49.783542600 (
$FILE_NAME Attribute Values:
Flags: Read Only, Archive, Compressed
Name: CHICK_~1.TXT
Parent MFT Entry: 12789         Sequence: 108
Allocated Size: 0       Actual Size: 0
Created:        2018-12-07 18:54:49.783542600 (  
File Modified:   2018-12-07 18:54:49.783542600 (  
MFT Modified:    2018-12-07 18:54:49.783542600 (  
Accessed:     2018-12-07 18:54:49.783542600 (
$FILE_NAME Attribute Values:
Flags: Read Only, Archive, Compressed
Name: chick_read.txt
Parent MFT Entry: 12789         Sequence: 108
Allocated Size: 0       Actual Size: 0
Created:        2018-12-07 18:54:49.783542600 (  
File Modified:   2018-12-07 18:54:49.783542600 (  
MFT Modified:    2018-12-07 18:54:49.783542600 (  
Accessed:     2018-12-07 18:54:49.783542600 (  

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-3)   Name: N/A   Resident   size: 90
Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 94
Type: $DATA (128-1)   Name: N/A   Resident   size: 0

結果

SI属性のMFT Modifiedが更新されました!
chick_read.txtのSI属性に付与されていたRead Only属性が無くなったことによって、属性の値が更新されてMFT Modifiedが最新の時間に更新されたと考えられます。 FN属性はもともとコピーをすることによってすべて最新の時間になるのでタイムスタンプの動きに影響を与えたわけではないのかもしれませんが、FN属性にRead Only属性が付与されました。

さいごに

SI属性がSI属性からFN属性にコピーされることもあるんですね。面白いです。
この検証で気になることが増えたので、もっと書いていこうと思います。

注意

今回の記事は、ファイルコピーにcopyコマンドを使用した場合の結果です。
エクスプローラー上でファイルコピーを行った場合はSI属性のRead Only属性は引き継がれ、SI属性のMFT Modifiedの更新は起こりません。

NTFSのトンネリングとFileDownload

はじめに

こんにちは、iria_piyo🐣です。

今回は、ダウンロード時にもファイルシステムのトンネリング*1が影響するのか検証してみました。

環境

Windows10 バージョン1803

Google Chrome使用

検証内容

ファイルmedamayaki.pngをダウンロードし、削除をする。 その後、再びmedamayaki.pngをダウンロードしたら作成時間は引き継がれるのか。

medamayaki.pngダウンロード時(一回目)

>istat \\.\C:  78796-128-6
MFT Entry Header Values:
Entry: 78796        Sequence: 17
$LogFile Sequence Number: 86674637289
Allocated File
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 5091  (S-1-5-21-3763767945-1047358448-4033639875-8282)
Last User Journal Update Sequence Number: 18433438072
Created:        2018-10-10 12:46:48.087722600 (  
File Modified:   2018-10-10 12:46:48.928756600 (  
MFT Modified: 2018-10-10 12:46:48.928756600 (  
Accessed:        2018-10-10 12:46:48.087722600 ( 
$FILE_NAME Attribute Values:
Flags: Archive
Name: MEDAMA~1.PNG
Parent MFT Entry: 155482        Sequence: 2
Allocated Size: 495616          Actual Size: 492048
Created:        2018-10-10 12:46:48.087722600 (  
File Modified:   2018-10-10 12:46:48.416988200 (  
MFT Modified: 2018-10-10 12:46:48.416988200 (  
Accessed:        2018-10-10 12:46:48.087722600 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: medamayaki.png
Parent MFT Entry: 155482        Sequence: 2
Allocated Size: 495616          Actual Size: 492048
Created:        2018-10-10 12:46:48.087722600 (  
File Modified:   2018-10-10 12:46:48.416988200 (  
MFT Modified: 2018-10-10 12:46:48.416988200 (  
Accessed:        2018-10-10 12:46:48.087722600 (

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-8)   Name: N/A   Resident   size: 90
Type: $FILE_NAME (48-7)   Name: N/A   Resident   size: 94
Type: $DATA (128-6)   Name: N/A   Non-Resident   size: 492048  init_size: 492048
232624 232625 232626 232627 232628 232629 232630 232631
357940 357941 357942 357943 357944 357945 357946 357947
2750508 2750509 2750510 2750511 2750512 2750513 2750514 2750515
2750516 2750517 2750518 2750519 2750520 2750521 2750522 2750523
2750524 2750525 2750526 2750527 2750528 2750529 2750530 2750531
2750532 2750533 2750534 2750535 2750536 2750537 2750538 2750539
3304280 3304281 3304282 3304283 3304284 3304285 3304286 3304287
3304288 3304289 3304290 3304291 3304292 3304293 3304294 3304295
3304296 3304297 3304298 3304299 3304300 3304301 3304302 3304303
3304304 3304305 3304306 3304307 3304308 3304309 3304310 3304311
5470716 5470717 5470718 5470719 5470720 5470721 5470722 5470723
5470724 5470725 5470726 5470727 5470728 5470729 5470730 5470731
5470732 5470733 5470734 5470735 5470736 5470737 5470738 5470739
5470740 5470741 5470742 5470743 5470744 5470745 5470746 5470747
5470748 5470749 5470750 5470751 5470752 5470753 5470754 5470755
5470756
Type: $DATA (128-9)   Name: Zone.Identifier   Resident   size: 157

medamayaki.png再ダウンロード時

>istat \\.\C: 78796-128-6
MFT Entry Header Values:
Entry: 78796        Sequence: 18
$LogFile Sequence Number: 86675681577
Allocated File
Links: 2

$STANDARD_INFORMATION Attribute Values:
Flags: Archive
Owner ID: 0
Security ID: 5091  (S-1-5-21-3763767945-1047358448-4033639875-8282)
Last User Journal Update Sequence Number: 18433929376
Created:        2018-10-10 12:46:48.087722600 (  
File Modified:   2018-10-10 12:53:48.551209100 (  
MFT Modified: 2018-10-10 12:53:48.551209100 (  
Accessed:        2018-10-10 12:53:48.235617500 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: MEDAMA~1.PNG
Parent MFT Entry: 155482        Sequence: 2
Allocated Size: 495616          Actual Size: 492048
Created:        2018-10-10 12:53:48.235617500 (  
File Modified:   2018-10-10 12:53:48.455643200 (  
MFT Modified: 2018-10-10 12:53:48.455643200 (  
Accessed:        2018-10-10 12:53:48.235617500 (
$FILE_NAME Attribute Values:
Flags: Archive
Name: medamayaki.png
Parent MFT Entry: 155482        Sequence: 2
Allocated Size: 495616          Actual Size: 492048
Created:        2018-10-10 12:53:48.235617500 (  
File Modified:   2018-10-10 12:53:48.455643200 (  
MFT Modified: 2018-10-10 12:53:48.455643200 (  
Accessed:        2018-10-10 12:53:48.235617500 (

Attributes:
Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72
Type: $FILE_NAME (48-8)   Name: N/A   Resident   size: 90
Type: $FILE_NAME (48-7)   Name: N/A   Resident   size: 94
Type: $DATA (128-6)   Name: N/A   Non-Resident   size: 492048  init_size: 492048
471252 471253 471254 471255 471256 471257 471258 471259
2536290 2536291 2536292 2536293 2536294 2536295 2536296 2536297
2536298 2536299 2536300 2536301 2536302 2536303 2536304 2536305
30870582 30870583 30870584 30870585 30870586 30870587 30870588 30870589
30870590 30870591 30870592 30870593 30870594 30870595 30870596 30870597
30711446 30711447 30711448 30711449 30711450 30711451 30711452 30711453
30711454 30711455 30711456 30711457 30711458 30711459 30711460 30711461
30711462 30711463 30711464 30711465 30711466 30711467 30711468 30711469
30711470 30711471 30711472 30711473 30711474 30711475 30711476 30711477
7615652 7615653 7615654 7615655 7615656 7615657 7615658 7615659
7615660 7615661 7615662 7615663 7615664 7615665 7615666 7615667
7615668 7615669 7615670 7615671 7615672 7615673 7615674 7615675
7615676 7615677 7615678 7615679 7615680 7615681 7615682 7615683
7615684 7615685 7615686 7615687 7615688 7615689 7615690 7615691
7615692 7615693 7615694 7615695 7615696 7615697 7615698 7615699
7615700
Type: $DATA (128-9)   Name: Zone.Identifier   Resident   size: 157

結果

作成時間が引き継がれました。 記事がトンネリングの検証ばかりなので、そろそろ別の記事も書かないと...

*1:ファイルがディレクトリから削除またはリネームされると、SFN/LFNと作成時間が短時間(デフォルトで15秒間)キャッシュに保存されます。このキャッシュは、ディレクトリごとに分けられています。 削除されたファイル名がキーとなり、新しいファイルがディレクトリに追加されると、キャッシュを検索し、復元できる情報があるか確認されます。 ディレクトリが削除されてしまうと、そのディレクトリのキャッシュも削除されてしまいます。