Incoming DCOM Lateral Movement with MMC

edit

Identifies the use of Distributed Component Object Model (DCOM) to run commands from a remote host, which are launched via the MMC20 Application COM Object. This behavior may indicate an attacker abusing a DCOM application to move laterally.

Rule type: eql

Rule indices:

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

Severity: high

Risk score: 73

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

Rule query

edit
sequence by host.id with maxspan=1m [network where event.type ==
"start" and process.name : "mmc.exe" and source.port >= 49152 and
destination.port >= 49152 and source.ip != "127.0.0.1" and source.ip
!= "::1" and network.direction : ("incoming", "ingress") and
network.transport == "tcp" ] by process.entity_id [process where
event.type in ("start", "process_started") and process.parent.name :
"mmc.exe" ] by process.parent.entity_id

Threat mapping

edit

Framework: MITRE ATT&CKTM

Rule version history

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

    sequence by host.id with maxspan=1m [network where event.type ==
    "start" and process.name : "mmc.exe" and source.port >= 49152 and
    destination.port >= 49152 and source.address not in ("127.0.0.1",
    "::1") and network.direction : ("incoming", "ingress") and
    network.transport == "tcp" ] by process.entity_id [process where
    event.type in ("start", "process_started") and process.parent.name :
    "mmc.exe" ] by process.parent.entity_id
Version 4 (7.16.0 release)
  • Updated query, changed from:

    sequence by host.id with maxspan=1m [network where event.type ==
    "start" and process.name : "mmc.exe" and source.port >= 49152 and
    destination.port >= 49152 and source.address not in ("127.0.0.1",
    "::1") and network.direction == "incoming" and network.transport ==
    "tcp" ] by process.entity_id [process where event.type in ("start",
    "process_started") and process.parent.name : "mmc.exe" ] by
    process.parent.entity_id
Version 2 (7.12.0 release)
  • Formatting only