Suspicious Execution via Scheduled Taskedit

Identifies execution of a suspicious program via scheduled tasks by looking at process lineage and command line usage.

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

Tags:

  • Elastic
  • Host
  • Windows
  • Threat Detection
  • Persistence

Version: 100 (version history)

Added (Elastic Stack release): 7.11.0

Last modified (Elastic Stack release): 8.5.0

Rule authors: Elastic

Rule license: Elastic License v2

Potential false positivesedit

Legitimate scheduled tasks running third party software.

Investigation guideedit


Rule queryedit

process where event.type == "start" and /* Schedule service
cmdline on Win10+ */ process.parent.name : "svchost.exe" and
process.parent.args : "Schedule" and /* add suspicious programs
here */ process.pe.original_file_name in
( "cscript.exe",
"wscript.exe", "PowerShell.EXE",
"Cmd.Exe", "MSHTA.EXE",
"RUNDLL32.EXE", "REGSVR32.EXE",
"MSBuild.exe", "InstallUtil.exe",
"RegAsm.exe", "RegSvcs.exe",
"msxsl.exe", "CONTROL.EXE",
"EXPLORER.EXE",
"Microsoft.Workflow.Compiler.exe",
"msiexec.exe" ) and /* add
suspicious paths here */ process.args : ( "C:\\Users\\*",
"C:\\ProgramData\\*", "C:\\Windows\\Temp\\*",
"C:\\Windows\\Tasks\\*", "C:\\PerfLogs\\*",
"C:\\Intel\\*", "C:\\Windows\\Debug\\*", "C:\\HP\\*")
and not (process.name : "cmd.exe" and process.args : "?:\\*.bat"
and process.working_directory : "?:\\Windows\\System32\\") and
not (process.name : "cscript.exe" and process.args :
"?:\\Windows\\system32\\calluxxprovider.vbs") and not
(process.name : "powershell.exe" and process.args : ("-File",
"-PSConsoleFile") and user.id : "S-1-5-18") and not (process.name
: "msiexec.exe" and user.id : "S-1-5-18")

Threat mappingedit

Framework: MITRE ATT&CKTM

Rule version historyedit

Version 100 (8.5.0 release)
  • Updated query, changed from:

    process where event.type == "start" and /* Schedule service
    cmdline on Win10+ */ process.parent.name : "svchost.exe" and
    process.parent.args : "Schedule" and /* add suspicious programs
    here */ process.pe.original_file_name in
    ( "cscript.exe",
    "wscript.exe", "PowerShell.EXE",
    "Cmd.Exe", "MSHTA.EXE",
    "RUNDLL32.EXE", "REGSVR32.EXE",
    "MSBuild.exe", "InstallUtil.exe",
    "RegAsm.exe", "RegSvcs.exe",
    "msxsl.exe", "CONTROL.EXE",
    "EXPLORER.EXE",
    "Microsoft.Workflow.Compiler.exe",
    "msiexec.exe" ) and /* add
    suspicious paths here */ process.args : ( "C:\\Users\\*",
    "C:\\ProgramData\\*", "C:\\Windows\\Temp\\*",
    "C:\\Windows\\Tasks\\*", "C:\\PerfLogs\\*",
    "C:\\Intel\\*", "C:\\Windows\\Debug\\*", "C:\\HP\\*")
Version 7 (8.4.0 release)
  • Updated query, changed from:

    process where event.type == "start" and /* Schedule service
    cmdline on Win10+ */ process.parent.name : "svchost.exe" and
    process.parent.args : "Schedule" and /* add suspicious programs
    here */ process.pe.original_file_name in
    ( "cscript.exe",
    "wscript.exe", "PowerShell.EXE",
    "Cmd.Exe", "MSHTA.EXE",
    "RUNDLL32.EXE", "REGSVR32.EXE",
    "MSBuild.exe", "InstallUtil.exe",
    "RegAsm.exe", "RegSvcs.exe",
    "msxsl.exe", "CONTROL.EXE",
    "EXPLORER.EXE",
    "Microsoft.Workflow.Compiler.exe",
    "msiexec.exe" ) and /* add
    suspicious paths here */ process.args : ( "C:\\Users\\*",
    "C:\\ProgramData\\*", "C:\\Windows\\Temp\\*",
    "C:\\Windows\\Tasks\\*", "C:\\PerfLogs\\*",
    "C:\\Intel\\*", "C:\\Windows\\Debug\\*", "C:\\HP\\*")
Version 5 (8.2.0 release)
  • Formatting only
Version 4 (7.16.0 release)
  • Formatting only
Version 3 (7.12.0 release)
  • Formatting only
Version 2 (7.11.2 release)
  • Formatting only