Incoming Execution via PowerShell Remoting

edit

Identifies remote execution via Windows PowerShell remoting. Windows PowerShell remoting allows a user to run any Windows PowerShell command on one or more remote computers. This could be an indication of lateral movement.

Rule type: eql

Rule indices:

  • winlogbeat-*
  • logs-endpoint.events.*
  • logs-windows.*

Severity: medium

Risk score: 47

Runs every: 5 minutes

Searches indices from: now-9m (Date Math format, see also Additional look-back time)

Maximum alerts per execution: 100

References:

Tags:

  • Elastic
  • Host
  • Windows
  • Threat Detection
  • Lateral Movement

Version: 6 (version history)

Added (Elastic Stack release): 7.11.0

Last modified (Elastic Stack release): 8.4.0

Rule authors: Elastic

Rule license: Elastic License v2

Potential false positives

edit

PowerShell remoting is a dual-use protocol that can be used for benign or malicious activity. It’s important to baseline your environment to determine the amount of noise to expect from this tool.

Rule query

edit
sequence by host.id with maxspan = 30s [network where
network.direction : ("incoming", "ingress") and destination.port in
(5985, 5986) and network.protocol == "http" and source.ip !=
"127.0.0.1" and source.ip != "::1" ] [process where event.type
== "start" and process.parent.name : "wsmprovhost.exe" and not
process.name : "conhost.exe"]

Threat mapping

edit

Framework: MITRE ATT&CKTM

Rule version history

edit
Version 6 (8.4.0 release)
  • Formatting only
Version 5 (8.2.0 release)
  • Formatting only
Version 4 (8.0.0 release)
  • Updated query, changed from:

    sequence by host.id with maxspan = 30s [network where
    network.direction : ("incoming", "ingress") and destination.port in
    (5985, 5986) and network.protocol == "http" and source.address !=
    "127.0.0.1" and source.address != "::1" ] [process where
    event.type == "start" and process.parent.name : "wsmprovhost.exe" and
    not process.name : "conhost.exe"]
Version 3 (7.16.0 release)
  • Updated query, changed from:

    sequence by host.id with maxspan = 30s [network where
    network.direction == "incoming" and destination.port in (5985, 5986)
    and network.protocol == "http" and source.address != "127.0.0.1"
    and source.address != "::1" ] [process where event.type ==
    "start" and process.parent.name : "wsmprovhost.exe" and not
    process.name : "conhost.exe"]
Version 2 (7.12.0 release)
  • Formatting only