Jump Lists
1. What Are Jump Lists & Why They Matter
Jump Lists are a Windows feature (since Windows 7) that shows recently or frequently used files / actions for applications in the taskbar.
For forensics, they provide application-specific user activity: which documents were opened, how often, and when.
They are user-specific: stored under the user profile, so you can attribute entries to a particular account.
There are two main types:
AutomaticDestinations — Windows-generated MRU (Most Recently Used) lists.
CustomDestinations — where applications or users pin items (or define custom "jump" tasks) manually.
2. Where Jump Lists Are Stored
AutomaticDestinations files:
C:\Users\<Username>\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\*.automaticDestinations-msCustomDestinations files:
C:\Users\<Username>\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations\*.customDestinations-msAlso, there is a registry value for "StartPage2 ProgramsCache" in:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2for certain Jump List related data.
3. Internal Structure & Key Metadata
AutomaticDestinations (.automaticDestinations-ms)
These are OLE Compound File (CFB) (same as structured storage).
They contain:
Several streams: each is numbered in hexadecimal (e.g., “1a”) that corresponds to LNK-like entries.
A special stream called
DestList, which holds the MRU/MFU list of entries.
In the
DestListentries, forensic-relevant fields include:The application’s AppID (filename is based on this).
Last modification time of each jump entry (FILETIME).
The path to the target, number of “pinned” uses, and frequency.
Information about the target volume: serial number, whether the target was local or on a network.
Sometimes system info: e.g., NetBIOS name of the machine, MAC address.
CustomDestinations (.customDestinations-ms)
These are basically a concatenation of MS-SHLLINK (LNK) records.
Metadata includes: target path, arguments, working directory, timestamps, etc.
Do not necessarily have MRU structure like AutomaticDestinations; “pinned” or manually created entries.
4. Forensic Value / Use Cases
User Activity Profiling: Knowing which files an app accessed — more precise than general Recent / RecentDocs keys.
Execution Evidence: Even if the target file was deleted, Jump List may still contain reference.
Timestamps: The
DestListstores metadata such as when an entry was first added, last used, and frequency.App Attribution: Each Jump List filename is an AppID. Analysts can map AppID to app name to attribute entries to specific software.
Host & Volume Info: Jump Lists sometimes contain info about the volume (serial number) and host (NetBIOS), helping to determine where (which disk) and on which machine the item was accessed.
5. Tools & Methods for Analysis
JLECmd / JumpList Explorer (Eric Zimmerman): parses Jump List files, extracts LNKs, outputs CSV / other formats.
TZWorks Jump List Parser: a specialized parser.
Forensic Suites (Autopsy, X-Ways, etc.): many support Jump List parsing.
Manual Analysis:
Use a structured storage viewer / hex editor to examine the OLE compound file, inspect
DestListstream.Extract embedded LNK streams and parse them using a LNK parser to get target metadata.
6. Investigation Workflow (Forensics / IR)
Collection
From a forensic image or live endpoint, navigate to:
C:\Users\<User>\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\andC:\Users\<User>\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations\Collect all
.automaticDestinations-msand.customDestinations-msfiles.
Parsing
Run JLECmd (or other parser) on the Jump List files to extract:
DestListentries, LNK data, MRU counts, timestamps.For custom Jump Lists, parse embedded LNK entries.
Analysis
Match each LNK entry: look at the target path, arguments, volume info.
Use the
DestListstream to build a timeline: when entries were added, when last used, how often.Map AppIDs to known applications (use AppID lists / lookup tables).
Identify anomalies: e.g., Jump List entries for remote paths (SMB), unusual file types, or high-frequency access.
Correlation
Correlate Jump List data with:
LNK files in Recent folder
Prefetch / AmCache / Shimcache
Event logs (file open, execution)
Use timestamps from
DestListto link to other artifacts in timeline.
Reporting
For each Jump List, report: AppID, associated application, list of targets, timestamps, frequency.
Highlight suspicious entries: deleted target files, remote shares, high frequency.
Include a timeline of usage and access.
7. Challenges & Caveats
AppID Identification: Jump List filenames are AppIDs (hex), not readable app names — you need mapping to know which app it is.
Corruption / Incomplete Data: Not all applications update their Jump Lists in the same way; some entries may be missing or inconsistent.
Pinned Items: CustomDestinations might include items not recently used, but pinned — which may skew “recent file” analysis.
Time Interpretation: Timestamps in the
DestListare in FILETIME format; analysts should convert and correlate carefully.Deleted LNK Targets: Even if the original file was deleted, the LNK entry in the Jump List remains — analysts should confirm if the target still exists or was removed.
Last updated