Skip to main content

Overview

The InstalledProducts command enumerates all software products installed on the system by querying the Windows Registry. It retrieves installation information from the Uninstall registry keys, providing a comprehensive inventory of installed applications including their versions, publishers, and installation dates.

Syntax

This command does not accept arguments.

Output

The command returns:
  • Product name
  • Version number
  • Publisher/Vendor
  • Installation date
  • Install location
  • Uninstall string
  • Registry key location

Use Cases

Red Team

  • Identify security products (AV, EDR, HIPS) installed on the system
  • Discover vulnerable software versions for exploitation
  • Identify administrative and development tools
  • Map the software inventory for attack planning
  • Identify remote management tools (TeamViewer, VNC, etc.)
  • Discover database clients and development frameworks
  • Locate backup software and file synchronization tools
  • Identify virtualization and containerization software

Blue Team

  • Audit software inventory for compliance
  • Identify unauthorized or unapproved software installations
  • Track software versions for vulnerability management
  • Verify patch levels and update status
  • Detect suspicious or malicious software
  • Validate software licensing compliance
  • Identify end-of-life or unsupported software
  • Generate asset inventory for security assessments
  • Correlate installed software with security incidents

Example Output

Performance Considerations

This command has minimal performance impact as it only reads registry values. Execution time depends on the number of installed products but is generally very fast, completing in seconds even on systems with many applications installed.

Remote Execution

This command supports remote execution via WMI. Use the -computername parameter to enumerate installed products on remote systems:

Detection Considerations

Indicators

  • Registry access to HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
  • Registry access to HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
  • Registry access to HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
  • WMI registry queries to remote systems
  • Enumeration of registry subkeys under Uninstall paths

Defensive Recommendations

  • Monitor for mass registry enumeration operations
  • Alert on registry access patterns consistent with reconnaissance
  • Log registry access to software inventory keys
  • Restrict remote WMI access to authorized accounts
  • Implement least privilege for registry access
  • Use AppLocker or similar to control execution of enumeration tools
  • Track processes accessing software inventory registry keys
  • Correlate software enumeration with other suspicious activity
  • MicrosoftUpdates - All Microsoft updates via COM
  • Hotfixes - Installed hotfixes via WMI
  • OptionalFeatures - List Optional Features/Roles via WMI
  • AntiVirus - Registered antivirus via WMI
  • InterestingProcesses - “Interesting” processes including defensive products