iT邦幫忙

2026 iThome 鐵人賽

DAY 14
0
Security

那些留在電腦裡的證據:從零開始認識數位鑑識系列 第 14 篇

[DAY 14] $MFT 實戰:判斷檔案狀態與檔案時間

  • 分享至 

  • xImage
  •  

昨天先認識了 NTFS、$MFT 和 MFT Record,今天直接把 $MFT 拉出來看。

這次會用到三個工具:

  • FTK Imager:從 NTFS Volume 取出 $MFT
  • MFT Explorer:快速瀏覽 MFT Record、Deleted 狀態與 Metadata
  • HxD:回到 Raw Hex,確認 Record 內容

怎麼取得 $MFT ?

先用 FTK Imager 開啟要分析的 Disk Image,在 NTFS Volume 中找到 $MFT。

接著將 $MFT Export 出來,後面的 MFT Explorer 和 HxD 都會直接用這份檔案分析。

https://ithelp.ithome.com.tw/upload/images/20260928/20146591FEjUOxYPGn.png

用 MFT Explorer 找到目標 Record

把剛才 Export 出來的 $MFT 載入 MFT Explorer。

https://ithelp.ithome.com.tw/upload/images/20260928/20146591lWQSG3e4UK.png

MFT Explorer 會直接解析出 File Name、Parent Path、Directory、Deleted 狀態和 Timestamp 等資訊,下方同時保留這筆 Record 的 Raw Hex。

https://ithelp.ithome.com.tw/upload/images/20260928/20146591eqkadRRR7n.png

選擇一筆 Record 後,可以先看到最前面的:

46 49 4C 45

右側 ASCII 則是:

FILE

這就是 MFT Record 的 Signature。

File Status

接著看這筆 Record 開頭後的第 22 Bytes。

Decimal Offset 22
= Hex Offset 0x16

https://ithelp.ithome.com.tw/upload/images/20260928/20146591PE5X8qzhrB.png

這兩個 Bytes 是 MFT Record Header 裡的 Flags。

常見組合為:

Value 狀態
00 00 Deleted File
01 00 Allocated File
02 00 Deleted Directory
03 00 Allocated Directory

這次看到的是:

00 00

所以可以知道這是一筆 Deleted File Record。

同時,也可以看到 MFT Explorer 左下角的 Is deleted 是被勾選的。

從 Record Number 算出它在 $MFT 的位置

接著看這筆 Record 開頭後的第 44 Bytes。

Decimal Offset 44
= Hex Offset 0x2C

這裡的 4 Bytes 是 69 FB 00 00,記錄的是這筆 MFT Record 的 Record Number (File Identify)。

https://ithelp.ithome.com.tw/upload/images/20260928/20146591qAE9PYzsJ2.png

因為 NTFS 以 Little Endian 儲存數值,所以要反過來解讀成 00 00 FB 69,也就是 0xFB69。換成十進位後得到 64361,因此這筆資料就是 MFT Record 64361。

上一篇提過,一筆 MFT Record 通常是 1024 Bytes,所以還要將 64361*1024。

https://ithelp.ithome.com.tw/upload/images/20260928/20146591ama6NDR5ck.png

65,905,664 就是這筆 Record 在目前匯出的 $MFT 檔案中的起始 Offset。

這裡算的是 $MFT 檔案內的位置,不是整顆 Disk Image 的 Physical Offset,也不是 File Data 本身所在的 Cluster。

回到 HxD 找同一筆 Record

接著用 HxD 開啟 $MFT。

點選功能列搜尋-->到... (CTRL+G),並輸入 65905664。

https://ithelp.ithome.com.tw/upload/images/20260928/20146591WE3d86P8VQ.png

https://ithelp.ithome.com.tw/upload/images/20260928/20146591mkL7A9mvov.png

跳到這個 Offset 後,開頭會看到:

46 49 4C 45

右側 Text View 也出現:

FILE

代表我們已經從 Record Number,成功回到 MFT Explorer 剛才看到的同一筆 Record。

$STANDARD_INFORMATION 裡的 Timestamp

找到 MFT Record 之後,接著往 $STANDARD_INFORMATION Attribute 看。

這個 Attribute 的 Type 是 0x10,裡面會記錄四組 NTFS Timestamp,分別是 Creation Time、File Modified Time、MFT Modified Time、Last Access Time。

每組 Timestamp 為 8 Bytes,所以四組總共是 32 Bytes。在這筆 Record 中,Timestamp 從 Record 開頭後的第 80 Bytes 開始,也就是:

Decimal Offset 80
= Hex Offset 0x50

https://ithelp.ithome.com.tw/upload/images/20260928/20146591CsduKe6z7i.png

選取其中一組 8 Bytes 的 Timestamp 後,HxD 右側的 Data Inspector 會自動用不同格式解析目前選取的資料。

找到 FILETIME 欄位,就可以直接看到這組 Raw Bytes 對應的日期與時間。

例如這次選取 Creation Time:

20 52 47 F8 FF C7 CB 01

HxD 解析後顯示:

2011/2/9 02:20:50

https://ithelp.ithome.com.tw/upload/images/20260928/201465919VS7nQ5Zcx.png

另外需要注意,Windows NTFS 使用的 FILETIME 是以 UTC 為基準記錄時間,因此後續建立 Timeline 時,要自行轉換。

例如台灣是 UTC+8,所以還需要再加 8 小時後才是台灣時間。

$FILE_NAME 也有另一組 Timestamp

除了 $STANDARD_INFORMATION 之外,$FILE_NAME Attribute 裡也會保存一組 Timestamp。

同樣包含 Creation Time、File Modified Time、MFT Modified Time 和 Last Access Time。

每組 Timestamp 一樣是 8 Bytes,所以四組總共也是 32 Bytes。

在這次分析的 Record 中,$FILE_NAME 的 Timestamp 從 Record 開頭後的第 184 Bytes 開始:

Decimal Offset 184
= Hex Offset 0xB8

https://ithelp.ithome.com.tw/upload/images/20260928/20146591rS0YQxhz33.png

如果要查看 $FILE_NAME 裡其中一組時間,一樣可以在 HxD 中選取對應的 8 Bytes,再從右側 Data Inspector 的 FILETIME 查看解析後的日期與時間。

$STANDARD_INFORMATION 和 $FILE_NAME 都會保存四組 Timestamp,但實際數值不一定完全相同。

$STANDARD_INFORMATION 的 Timestamp 比較容易受到一般 Windows API 或應用程式操作影響。

$FILE_NAME 的 Timestamp 主要由 NTFS 維護,因此在 Digital Forensics 中,常會把兩邊的時間拿來交叉比對。

不過 $FILE_NAME 的 Timestamp 並不是完全不能被修改,所以不能只因為兩組時間不同,就直接判斷有 Timestomping 或人為竄改。


上一篇
[DAY 13] NTFS 裡的檔案都記在哪?認識 $MFT
下一篇
[DAY 15] 刪掉的檔案去哪了?從 $Recycle.Bin 追出刪除紀錄
系列文
那些留在電腦裡的證據:從零開始認識數位鑑識 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言