Potential Reverse Shell Activity via Terminaledit

Identifies the execution of a shell process with suspicious arguments which may be indicative of reverse shell activity.

Rule type: eql

Rule indices:

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

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

Version: 4 (version history)

Added (Elastic Stack release): 7.12.0

Last modified (Elastic Stack release): 8.4.0

Rule authors: Elastic

Rule license: Elastic License v2

Investigation guideedit


Rule queryedit

process where event.type in ("start", "process_started") and
process.name in ("sh", "bash", "zsh", "dash", "zmodload") and
process.args : ("*/dev/tcp/*", "*/dev/udp/*", "*zsh/net/tcp*",
"*zsh/net/udp*") and /* noisy FPs */ not (process.parent.name :
"timeout" and process.executable : "/var/lib/docker/overlay*") and
not process.command_line : ("*/dev/tcp/sirh_db/*",
"*/dev/tcp/remoteiot.com/*", "*dev/tcp/elk.stag.one/*",
"*dev/tcp/kafka/*", "*/dev/tcp/$0/$1*", "*/dev/tcp/127.*",
"*/dev/udp/127.*", "*/dev/tcp/localhost/*") and not
process.parent.command_line : "runc init"

Threat mappingedit

Framework: MITRE ATT&CKTM

Rule version historyedit

Version 4 (8.4.0 release)
  • Updated query, changed from:

    process where event.type in ("start", "process_started") and
    process.name in ("sh", "bash", "zsh", "dash", "zmodload") and
    process.args:("*/dev/tcp/*", "*/dev/udp/*", "zsh/net/tcp",
    "zsh/net/udp")
Version 2 (8.2.0 release)
  • Formatting only