File and Directory Discovery

edit

Enumeration of files and directories using built-in tools. Adversaries may use the information discovered to plan follow-on activity.

Rule type: eql

Rule indices:

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

Severity: low

Risk score: 21

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
  • Discovery

Version: 4 (version history)

Added (Elastic Stack release): 7.11.0

Last modified (Elastic Stack release): 8.2.0

Rule authors: Elastic

Rule license: Elastic License v2

Potential false positives

edit

Enumeration of files and directories may not be inherently malicious and noise may come from scripts, automation tools, or normal command line usage. It’s important to baseline your environment to determine the amount of expected noise and exclude any known FP’s from the rule.

Rule query

edit
sequence by agent.id, user.name with maxspan=1m [process where
event.type in ("start", "process_started") and ((process.name :
"cmd.exe" or process.pe.original_file_name == "Cmd.Exe") and
process.args : "dir") or process.name : "tree.com"] [process where
event.type in ("start", "process_started") and ((process.name :
"cmd.exe" or process.pe.original_file_name == "Cmd.Exe") and
process.args : "dir") or process.name : "tree.com"] [process where
event.type in ("start", "process_started") and ((process.name :
"cmd.exe" or process.pe.original_file_name == "Cmd.Exe") and
process.args : "dir") or process.name : "tree.com"]

Threat mapping

edit

Framework: MITRE ATT&CKTM

Rule version history

edit
Version 4 (8.2.0 release)
  • Formatting only
Version 3 (7.12.0 release)
  • Updated query, changed from:

    process where event.type in ("start", "process_started") and
    (process.name : "cmd.exe" or process.pe.original_file_name ==
    "Cmd.Exe") and process.args : ("dir", "tree")
Version 2 (7.11.2 release)
  • Updated query, changed from:

    process where event.type in ("start", "process_started") and
    (process.name : "cmd.exe" or process.pe.original_file_name ==
    "Cmd.Exe") and process.args : ("dir", "tree")