PowerShell Remote Thread Creation (Windows CreateRemoteThread)
Alerts when PowerShell creates a remote thread in another process, excluding CompatTelRunner.exe activity.
- Product
- windows
- Category
- create_remote_thread
- Author
- Nikita Nazarov, oscd.community (SigmaHQ), DRL 1.1
- Published
- 2020-10-06
- Updated
- 2026-07-31
ATT&CK techniques
ExecutionRecon
Resource Dev
Initial Access
Execution
Persistence
Priv Esc
Defense Evasion
Cred Access
Discovery
Lateral Movement
Collection
C2
Exfiltration
Impact
What it detects
This rule identifies when a PowerShell process (powershell.exe or pwsh.exe) creates a remote thread in another process. Remote thread creation is a common technique for executing code within the context of a separate process, which can help attackers evade detection and persist execution. It relies on Windows telemetry that records remote thread creation events and includes the calling process image and parent image (notably excluding CompatTelRunner.exe).
Reporting behind it
Changelog
v5- v5Candidate ingested via manual entry.2026-07-31
- v4Candidate ingested via manual entry.2026-07-31
- v3Candidate ingested via manual entry.2026-07-31
- v2Candidate ingested via manual entry.2026-07-31
- v1No changelog recorded for this version.2026-07-30
Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.
title: PowerShell Remote Thread Creation (Windows CreateRemoteThread)
id: e7769490-b512-495d-9c1f-b2da9efaeb15
related:
- id: 99b97608-3e21-4bfe-8217-2a127c396a0e
type: derived
- id: eeb2e3dc-c1f4-40dd-9bd5-149ee465ad50
type: derived
status: test
description: This rule identifies when a PowerShell process (powershell.exe or pwsh.exe) creates a remote thread in another process. Remote thread creation is a common technique for executing code within the context of a separate process, which can help attackers evade detection and persist execution. It relies on Windows telemetry that records remote thread creation events and includes the calling process image and parent image (notably excluding CompatTelRunner.exe).
references:
- https://speakerdeck.com/heirhabarov/hunting-for-powershell-abuse
- https://github.com/SigmaHQ/sigma/blob/master/rules-threat-hunting/windows/create_remote_thread/create_remote_thread_win_powershell_generic.yml
author: Nikita Nazarov, oscd.community, Huntrule Team
date: 2020-10-06
modified: 2023-11-10
tags:
- attack.execution
- attack.t1059.001
- detection.threat-hunting
logsource:
product: windows
category: create_remote_thread
detection:
selection:
SourceImage|endswith:
- \powershell.exe
- \pwsh.exe
filter_main_compattelrunner:
SourceParentImage|endswith: :\Windows\System32\CompatTelRunner.exe
condition: selection and not 1 of filter_main_*
falsepositives:
- Unknown
level: medium
license: DRL-1.1