我們在做數位鑑識調查的時候,不管委託的案件是否是機密人為竊取或是惡意程式入侵外流,一定會要求委託人是否能提供案件發生的日期範圍,我們就可以在調查上縮小範圍,因為一顆硬碟裡的檔案起碼幾十萬個以上在起跳,要是很久沒重灌的電腦或是伺服器,那檔案百萬跑不掉,這麼多的檔案要一個一個看,很多人會說我先到旁邊睡一下,因此時間範圍是非常重要,能縮小你查看範圍也有效的檢視該案件發生正確時間。
我們可以從很多系統日誌去作調查,但那些日誌很多都是用特別編碼做資料儲存,不是簡單明文記錄,所以得花時間去做解碼才能把系統資訊解析出來。
不過我這次要分享的是,存在硬碟邏輯磁區NTFS格式裡所記錄的檔案所有時間戳記,有些時間戳記是你按檔案->右鍵->內容是看不到的,那我就開始介紹吧!
在NTFS邏輯格式裡,他的檔案訊息是記錄在$MFT裡,有聽過的人應該都會說MFT表(Master File Table),這表裡面記錄的檔案 Attribute 可能會有這幾種:
0x10 STANDARD INFORMATION
0x20 ATTRIBUTE LIST
0x30 FILE NAME
0x40 OBJECT ID
0x50 SECURITY DESCRIPTOR
0x60 VOLUME NAME
0x70 VOLUME INFORMATION
0x80 DATA
0x90 INDEX ROOT
0xA0 INDEX ALLOCATION
0xB0 BITMAP
0xC0 REPARSE POINT
0xD0 EA INFORMATION
0xE0 EA
0x100 LOGGED UTILITY STREAM
以上的這些 Attribute 並不是每個檔案都會有這些資訊,就舉個幾個例子0x80所記錄的就是檔案身體存放在硬碟的什麼地方,但並不是每個檔案都會有0x80的資訊,因為我也有看過檔案身體存放在0x30裡,不過那檔案Size通常很小。0x90就是記錄目錄底下子檔案訊息,所以看到0x90就知道這是個目錄不是檔案,看到0x80就是檔案不是目錄。好這些不是這文章的主題,我們要調查時間戳記要看的是0x10以及0x30,我們在右鍵內容看到的建立時間、修改時間、存取時間是記錄在0x10裡面,但0x10裡面還有一個時間是 MFT changed time 也有人講 Entry modify time,他其實是該檔案有修改到MFT表裡的任何資訊這時間就會變動,舉例來說:檔案修改、移動、更名、屬性變動等…都會影響到這時間變化。再來就是0x30裡的時間,其實這裡一樣有這四個時間,建立時間、修改時間、存取時間、MFT changed time,但特別的是檔案剛建立時這四個時間會落在這建立的時間,當檔案名稱變更後,建立時間、修改時間會更0x10的建立時間、修改時間一樣,但存取時間、MFT changed time就會有所變化,0x30時間通常要用工具去查看,不然一般右鍵內容也是看不到的,更何況0x10的建立時間、修改時間、存取時間是可以容易被人為竄改,所以0x30還是有它的參考性。
NTFS裡還有一個檔案也有紀錄檔案變動日誌,內容如下:
37252,425932,FileCreate, *Close*,5f62f729098efaf94166f38f936481c6006e19eb,2018/07/13 09:53:54
52999,596562,FileDelete, *Close*,WindowsUpdate.20180706.150824.564.1.etl,2018/07/13 09:53:54
37251,36871,DataExtend,5f62f729098efaf94166f38f936481c6006e19eb,2018/07/13 09:53:55
37251,36871,DataOverwrite, DataExtend,5f62f729098efaf94166f38f936481c6006e19eb,2018/07/13 09:53:56
466432,466430,DataExtend,ReportingEvents.log,2018/07/13 09:53:58
37253,467942,FileCreate,DLLHOST.EXE-88F23425.pf,2018/07/13 09:53:58
37253,467942,DataExtend, FileCreate,DLLHOST.EXE-88F23425.pf,2018/07/13 09:53:58
37253,467942,DataExtend, FileCreate, *Close*,DLLHOST.EXE-88F23425.pf,2018/07/13 09:53:58
563008,562976,DataExtend, DataTruncation,SvcRestartTask,2018/07/13 09:53:59
563008,562976,DataExtend, DataTruncation, *Close*,SvcRestartTask,2018/07/13 09:53:59
37254,467942,FileCreate,SVCHOST.EXE-678BC29E.pf,2018/07/13 09:54:00
37254,467942,DataExtend, FileCreate,SVCHOST.EXE-678BC29E.pf,2018/07/13 09:54:00
37254,467942,DataExtend, FileCreate, *Close*,SVCHOST.EXE-678BC29E.pf,2018/07/13 09:54:00
37255,467942,FileCreate,SVCHOST.EXE-EC10D95C.pf,2018/07/13 09:54:03
37255,467942,DataExtend, FileCreate,SVCHOST.EXE-EC10D95C.pf,2018/07/13 09:54:03
37255,467942,DataExtend, FileCreate, *Close*,SVCHOST.EXE-EC10D95C.pf,2018/07/13 09:54:03
37259,467942,FileCreate,SVCHOST.EXE-F916FF55.pf,2018/07/13 09:54:04
37259,467942,DataExtend, FileCreate,SVCHOST.EXE-F916FF55.pf,2018/07/13 09:54:04
37259,467942,DataExtend, FileCreate, *Close*,SVCHOST.EXE-F916FF55.pf,2018/07/13 09:54:04
37251,36871,DataOverwrite, DataExtend, *Close*,5f62f729098efaf94166f38f936481c6006e19eb,2018/07/13 09:54:05
37251,36871,RenameOldName,5f62f729098efaf94166f38f936481c6006e19eb,2018/07/13 09:54:05
37251,596586,RenameNewName,5f62f729098efaf94166f38f936481c6006e19eb,2018/07/13 09:54:05
37251,596586,RenameNewName, *Close*,5f62f729098efaf94166f38f936481c6006e19eb,2018/07/13 09:54:05
36871,596586,FileDelete, *Close*,92d7bc1871eea88a1915845bd7deb86f,2018/07/13 09:54:05
上面資訊是我自己寫程式解析出來的,第一欄位就是該檔案MFT表的編號,第二欄位是該檔案父目錄在MFT表的編號,下一個欄位就是檔案做了什麼動作,再來是檔案名稱,最後重要的欄位就是發生的時間,這可以拿來做重要參考,但是這日誌還是有資料最大限制,超過就會覆蓋掉先前記錄,所以在系統碟裡大部分都在C磁區,覆蓋率非常高,因為系統經常讀讀寫寫的,尤其是 Win10 讀寫的非常誇張,日誌的日期都大概只能看到近期的一兩天導致不好調查,不然這裡面資訊非常豐富。
以上是我分享給各位NTFS邏輯格式時間戳調查經驗,希望大家會喜歡這篇文章。
最後分享給大家這是我的粉絲團,對資安數位鑑識有興趣的可以參考看看,不吝嗇給個讚跟追蹤吧!
facebook.com/rexlintechnology
- Aug 27 Fri 2021 22:04
數位鑑識調查-NTFS 格式邏輯分析(時間戳記)
文章標籤
全站熱搜
留言列表