Parent Process PID Spoofing

edit

Identifies parent process spoofing used to thwart detection. Adversaries may spoof the parent process identifier (PPID) of a new process to evade process-monitoring defenses or to elevate privileges.

Rule type: eql

Rule indices:

  • logs-endpoint.events.*

Severity: high

Risk score: 73

Runs every: 5m

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
  • Defense Evasion

Version: 100

Rule authors:

  • Elastic

Rule license: Elastic License v2

Rule query

edit
/* This rule is compatible with Elastic Endpoint only */

sequence by host.id, user.id with maxspan=5m
 [process where event.type == "start" and
  process.Ext.token.integrity_level_name != "system" and
  (
    process.pe.original_file_name : ("winword.exe", "excel.exe", "outlook.exe", "powerpnt.exe", "eqnedt32.exe",
                                     "fltldr.exe", "mspub.exe", "msaccess.exe", "powershell.exe", "pwsh.exe",
                                     "cscript.exe", "wscript.exe", "rundll32.exe", "regsvr32.exe", "msbuild.exe",
                                     "mshta.exe", "wmic.exe", "cmstp.exe", "msxsl.exe") or
    process.executable : ("?:\\Users\\*.exe",
                          "?:\\ProgramData\\*.exe",
                          "?:\\Windows\\Microsoft.NET\\*.exe",
                          "?:\\Windows\\Temp\\*.exe",
                          "?:\\Windows\\Tasks\\*") or
    process.code_signature.trusted != true
  )
  ] by process.pid
 [process where event.type == "start" and process.parent.Ext.real.pid > 0 and
  /* process.parent.Ext.real.pid is only populated if the parent process pid doesn't match */

  not (process.name : "msedge.exe" and process.parent.name : "sihost.exe")
 ] by process.parent.Ext.real.pid

Framework: MITRE ATT&CKTM