Windows Named Pipes: Detect Alternate PowerShell Host Pipe Creation

Alerts on creation of \PSHost named pipes to identify alternate PowerShell host usage via Windows pipe events.

FreeUnreviewedSigmamediumv1
title: "Windows Named Pipes: Detect Alternate PowerShell Host Pipe Creation"
id: 5adfd72f-e56c-4fd2-9055-62d33d1b2ac3
related:
  - id: ac7102b4-9e1e-4802-9b4f-17c5524c015c
    type: derived
  - id: 58cb02d5-78ce-4692-b3e1-dce850aae41a
    type: derived
status: test
description: This rule flags Windows systems where a named pipe is created with a PipeName starting with \PSHost, indicating an alternate PowerShell hosting process rather than activity limited to powershell.exe. Attackers may use alternate PowerShell hosts to evade detections and blend execution into normal Windows inter-process communication. The detection relies on Sysmon (or equivalent) telemetry for pipe creation events, matching the created PipeName and validating the creating process image while excluding known benign PowerShell-related binaries and several common server workloads.
references:
  - https://threathunterplaybook.com/hunts/windows/190610-PwshAlternateHosts/notebook.html
  - https://threathunterplaybook.com/hunts/windows/190410-LocalPwshExecution/notebook.html
  - https://github.com/SigmaHQ/sigma/blob/master/rules/windows/pipe_created/pipe_created_powershell_alternate_host_pipe.yml
author: Roberto Rodriguez @Cyb3rWard0g, Tim Shelton, Huntrule Team
date: 2019-09-12
modified: 2025-10-07
tags:
  - attack.execution
  - attack.t1059.001
logsource:
  product: windows
  category: pipe_created
  definition: Note that you have to configure logging for Named Pipe Events in Sysmon config (Event ID 17 and Event ID 18). The basic configuration is in popular sysmon configuration (https://github.com/SwiftOnSecurity/sysmon-config), but it is worth verifying. You can also use other repo, e.g. https://github.com/Neo23x0/sysmon-config, https://github.com/olafhartong/sysmon-modular. How to test detection? You can check powershell script from this site https://svch0st.medium.com/guide-to-named-pipes-and-hunting-for-cobalt-strike-pipes-dc46b2c5f575
detection:
  selection:
    PipeName|startswith: \PSHost
  filter_main_generic:
    - Image|contains:
        - :\Program Files\PowerShell\7-preview\pwsh.exe
        - :\Program Files\PowerShell\7\pwsh.exe
        - :\Windows\system32\dsac.exe
        - :\Windows\system32\inetsrv\w3wp.exe
        - :\Windows\System32\sdiagnhost.exe
        - :\Windows\system32\ServerManager.exe
        - :\Windows\system32\wbem\wmiprvse.exe
        - :\Windows\System32\WindowsPowerShell\v1.0\powershell_ise.exe
        - :\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
        - :\Windows\System32\wsmprovhost.exe
        - :\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell_ise.exe
        - :\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
    - Image|contains|all:
        - C:\Program Files\WindowsApps\Microsoft.PowerShellPreview
        - \pwsh.exe
    - Image|contains|all:
        - \AppData\Local\Microsoft\WindowsApps\Microsoft.PowerShellPreview
        - \pwsh.exe
  filter_optional_sqlserver:
    Image|startswith:
      - C:\Program Files (x86)\
      - C:\Program Files\
    Image|contains: \Microsoft SQL Server\
    Image|endswith: \Tools\Binn\SQLPS.exe
  filter_optional_azure_connected_machine_agent:
    Image|startswith: C:\Program Files\AzureConnectedMachineAgent\GCArcService
    Image|endswith: \GC\gc_worker.exe
  filter_optional_citrix:
    Image|startswith: C:\Program Files\Citrix\
  filter_optional_exchange:
    Image|startswith: C:\Program Files\Microsoft\Exchange Server\
  filter_main_null:
    Image: null
  condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
  - Programs using PowerShell directly without invocation of a dedicated interpreter.
level: medium
license: DRL-1.1

What it detects

This rule flags Windows systems where a named pipe is created with a PipeName starting with \PSHost, indicating an alternate PowerShell hosting process rather than activity limited to powershell.exe. Attackers may use alternate PowerShell hosts to evade detections and blend execution into normal Windows inter-process communication. The detection relies on Sysmon (or equivalent) telemetry for pipe creation events, matching the created PipeName and validating the creating process image while excluding known benign PowerShell-related binaries and several common server workloads.

Known false positives

  • Programs using PowerShell directly without invocation of a dedicated interpreter.

Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.