Execution proofs
A set of forensic artifacts that might help indicates something was run. Unless specified otherwise, a feature applies to all Windows version (post Windows 2000 - there's a limit).
BAM / DAM
Background Activity Moderator - BAM is a Windows service that controls activity of background applications. This service exists in Windows 10 only after Fall Creators update – version 1709, and registers useful information for forensics.
Location
HKLM\SYSTEM\CurrentControlSet\Services\bam\UserSettings\{SID}
HKLM\SYSTEM\CurrentControlSet\Services\bam\State\UserSettings\{SID}
BAM doesn't seem to be available on previous versions
Data available
Full path (key)
Last date of execution (value - little Endian 64bits UTC time of exec)
Parser
Live : BamParser.ps1
Offline :
UserAssist
On a Windows system, every GUI-based programs launched from Explorer are tracked in this registry key. Programs started from the command line are not shown in this registry key.
Location
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count
Data available
Full path
Last run time
Run count
Parser
RecentApps
Program execution launched on a Win10 system is tracked in the RecentApps key. Some releases do not include RecentApps.
HKCU\Software\Microsoft\Windows\CurrentVersion\Search\RecentApps
HKCU\Software\Microsoft\Windows\CurrentVersion\Search\JumpListData
Data available
Full path (key)
Last date of execution (value - little Endian 64bits UTC)
Launch count
Some entries have subeys which corresponds to files accessed by the application
Notes
Some testing show that the last execution timestamp doesn't specifically reflect the reality. The timestamps are updated immediately but do no match the actual time of execution (by some hours and minutes).
Parser
ShimCache / AppCompatCache
Windows Application Compatibility database is a feature of Windows - starting from Windows XP used - for forward and backward compatibility. It registers shim-ed executable in a registry key.
An entry in the ShimCache doesn't mean it was executed unless the execution flag is set ! The execution flag is only valid from Windows 7 to Windows 8.1. For Windows 10 and 11, an entry in the ShimCache is not a proof of execution.
Windows shimmes applications visited with Explorer. Even more, it registers the applications that are visible in the explorer Windows.
Location
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache
1024 entries before rotation
HKLM\CurrentControlSet\Control\Session Manager\AppCompatibility\AppCompatCache
96 entries available before rotation
Data available
Full path
File size
$SI Modification date of the executable
Process execution flag (Win 7,8,8.1)
Parsers
Amcache
ProgramDataUpdater (a task associated with the Application Experience Service) uses the registry file Amcache.hve to store data during process creation (starting from Windows 8).
Location
%WinDir%\AppCompat\Programs\AmCache.hve%WinDir%\AppCompat\Programs\appraiser\*
%WinDir%\AppCompat\Programs\AmCache.hve%WinDir%\AppCompat\Programs\Install\*%WinDir%\AppCompat\Programs\AEINV_PREVIOUS.xml%WinDir%\AppCompat\Programs\FullCompatReport.xml
%WinDir%\AppCompat\Programs\RecentFileCache.bcf%WinDir%\AppCompat\Programs\AEINV_PREVIOUS.xml
AmCache doesn't seem to be available on other versions
Data available
The data depends a lot depending on the version. ANSSI made a great article about that.
On the latest versions, here is what is found
Full path of the application
Size of the application
SHA1 of the application
Date of creation and modification
Compilation time (depending on the key)
First Run Time = Last Modification Time of Key
Parsers
Prefetech
Windows Prefetch files, are designed to speed up the application startup process as well as boot time. The Prefetch files are stored into the path
Location
%windir%\Prefetch
Data available
Prefetch files
Full path
Hash of the path from where the application was run. For certain applications, the command line is included - rundll32 or svchost for instance)
MAC timestamps of the application
Number of executions
Last 8 executions timestamps (Last run only if version < Win 8)
Volume information (path, serial, timestamp)
Files and directory used by the application in its first 10s of execution. This is an upper limit, time might be lower depending on the application.
layout. ini
List of DLL
Parser
SRUM/SRUB
System resource Usage monitor - It monitores the resources consumptions for 30 to 60 days.
Location
%windir%\system32\sru\SRUDB.dat
Data available
Full path
Date of analysis by Windows
SID of the user starting the application
Resource information (CPU, Network, etc)
Timestamp corresponding to the time of flush in the ESE db file
Parser
Windows 10 Timeline
Windows Timeline is a feature offered to the users to have an overview of their recent activities.
Location
drive:\Users\<profile>\AppData\Local\ConnectedDevices Platform\L.<profile>\ActivitiesCache.db
Data available
Application name or full path
Username (since it's from the profile)
Activity type (CopyPaste, InFocus, ExecuteOpen, etc)
Start and end time of the activity
Parser
Last updated
Was this helpful?