Audit daemon stopped

Severity highLinuxSingle eventstablelinux.defense_evasion.audit_daemon_stopped · v1.0.0

The Linux audit daemon reported that it was terminating or aborting.

What it detects

The Linux audit daemon reported that it was terminating or aborting. This is the audit log's last word about itself: after a DAEMON_END the host records nothing, so an attacker who stops auditd buys silence for everything that follows.

It is worth alerting on precisely because the evidence is self-limiting. The gap in the timeline after this event is not the absence of activity, it is the absence of recording, and an analyst reading the case needs to know which of the two they are looking at. DAEMON_ABORT is the same outcome arrived at by failure rather than by instruction — auditd dying because it could not write, or because its configuration was changed underneath it.

MITRE ATT&CK mapping

  • T1562.012Impair Defenses: Disable or Modify Linux Audit System· Defense Evasion
  • T1562.001Impair Defenses: Disable or Modify Tools· Defense Evasion

False positives and triage

auditd stops for ordinary reasons: a clean shutdown or reboot, a package upgrade of the audit package, or an augenrules --load that restarts the daemon to pick up new rules. Each of those has a signature you can check:

* A shutdown ends the log entirely and the next records are a fresh boot. * An upgrade is bracketed by package-manager activity and a prompt restart. * A rule reload restarts within seconds and the following records keep flowing.

What none of them look like is a stop in the middle of a working day with no restart, no reboot, and no package transaction — and especially one preceded by activity from a session that had no business touching the audit configuration.

DAEMON_ABORT with res=failed also fires on genuine local faults: a full disk on /var/log, or a misconfigured rule file. Those are operational problems rather than attacks, but they leave the host equally unmonitored, so they still deserve a look.

The rule

Declarative YAML read by the detection engine — data, never executed. Confidence 60%. Source: rules/linux/audit_daemon_stopped.yaml, licensed under the Apache License 2.0.

id: linux.defense_evasion.audit_daemon_stopped
version: 1.0.0
status: stable
severity: high
confidence: 0.6
platforms: [linux]
mitre_techniques: [T1562.012, T1562.001]
description: |
  The Linux audit daemon reported that it was terminating or aborting. This is the
  audit log's last word about itself: after a DAEMON_END the host records nothing,
  so an attacker who stops auditd buys silence for everything that follows.

  It is worth alerting on precisely because the evidence is self-limiting. The gap in
  the timeline after this event is not the absence of activity, it is the absence of
  recording, and an analyst reading the case needs to know which of the two they are
  looking at. DAEMON_ABORT is the same outcome arrived at by failure rather than by
  instruction — auditd dying because it could not write, or because its
  configuration was changed underneath it.
match:
  event_action: audit_daemon_stop
false_positive_guidance: |
  auditd stops for ordinary reasons: a clean shutdown or reboot, a package upgrade of
  the audit package, or an `augenrules --load` that restarts the daemon to pick up
  new rules. Each of those has a signature you can check:

  * A shutdown ends the log entirely and the next records are a fresh boot.
  * An upgrade is bracketed by package-manager activity and a prompt restart.
  * A rule reload restarts within seconds and the following records keep flowing.

  What none of them look like is a stop in the middle of a working day with no
  restart, no reboot, and no package transaction — and especially one preceded by
  activity from a session that had no business touching the audit configuration.

  DAEMON_ABORT with `res=failed` also fires on genuine local faults: a full disk on
  /var/log, or a misconfigured rule file. Those are operational problems rather than
  attacks, but they leave the host equally unmonitored, so they still deserve a look.

Related detections

Run this rule on your own logs — offline

KIROSEC runs this rule and the rest of the library over Windows, Linux, macOS and cloud audit logs on the analyst's own machine. Every alert links to the events that raised it, and nothing leaves the device.

Browse all detections