Registry Parser
All articles

Windows Registry Forensics Cheat Sheet

4 min read

A registry cheat sheet is only useful if it tells you three things at a glance: which hive, which key, and what the artifact actually proves. This one does, grouped the way an investigation thinks — execution, persistence, devices, network, accounts, user activity, system context. Every row links a full deep-dive, and you can run all of them at once against your own hives in the browser-based parser: drop a hive, every matching plugin runs, and the timeline merges the timestamped results.

Two rules before you read anything else. Resolve the system time zone first — every local timestamp below is meaningless without it. And on the SYSTEM hive, CurrentControlSet does not exist offline; resolve the control set (read as ControlSet001 etc.).

The hives, in one line

HiveOn diskHolds
NTUSER.DATC:\Users\<user>\NTUSER.DATper-user activity, persistence, devices
USRCLASS.DAT…\AppData\Local\Microsoft\Windows\UsrClass.datShellBags, MUICache (modern Windows)
SOFTWARE%SystemRoot%\System32\config\SOFTWAREinstalled software, machine persistence, networks
SYSTEM%SystemRoot%\System32\config\SYSTEMservices, devices, time zone, control sets
SAM%SystemRoot%\System32\config\SAMlocal accounts
SECURITY%SystemRoot%\System32\config\SECURITYLSA secrets, audit policy
Amcache.hve%SystemRoot%\AppCompat\Programs\Amcache.hvefile inventory + hashes

Program execution

ArtifactHiveKeyWhat it tells you
UserAssistNTUSER…\Explorer\UserAssistGUI launches: run count, focus time, last run
AppCompatCache / ShimcacheSYSTEM…\Session Manager\AppCompatCachepath + last-modified; presence, not proof of execution
AmcacheAmcache.hveRoot\InventoryApplicationFilefile inventory with SHA-1 and first-seen times
BAM / DAMSYSTEM…\Services\bam\State\UserSettings\<SID>last-run time per executable, per user
MUICacheUSRCLASS…\Shell\MuiCachebinaries the shell ran (friendly name; no time)
FeatureUsageNTUSER…\Explorer\FeatureUsagetaskbar app launch/switch counts
RecentAppsNTUSER…\Explorer\RecentAppsper-user launch count + last-run time

Persistence & autoruns

ArtifactHiveKeyWhat it tells you
Run / RunOnceNTUSER + SOFTWARE…\CurrentVersion\Run, RunOncecommands run at logon/boot
ServicesSYSTEM…\Services\<name>service/driver config, ImagePath, ServiceDll
Scheduled tasksSOFTWARE…\Schedule\TaskCachetasks → GUIDs, DynamicInfo timestamps
WinlogonSOFTWARE…\Winlogon (Shell, Userinit)logon-time execution hijacks
AppInit / AppCert DLLsSOFTWARE / SYSTEM…\Windows ; …\Session Manager\AppCertDllsDLL-injection persistence
IFEO debuggerSOFTWARE…\Image File Execution Options\<exe>debugger-value execution hijack

USB & devices

ArtifactHiveKeyWhat it tells you
USBSTORSYSTEM…\Enum\USBSTORremovable drives: vendor, serial, first/last connect
MountedDevicesSYSTEMMountedDevicesdrive letter ↔ volume GUID / disk signature
MountPoints2NTUSER…\Explorer\MountPoints2volumes/shares per user (attribution)
BluetoothSYSTEM…\Services\BTHPORT\Parameters\Devicespaired Bluetooth devices

Network

ArtifactHiveKeyWhat it tells you
NetworkListSOFTWARE…\NetworkList\Profilesnetworks joined, first/last connect, gateway MAC
TCP/IP interfacesSYSTEM…\Services\Tcpip\Parameters\Interfacesper-NIC IP/DHCP, host identity
PuTTY / WinSCPNTUSERSoftware\SimonTatham\PuTTY, …\Martin Prikryl\WinSCP 2saved SSH/SFTP hosts; host keys = real connection

Accounts

ArtifactHiveKeyWhat it tells you
SAM accountsSAMDomains\Account\Users\<RID>local users, RIDs, login counts, flags
ProfileListSOFTWARE…\ProfileList\<SID>SID → username/profile mapping
LSA secretsSECURITYPolicy\Secretsautologon, service-account presence (names/times)

User activity

ArtifactHiveKeyWhat it tells you
RecentDocsNTUSER…\Explorer\RecentDocsfiles opened via Explorer (MRU order)
Open/Save MRUNTUSER…\ComDlg32\OpenSavePidlMRUfiles opened/saved through common dialogs
TypedPaths / TypedURLsNTUSER…\Explorer\TypedPaths ; …\Internet Explorer\TypedURLswhat the user typed into address bars
ShellBagsUSRCLASS / NTUSER…\Shell\BagMRUfolders browsed, incl. removable & network

System context

ArtifactHiveKeyWhat it tells you
Time zoneSYSTEM…\Control\TimeZoneInformationthe bias every other timestamp needs
Control sets / SelectSYSTEMSelectwhich ControlSet was current
Installed softwareSOFTWARE…\Uninstall (+ Wow6432Node)installed programs and install dates

Where to go next

Want to skip the printout and just parse a hive? Drop it into Registry Parser — every artifact above is extracted in the browser, client-side, with nothing uploaded.