Library / Windows
rdpsign.exe
Remote Desktop Session Host Server Sign Tool · Microsoft Corporation
WindowsSysmon-confirmed
OriginalFilename
TSSignTool.exe
Differs from file name
Gotchas
- OriginalFilename doesn't match the file name: a rule using
OriginalFileName: rdpsign.exenever fires.
Query snippets
logsource:
category: process_creation
product: windows
detection:
selection:
- Image|endswith: '\rdpsign.exe'
- OriginalFileName: 'TSSignTool.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="TSSignTool.exe" OR Processes.process_name="rdpsign.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~ ("TSSignTool.exe")
or FileName =~ "rdpsign.exe"Microsoft Defender XDR advanced hunting. in~ and =~ are case-insensitive.
process where event.type == "start" and
(process.pe.original_file_name in~ ("TSSignTool.exe") or
process.name : "rdpsign.exe")ECS process.pe.original_file_name is a keyword field: in~ is case-insensitive, Kibana KQL is not.
['tssigntool.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 |
|---|---|---|---|---|---|---|
| TSSignTool.exe | 1 | x64 | 10.0.26100.9278 | Host scan | ✓ 1 |
All 1 parsed builds
| SHA256 | Version | Arch | OriginalFilename | Windows releases | Signature | Source | Sysmon |
|---|---|---|---|---|---|---|---|
| 7b322cfab0bc… | 10.0.26100.9278 | x64 | TSSignTool.exe | Host scan | ✓ |
Winbindex builds link to the Microsoft symbol server copy that was hashed and parsed.