除锈剂-03 发表于 2024-1-31 13:32:44

Eztime WP

下载题目所给的压缩包后发现了这么个东东:

遇到不认识的文件当然要上网查一下啦,结果发现是NTFS的主文件表,这里废话少叙直接上百度百科
MFT,全称Master File Table,即主文件表,它是NTFS文件系统的核心。它是包含了NTFS卷中所有文件信息的数据库,在$MFT 中每个文件(包括MFT本身)至少有一个MFT,记录着该文件的各种信息。这些信息被称为属性。NTFS使用MFT条目定义它们对应的文件,有关文件的所有信息,比如大小、时间、权限等都存在MFT条目中,或者由MFT条目描述存储在MFT外部的空间中。具体来说NFTS的表项是这样的:
RecordOffset|Signature|IntegrityCheck|Style|HEADER_MFTREcordNumber|HEADER_SequenceNo|Header_HardLinkCount|FN_ParentReferenceNo|FN_ParentSequenceNo|FN_FileName|FilePath|HEADER_Flags|RecordActive|FileSizeBytes|SI_FilePermission|FN_Flags|FN_NameType|ADS|SI_CTime|SI_ATime|SI_MTime|SI_RTime|MSecTest|FN_CTime|FN_ATime|FN_MTime|FN_RTime|CTimeTest|FN_AllocSize|FN_RealSize|SI_USN|DATA_Name|DATA_Flags|DATA_LengthOfAttribute|DATA_IndexedFlag|DATA_VCNs|DATA_NonResidentFlag|DATA_CompressionUnitSize|HEADER_LSN|HEADER_RecordRealSize|HEADER_RecordAllocSize|HEADER_BaseRecord|HEADER_BaseRecSeqNo|HEADER_NextAttribID|DATA_AllocatedSize|DATA_RealSize|DATA_InitializedStreamSize|SI_HEADER_Flags|SI_MaxVersions|SI_VersionNumber|SI_ClassID|SI_OwnerID|SI_SecurityID|FN_CTime_2|FN_ATime_2|FN_MTime_2|FN_RTime_2|FN_AllocSize_2|FN_RealSize_2|FN_Flags_2|FN_NameLength_2|FN_NameType_2|FN_FileName_2|GUID_ObjectID|GUID_BirthVolumeID|GUID_BirthObjectID|GUID_BirthDomainID|VOLUME_NAME_NAME|VOL_INFO_NTFS_VERSION|VOL_INFO_FLAGS|FN_CTime_3|FN_ATime_3|FN_MTime_3|FN_RTime_3|FN_AllocSize_3|FN_RealSize_3|FN_Flags_3|FN_NameLength_3|FN_NameType_3|FN_FileName_3|DATA_Name_2|DATA_NonResidentFlag_2|DATA_Flags_2|DATA_LengthOfAttribute_2|DATA_IndexedFlag_2|DATA_StartVCN_2|DATA_LastVCN_2|DATA_VCNs_2|DATA_CompressionUnitSize_2|DATA_AllocatedSize_2|DATA_RealSize_2|DATA_InitializedStreamSize_2|DATA_Name_3|DATA_NonResidentFlag_3|DATA_Flags_3|DATA_LengthOfAttribute_3|DATA_IndexedFlag_3|DATA_StartVCN_3|DATA_LastVCN_3|DATA_VCNs_3|DATA_CompressionUnitSize_3|DATA_AllocatedSize_3|DATA_RealSize_3|DATA_InitializedStreamSize_3|STANDARD_INFORMATION_ON|ATTRIBUTE_LIST_ON|FILE_NAME_ON|OBJECT_ID_ON|SECURITY_DESCRIPTOR_ON|VOLUME_NAME_ON|VOLUME_INFORMATION_ON|DATA_ON|INDEX_ROOT_ON|INDEX_ALLOCATION_ON|BITMAP_ON|REPARSE_POINT_ON|EA_INFORMATION_ON|EA_ON|PROPERTY_SET_ON|LOGGED_UTILITY_STREAM_ON项目庞杂,但是这次我们只关心文件的最近一次修改时间和打开时间:

其中C/A/M TIME分别表示文件最近一次修改(包括文件属性如只读等)/最近一次访问/最近一次修改的时间
FN 表示FILE_NAME ,SI 表示STANDARD_INFORMATION,FN只能由内核级进程修改,正常认为攻击者难以篡改它,借此我们可以找到异常的数据。
使用Mft2Csv工具(已下载到桌面)将¥MFT文件转为可读性更强的的.csv文件,题目给出的提示是eztime和flag格式为{……}.png,由此联想到是篡改文件时间戳的Timestomp技术,这里引用网上找来的说明:
Timestomp 是一种修改文件时间戳(修改,访问,创建和更改时间)的技术,通常用于模拟同一文件夹中的文件。该技术可以用在攻击者修改或创建的文件上,使得它们在取证调查人员或文件分析工具面前更加隐蔽。Timestomp 可以与文件名伪装(Masquerading)结合使用来隐藏恶意软件和工具。(https://attack.mitre.org/techniques/T1070/006/)实操推荐:Linux系统取证https://www.hetianlab.com/expc.doec=ECID9d6c0ca797abec2016100813263000001&pk_campaign=weixin-wemedia#stu本实验主要介绍 Linux 环境下的磁盘取证和内存取证工具的使用包括 Ftkimage、xmount、Volatility等。定向检索png字符,逐项比较SICTIME/FNCTIME 和 SIATIME/FNATIME,发现内容足有上百项,将.csv转为.txt,利用脚本解决问题:
import oswith open("C:/Users/11256/Desktop/MftDump.txt") as file:    for line in file.readlines():      if "png" in line:            if line.split('|') != line.split('|'):                print(line.split('|'),line.split('|'),line.split('|'))
找到对应第148号记录项即为答案。

页: [1]
查看完整版本: Eztime WP