Bash Shell Profile Modification

edit

Both ~/.bash_profile and ~/.bashrc are files containing shell commands that are run when Bash is invoked. These files are executed in a user’s context, either interactively or non-interactively, when a user logs in so that their environment is set correctly. Adversaries may abuse this to establish persistence by executing malicious content triggered by a user’s shell.

Rule type: query

Rule indices:

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

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

Version: 3 (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

Potential false positives

edit

Changes to the Shell Profile tend to be noisy, a tuning per your environment will be required.

Rule query

edit
event.category:file and event.type:change and process.name:(* and
not (sudo or vim or
zsh or env or
nano or bash or
Terminal or xpcproxy or
login or cat or
cp or launchctl or
java)) and not process.executable:(/Applications/* or
/private/var/folders/* or /usr/local/*) and
file.path:(/private/etc/rc.local or /etc/rc.local or
/home/*/.profile or /home/*/.profile1 or
/home/*/.bash_profile or /home/*/.bash_profile1 or
/home/*/.bashrc or /Users/*/.bash_profile or
/Users/*/.zshenv)

Threat mapping

edit

Framework: MITRE ATT&CKTM

Rule version history

edit
Version 3 (8.4.0 release)
  • Formatting only
Version 2 (7.15.0 release)
  • Formatting only