RecentFileCache

Purpose and Function

The RecentFileCache.bcf is a binary file used by the Windows operating system, primarily as part of its Application Compatibility framework. Similar to Amcache/Syscache, its purpose is to cache information about recently executed applications to assist with compatibility checks and system performance. It functions as a straightforward, short-term log of program executions.

From a DFIR standpoint, RecentFileCache.bcf serves as another valuable, albeit less detailed, source of execution evidence. It is particularly useful because it can sometimes contain traces of executed programs that are not found in other, more commonly analyzed artifacts, or it may provide slightly different temporal data, helping to corroborate or expand a timeline.

Location and Structure

The RecentFileCache.bcf is a single binary file located in the same directory as the Amcache.hve hive.

  • Location: C:\Windows\AppCompat\Programs\RecentFileCache.bcf

The file has a simple internal structure, typically containing a header and a series of sequential entries. Each entry represents an executed program and stores a limited set of metadata. Due to its binary format, it must be parsed with specialized tools to be human-readable.

Stored Metadata

Compared to Amcache, the metadata stored in RecentFileCache.bcf is more concise. A typical entry includes:

  • File Path: The full path of the executable that was launched.

  • File Size: The size of the executable file.

  • Execution Timestamp: A timestamp that generally reflects the time of execution. The exact nature of this timestamp can vary between Windows versions and system states.

The cache has a limited size and operates on a first-in, first-out (FIFO) basis. As new programs are executed, their information is added to the cache, and older entries are eventually overwritten.

Forensic Value

While not as comprehensive as artifacts like Prefetch or SRUM, RecentFileCache.bcf is a valuable piece of the investigative puzzle for several reasons:

  • Quick Execution Confirmation: It provides a simple and direct way to confirm that an executable was run on the system.

  • Complementary Evidence: Its primary value lies in its ability to corroborate evidence from other sources. Finding an executable's path in both RecentFileCache.bcf and another artifact (like BAM) strengthens the certainty of the finding.

  • Unique Traces: In some cases, due to the nuances of Windows logging, an execution might be recorded in RecentFileCache.bcf but not in other locations, especially if other artifacts were cleared or failed to update. This makes it a crucial secondary source to check.

  • Simplicity: Its straightforward structure makes it relatively easy and fast to parse, allowing for a quick check of recent system activity.

However, its limited size and lack of detailed metadata (like run counts or file hashes) make it less powerful as a standalone source of evidence compared to its more robust counterparts.


Reflection points (SS Contest)

For a ScreenSharer, RecentFileCache.bcf is a quick-hit artifact that can provide that one extra piece of evidence needed to confirm a suspicion.

  • The Corroborating Hit: Its main role in a screenshare is to back up other findings. If you find a suspicious executable in Prefetch, finding it also listed in RecentFileCache.bcf adds another layer of certainty to your evidence, making it harder for the player to dispute.

  • Finding What's Missing: If you suspect a player has cleared their Prefetch or BAM, RecentFileCache.bcf might still hold the trace you need. It's a key part of a "leave no stone unturned" approach to checking for execution evidence.

  • Speed and Efficiency: During a time-sensitive screenshare, parsing this file with a tool like Eric Zimmerman's RecentFileCacheParser is extremely fast and can give an immediate overview of recently run programs, helping to quickly identify targets for deeper investigation.

Last updated