Prefetch预读取文件,简称pf文件,是从Windows XP开始引入,作用是加速系统和应用程序启动过程。pf文件包含了可执行文件的名称、路径、调用DLL文件的列表、上次执行时间、运行次数等信息。简单来说,就相当于缓存。在Windows 7中可以记录128个条目,Windows 8/10可记录1024个条目。
pf文件存储在%SystemRoot%\Prefetch文件夹中。
Pf文件的名称由“大写字母的应用程序名、-、大写的8位十六进制哈希值、.pf扩展名”组成。
当用户首次运行某个应用程序的时候,Windows操作系统的Windows Cache Manager程序会跟踪记录应用程序启动过程中所需的代码和数据(主要是DLL),然后由一个名为NTKRNLPA.exe的核心进程将在内存中跟踪的数据以pf文件的形式保存下来。当用户下一次运行相同程序时候,系统会首先读取pf文件将必要的数据和代码加载到内存中,以加快程序的启动过程。
通过WinHex打开一个pf文件观察其组成结构:(这里以Windows 7中的pf文件举例)
偏移位置:00H:17 00 00 00:pf文件格式的版本
偏移位置:04H:53 43 43 41:签名SCCA
偏移位置:08H:11 00 00 00:未知
偏移位置:0CH:C6 4D 01 00:pf文件长度
偏移位置:10H:43 00 48 00 52 00 4F 00 4D 00 45 00 2E 00 45 00 58 00 45 00 00:应用程序的名称,这里是CHROME.EXE
偏移位置:4CH:BA B1 99 D9:pf文件的哈希值,与应用程序名称一起组成了pf文件名
偏移位置:80H:D2 38 72 D9 E0 6B D7 01:应用程序最后一次运行的时间
偏移位置:98H:0B 00 00 00:应用程序运行次数
在不同的系统版本中,pf文件的版本有所不同,在Windows xp/2003中版本是17(0x11),Windows 7是23(0x17),Windows 8 是26(0x1a),Windows 10的版本是30(0x1e)。
pf文件信息的格式也因为pf版本不同而有所不同:如在xp系统中pf文件信息中记录应用程序最后一次运行的时间的偏移位置是78H,记录程序运行次数的偏移位置是90H。
如果是Windows 10的pf文件则是经过压缩的(Microsoft XPRESS Huffman(LZXPRESS)压缩算法),文件结构信息如下:
开头的4D 41 4D 04是MAM签名,然后是EE 65 04 00是压缩pf文件的总长度。
描述:公司的SIEM系统识别到公司某些主机上一个名为Scvhost.exe的可疑文件。我们确认Scvhost.exe是否已经在主机上运行过,运行的时间及如何被删除的。
找出可疑文件的最后执行时间和执行次数。
提供的附件:
通过使用pf解析工具PECmd(
https://github.com/EricZimmerman/PECmd)对pf文件进行分析。
根据pf文件解析的结果进行分析,可以得出该文件最后执行的时间是2020-02-07 21:26,总共运行的次数是4次。
根据程序执行的时间线分析:
可能是通过微软Sysinternals的sdelete.exe工具进行删除的。
[Windows Prefetch File Format - Forensics Wiki](https://forensicswiki.xyz/wiki/index.php?title=Windows_Prefetch_File_Format
Compression - Forensics Wiki:https://forensicswiki.xyz/wiki/index.php?title=Compression
版权声明:本网站作品与素材版权均归作者所有,如内容侵权与违规请发邮件联系,我们将在三个工作日内予以改正,请发送到landui8899#163.com(#换成@)。
本文链接:https://hz6z.com/p/141200.html