Skip to content

File & folder access

RecentDocs

RecentDocs cheat sheet: NTUSER.DAT key and per-extension subkeys, MRUListEx order, what the LastWrite time means and how to link entries to LNK files.

Location
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
Proves
A user recently opened files and folders with these names, in this order
Timestamps
Key and extension subkey LastWrite as FILETIME, UTC, dating only the newest entry of each list; other entries undated
Retention
Limited entries per key, oldest dropped; cleared with recent items, by GPO or cleaners; deleted values survive in hive slack and VSS
Access
Per-user NTUSER.DAT, locked while the user is logged on: collect via raw NTFS (KAPE) or VSS; reg query for the current user
Type
Registry
Windows
XPVista / 78 / 8.11011
KAPE target
RegistryHivesUser
Velociraptor
Windows.Triage.Targets:RegistryHivesUser

What it is

RecentDocs is the per-user "most recently used" list behind Explorer's recent items. Whenever a user opens a file or folder through the shell, Windows adds its name to this key, both in a global list and in a subkey for the file extension. It complements the .lnk files of the Recent folder and often keeps entries whose shortcut has been deleted.

Location

NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs

KeyContent
RecentDocs (root)All recent items, any type
RecentDocs\.<ext> (for example .docx, .pdf, .zip)Recent items with that extension
RecentDocs\FolderRecently opened folders

The same layout exists from Windows XP to Windows 11.

What it proves

  • The user whose NTUSER.DAT holds the key opened items with these names, and the order in which they were last opened.
  • The time the most recent item of each key was opened (key LastWrite, see below).
  • Extension subkeys quickly show which kinds of files the user handled (archives, scripts, disk images).
  • It does not store the full path; recover it from the matching LNK file or Jump List.

Key fields

ElementMeaning
Numbered values (0, 1, 2…)Binary data: UTF-16 item name, then the name of the matching shortcut and a shell item
MRUListExList of value numbers, most recently opened first

Timestamps

TimestampSet whenFormatPitfalls
Key LastWriteAn item is added or moved to the top of that key's listFILETIME, UTCApplies only to the first entry of MRUListEx in that key
Extension subkey LastWriteSame, for that extensionFILETIME, UTCGives one more dated item per extension: the most recent .pdf, the most recent .zip…

Other entries have no time of their own; date them with LNK files, Jump Lists or the file system.

Retention and clearing

  • Each key keeps a limited number of entries; the oldest are dropped as new items are opened.
  • Clearing "recent items" in Explorer, the Group Policy "Do not keep history of recently opened documents" or privacy cleaners remove or stop the list.
  • Deleted values can survive in hive slack and in shadow-copy versions of NTUSER.DAT.

Collection

  • KAPE target: RegistryHivesUser
  • Velociraptor (Windows.Triage.Targets): RegistryHivesUser; Windows.Registry.RecentDocs parses it live.
  • Built-in (current user):
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs" /s

Parsing tools

  • Registry Explorer / RECmd (Eric Zimmerman): decodes names and MRUListEx order.
  • RegRipper: recentdocs plugin.
  • Velociraptor: Windows.Registry.RecentDocs.

Investigation tips

  • Read the extension subkeys first: a .7z, .rar or .zip entry opened just before a USB drive was connected is a common exfiltration pattern.
  • Pair each name with its LNK file in Recent to get the full path, the volume serial number and timestamps.
  • Use the Folder subkey with ShellBags to rebuild the browsing path.
  • Office documents also appear in the application's own list (Office MRU), which carries per-entry timestamps.

Related artifacts

Glossary terms

All artifacts on one page: cheat sheet