我如何显示所有 8 个 NTFS 时间戳?

我如何显示所有 8 个 NTFS 时间戳?

我知道有 8 个 NTFS 时间戳

http://www.governmentsecurity.org/forum/topic/30896-frustrating-ntfs-time-stamp-forensics/

NTFS MACE(已修改、已访问、已创建和已修改的 MFT 条目)值。NTFS 带有 8 个时间戳值,其中 4 个位于 $Standard_Information 属性 (SI) 中,另外 4 个位于 MFT 条目的 $FILE_NAME (FN) 属性中。

我怎样才能显示全部 8 个?

答案1

这个命令可以做到这一点

MFTRCRD.exe c:\crp\a.a -d indxdump=off 1024 -s

至于我如何知道这些参数,嗯,执行 MFTCRD 说有 4 个参数并给出了一个例子,MFTRCRD C:\boot.ini -d indxdump=off 1024 -s 这样你可以更改任何文件名/路径。

C:\blah>MFTRCRD.exe c:\crp\a.a -d indxdump=off 1024 -s

Starting MFTRCRD by Joakim Schicht
Version 1.0.0.37

Target is a File
Filesystem on c: is NTFS
File IndexNumber: 64587
............................
$STANDARD_INFORMATION 1:
File Create Time (CTime): 2014-12-06 03:49:51:714:3290
File Modified Time (ATime): 2015-09-15 16:23:33:791:7170
MFT Entry modified Time (MTime): 2015-09-15 16:23:33:791:7170
File Last Access Time (RTime): 2014-12-06 03:49:51:794:3335
...........

$FILE_NAME 1:
Parent MFTReference: 80564
ParentSequenceNo: 10
File Create Time (CTime): 2014-12-06 03:49:51:714:3290
File Modified Time (ATime): 2014-12-06 03:49:51:794:3335
MFT Entry modified Time (MTime): 2014-12-06 03:49:51:794:3335
File Last Access Time (RTime): 2014-12-06 03:49:51:794:3335

(请注意 MFTRCRD 中 ATime 的缩写(表示修改时间)和其他缩写(如 Rtime))看起来非常荒谬,例如谷歌搜索 Rtime 不会显示任何内容。因此,您可以忽略该命令提供的缩写并按照描述进行操作。但 Linux 使用(MAC)和 Windows NTFS 使用(MACE)的缩写,我将在下面进行描述)

Linux 不存储文件创建的时间。(已更新 - 一些现代 Linux 文件系统会存储,请参阅最后的注释)Windows 会存储创建时间。

看起来 Linux 有 3 个时间。MAC 时间。mtime atime ctime。在 Linux 中,ctime 是更改时间,而不是创建时间,并且 Linux 中的“更改”时间与被修改的文件(修改时间)不同。Linux 中的更改时间是文件系统中的条目发生更改的时间,例如,当文件权限发生变化时,Linux 中的 ctime 也会发生变化。

Windows NTFS 使用 MACE,MACE 中的 C 表示创建。MACE 中的 E 似乎类似于 linux 中的 c,即 MACE 中的 E 表示正在更改的条目。

http://forensicswiki.org/wiki/MAC_timesMAC 时间 术语 MAC 时间是指某个文件的最新修改 (mtime) 或最后写入时间、访问 (atime) 或更改 (ctime) 的时间戳。

Unix 系统将 ctime 的历史解释保留为某些文件元数据(而不是其内容)最后更改的时间,例如文件的权限或所有者(例如,“此文件的元数据于 05/05/02 12:15pm 更改”)。

Windows 系统是唯一使用诞生 (btime) 或创建 (crtime) 时间的系统(例如“此文件创建于 05/05/02 12:15pm”)。因此 MACB 即修改、访问、更改和诞生。

进一步看一下linux进行对比是有益的。

http://www.linux-faqs.info/general/difference-between-mtime-ctime-and-atime

一个常见的错误是,ctime 是文件创建时间。这是不正确的,它是 inode/文件更改时间。mtime 是文件修改时间。经常听到的一个问题是“ctime、mtime 和 atime 是什么?”。这很令人困惑,所以让我解释一下 ctime、mtime 和 atime 之间的区别。ctime

ctime 是 inode 或文件更改时间。当文件属性发生更改(例如更改所有者、更改权限或将文件移动到其他文件系统)时,ctime 会更新,但当您修改文件时也会更新。

时光网

mtime 是文件修改时间。修改文件时,mtime 会更新。每当您更新文件内容或保存文件时,mtime 都会更新。

大多数情况下,ctime 和 mtime 是相同的,除非只更新文件属性。在这种情况下,只有 ctime 会更新。

时间

atime 是文件访问时间。打开文件时,atime 会更新,文件用于其他操作(如 grep、sort、cat、head、tail 等)时,atime 也会更新。

cygwin 可以显示 4 个时间戳,timestomp 也可以

c:\blah>timestomp a.a -v
Modified:                 Tuesday 9/15/2015 17:23:33
Accessed:                Saturday 12/6/2014 4:49:51
Created:                 Saturday 12/6/2014 4:49:51
Entry Modified:           Tuesday 9/15/2015 17:23:33

-

$ stat a.a
  File: 'a.a'
  Size: 45              Blocks: 4          IO Block: 65536  regular file
Device: b411d580h/3021067648d   Inode: 102738366499454027  Links: 1
Access: (0070/----rwx---)  Uid: ( 1000/  harvey)   Gid: (  513/    None)
Access: 2014-12-06 03:49:51.794333500 +0000
Modify: 2015-09-15 17:23:33.791717000 +0100
Change: 2015-09-15 17:23:33.791717000 +0100
 Birth: 2014-12-06 03:49:51.714329000 +0000

显然 setMACE 类似于 timestomp,但更好。但是,我看不到它显示 8 个时间戳。并且 setMACE 描述提到显示时间戳的 MFTCRD。

您可以从这里获取 MFTRCRDhttps://github.com/jschicht/MftRcrd

Github 似乎有点奇怪,不要右键单击并另存为,否则它就是一个扩展名为 EXE 的 HTML 文件。当您尝试在 cmd 上运行它时,您会在 cmd 上收到有关 64 位和 32 位的错误。尝试左键单击它,然后下一页会为您提供实际文件的下载。并且您需要处于管理命令提示符中,否则您会收到一条关于您是否信任此发布者的程序的消息,如果您回答是,则 cmd 窗口会闪烁并显示(以及是否使用 cmd /k)。但它在管理 cmd 提示符下运行良好。

添加

一些现代 Linux 文件系统存储文件创建时间。(可能称为 crtime。出于上述原因,绝对不是 ctime)

https://unix.stackexchange.com/questions/91197/how-to-find-creation-date-of-file

相关内容