Impair Defenses: Disable or Modify Linux Audit System

Adversaries may disable or modify the Linux audit system to hide malicious activity and avoid detection. Linux admins use the Linux Audit system to track security-relevant information on a system. The Linux Audit system operates at the kernel-level and maintains event logs on application and system activity such as process, network, file, and login events based on pre-configured rules.

Often referred to as auditd, this is the name of the daemon used to write events to disk and is governed by the parameters set in the audit.conf configuration file. Two primary ways to configure the log generation rules are through the command line auditctl utility and the file /etc/audit/audit.rules, containing a sequence of auditctl commands loaded at boot time.[1][2]

With root privileges, adversaries may be able to ensure their activity is not logged through disabling the Audit system service, editing the configuration/rule files, or by hooking the Audit system library functions. Using the command line, adversaries can disable the Audit system service through killing processes associated with auditd daemon or use systemctl to stop the Audit service. Adversaries can also hook Audit system functions to disable logging or modify the rules contained in the /etc/audit/audit.rules or audit.conf files to ignore malicious activity.[3][4]

ID: T1562.012
Sub-technique of:  T1562
Tactic: Defense Evasion
Platforms: Linux
Contributors: Tim (Wadhwa-)Brown
Version: 1.0
Created: 24 May 2023
Last Modified: 03 October 2023

Mitigations

ID Mitigation Description
M1047 Audit

Routinely check account role permissions to ensure only expected users and roles have permission to modify logging settings.

To ensure Audit rules can not be modified at runtime, add the auditctl -e 2 as the last command in the audit.rules files. Once started, any attempt to change the configuration in this mode will be audited and denied. The configuration can only be changed by rebooting the machine.

M1018 User Account Management

An adversary must already have root level access on the local system to make full use of this technique; be sure to restrict users and accounts to the least privileges they require.

Detection

ID Data Source Data Component Detects
DS0017 Command Command Execution

Command-line invocation of the auditctl utility may be unusual, depending on how systems are typically used in a particular environment. At runtime, look for commands to modify or create rules using the auditctl utility.

DS0022 File File Deletion

Monitor for missing log files from machines with known active periods.

File Modification

Monitor changes made to the /etc/audit/audit.rules file containing the sequence of auditctl commands loaded at boot time.

DS0009 Process OS API Execution

Monitor for abnormal execution of syslog and other functions associated with system logging.

Process Modification

Using another process or third-party tools, monitor for potentially malicious modifications or access to the auditd system process.

References