SSH Authorized Keys File Modification

edit

The Secure Shell (SSH) authorized_keys file specifies which users are allowed to log into a server using public key authentication. Adversaries may modify it to maintain persistence on a victim host by adding their own public key(s).

Rule type: query

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

Tags:

  • Elastic
  • Host
  • Linux
  • macOS
  • 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

Rule query

edit
event.category:file and event.type:(change or creation) and
file.name:("authorized_keys" or "authorized_keys2") and not
process.executable:
(/Library/Developer/CommandLineTools/usr/bin/git or
/usr/local/Cellar/maven/*/libexec/bin/mvn or
/Library/Java/JavaVirtualMachines/jdk*.jdk/Contents/Home/bin/java or
/usr/bin/vim or /usr/local/Cellar/coreutils/*/bin/gcat
or /usr/bin/bsdtar or /usr/bin/nautilus
or /usr/bin/scp or /usr/bin/touch or
/var/lib/docker/* or /usr/bin/google_guest_agent)

Threat mapping

edit

Framework: MITRE ATT&CKTM

Rule version history

edit
Version 3 (8.4.0 release)
  • Formatting only
Version 2 (8.3.0 release)
  • Updated query, changed from:

    event.category:file and event.type:(change or creation) and
    file.name:("authorized_keys" or "authorized_keys2") and not
    process.executable:
    (/Library/Developer/CommandLineTools/usr/bin/git or
    /usr/local/Cellar/maven/*/libexec/bin/mvn or
    /Library/Java/JavaVirtualMachines/jdk*.jdk/Contents/Home/bin/java or
    /usr/bin/vim or /usr/local/Cellar/coreutils/*/bin/gcat
    or /usr/bin/bsdtar or /usr/bin/nautilus
    or /usr/bin/scp or /usr/bin/touch or
    /var/lib/docker/*)