Suspicious JAVA Child Process

edit

Identifies suspicious child processes of the Java interpreter process. This may indicate an attempt to execute a malicious JAR file or an exploitation attempt via a JAVA specific vulnerability.

Rule type: eql

Rule indices:

  • auditbeat-*
  • logs-endpoint.events.*

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
  • Linux
  • macOS
  • Threat Detection
  • Execution

Version: 4 (version history)

Added (Elastic Stack release): 7.12.0

Last modified (Elastic Stack release): 8.2.0

Rule authors: Elastic

Rule license: Elastic License v2

Investigation guide

edit
## Config

If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2, events will not define `event.ingested` and default fallback for EQL rules was not added until 8.2, so you will need to add a custom pipeline to populate `event.ingested` to @timestamp for this rule to work.

Rule query

edit
process where event.type in ("start", "process_started") and
process.parent.name : "java" and process.name : ("sh", "bash",
"dash", "ksh", "tcsh", "zsh", "curl", "wget")

Threat mapping

edit

Framework: MITRE ATT&CKTM

Rule version history

edit
Version 4 (8.2.0 release)
  • Formatting only
Version 3 (8.0.0 release)
  • Rule name changed from: Suspicious JAR Child Process
  • Updated query, changed from:

    process where event.type in ("start", "process_started") and
    process.parent.name : "java" and process.name : ("sh", "bash",
    "dash", "ksh", "tcsh", "zsh", "curl", "wget") and process.args :
    "-jar" and process.args : "*.jar" and /* Add any FP's here */ not
    process.executable : ("/Users/*/.sdkman/*",
    "/Library/Java/JavaVirtualMachines/*") and not process.args :
    ("/usr/local/*", "/Users/*/github.com/*", "/Users/*/src/*")
Version 2 (7.15.0 release)
  • Formatting only