Library / Sysinternals
psexec.exe
Execute processes remotely · Sysinternals - www.sysinternals.com
OriginalFilename
psexec.c
Differs from file nameShared with other binariesSigma rules use a value no build carries
Gotchas
psexec.c is the long-standing OriginalFilename for PsExec and PsExec64 (the source file name, not a binary name). The PSEXESVC service binary that PsExec drops on the target is a separate image with its own value.
- OriginalFilename doesn't match the file name: a rule using
OriginalFileName: psexec.exenever fires. - Same OriginalFilename as
psexec64.exe, so OriginalFilename alone can't tell them apart. - 1 SigmaHQ rule matches
OriginalFileName: psexec.exe, but parsed builds carrypsexec.c: those rule arms never fire.
Query snippets
logsource:
category: process_creation
product: windows
detection:
selection:
- Image|endswith: '\psexec.exe'
- OriginalFileName: 'psexec.c'
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="psexec.c" OR Processes.process_name="psexec.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~ ("psexec.c")
or FileName =~ "psexec.exe"Microsoft Defender XDR advanced hunting. in~ and =~ are case-insensitive.
process where event.type == "start" and
(process.pe.original_file_name in~ ("psexec.c") or
process.name : "psexec.exe")ECS process.pe.original_file_name is a keyword field: in~ is case-insensitive, Kibana KQL is not.
['psexec.c'].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 |
|---|---|---|---|---|---|---|
| psexec.c | 1 | x86 | 2.43.0.0 | Sysinternals | ✓ 1 |
All 1 parsed builds
| SHA256 | Version | Arch | OriginalFilename | Windows releases | Signature | Source | Sysmon |
|---|---|---|---|---|---|---|---|
| 078163d5c16f… | 2.43.0.0 | x86 | psexec.c | Sysinternals PsExec | Sysinternals | ✓ |
Winbindex builds link to the Microsoft symbol server copy that was hashed and parsed.