Library / LOLBin
pnputil.exe
Microsoft PnP Utility - Tool to add, delete, export, and enumerate driver packages. · Microsoft Corporation
OriginalFilename
pnputil.exe
Casing changed across builds
Gotchas
- Casing differs across builds (
PnPutil.exe,pnputil.exe). Case-sensitive comparisons (Elastic KQL on keyword fields,==in KQL/EQL) miss some builds.
Query snippets
logsource:
category: process_creation
product: windows
detection:
selection:
- Image|endswith: '\pnputil.exe'
- OriginalFileName: 'pnputil.exe'
condition: selectionprocess_creation logsource. Sigma string matching is case-insensitive.
| tstats summariesonly=false count values(Processes.original_file_name) as original_file_name
from datamodel=Endpoint.Processes
where (Processes.original_file_name="pnputil.exe" OR Processes.process_name="pnputil.exe")
by Processes.dest Processes.process_name Processes.process_path Processes.process
| rename Processes.* as *Endpoint.Processes data model. On raw Sysmon events the field is OriginalFileName.
DeviceProcessEvents
| where ProcessVersionInfoOriginalFileName in~ ("pnputil.exe")
or FileName =~ "pnputil.exe"Microsoft Defender XDR advanced hunting. in~ and =~ are case-insensitive.
process where event.type == "start" and
(process.pe.original_file_name in~ ("pnputil.exe") or
process.name : "pnputil.exe")ECS process.pe.original_file_name is a keyword field: in~ is case-insensitive, Kibana KQL is not.
['pnputil.exe'].includes(String(OriginalFileName || '').toLowerCase())Filter expression (JavaScript) for events carrying Sysmon's OriginalFileName field.
Values across builds
| OriginalFilename | Builds | Arch | File version | Windows releases | Source | Sysmon |
|---|---|---|---|---|---|---|
| pnputil.exe | 5 | x64 | 10.0.14393.2758 → 10.0.28000.3231 | Win10 1607 → Win11 26H1 (7) | Host scan, Winbindex | ✓ 1 |
| PnPutil.exe | 2 | x64 | 10.0.10240.16384 → 10.0.10586.0 | Win10 1507 → Win10 1511 (2) | Winbindex |
All 7 parsed builds · 11 Windows release groups not verifiable
| SHA256 | Version | Arch | OriginalFilename | Windows releases | Signature | Source | Sysmon |
|---|---|---|---|---|---|---|---|
| 316fb5d3a0e7… | 10.0.28000.3231 | x64 | pnputil.exe | Win11 26H1 | Winbindex | ||
| 5c5783d49f8a… | 10.0.26100.9711 | x64 | pnputil.exe | Win11 24H2 | Unsigned | Host scan, Winbindex | ✓ |
| d11ea7611a50… | 10.0.14393.2758 | x64 | pnputil.exe | Win10 1607 | Unsigned | Winbindex | |
| 4b443526b3c5… | 10.0.26100.6584 | x64 | pnputil.exe | Win11 24H2, Win11 25H2 | Unsigned | Winbindex | |
| 008e3ef11d66… | 10.0.19041.488 | x64 | pnputil.exe | Win10 2004 … Win10 21H1 (3) | Signed (Catalog file) | Winbindex | |
| 29d15c46f164… | 10.0.10586.0 | x64 | PnPutil.exe | Win10 1511 | Unsigned | Winbindex | |
| 6fdbfb0d9b30… | 10.0.10240.16384 | x64 | PnPutil.exe | Win10 1507 | Unsigned | Winbindex |
Winbindex builds link to the Microsoft symbol server copy that was hashed and parsed.