Detect Clear Linux or Mac System Logs in Microsoft Sentinel
Adversaries clear system logs on Linux and macOS to remove evidence of intrusion. Primary targets include /var/log/auth.log or /var/log/secure (authentication), /var/log/syslog or /var/log/messages (general), /var/log/wtmp and /var/log/btmp (login records), and web server logs (/var/log/apache2/, /var/log/nginx/). Common methods include truncating files (echo > /var/log/auth.log), deletion (rm /var/log/*.log), or overwriting with zeros. TeamTNT (crypto-mining), Rocke, Sea Turtle (DNS hijacking), Salt Typhoon (telecom espionage), UPSTYLE (Volt Typhoon PANW exploit), and MacMa (macOS) have all cleared Linux/macOS logs post-compromise.
MITRE ATT&CK
- Tactic
- Defense Evasion
- Technique
- T1070 Indicator Removal
- Sub-technique
- T1070.002 Clear Linux or Mac System Logs
- Canonical reference
- https://attack.mitre.org/techniques/T1070/002/
KQL Detection Query
DeviceFileEvents
| where Timestamp > ago(24h)
| where ActionType in ("FileDeleted", "FileModified", "FileTruncated")
| where FolderPath startswith "/var/log/" or FolderPath startswith "/Library/Logs/" or FolderPath startswith "/private/var/log/"
| where FileName endswith ".log" or FileName in~ ("auth.log", "syslog", "messages", "secure", "wtmp", "btmp", "lastlog", "kern.log")
| where not(InitiatingProcessFileName in~ ("logrotate", "newsyslog", "rsyslog", "syslogd"))
| project Timestamp, DeviceName, AccountName=InitiatingProcessAccountName,
ActionType, FileName, FolderPath, InitiatingProcessFileName,
InitiatingProcessCommandLine
| sort by Timestamp desc Detects modification or deletion of Linux/macOS system log files in /var/log/ and macOS Library/Logs. Excludes legitimate log rotation tools (logrotate, newsyslog, rsyslog) to reduce false positives. The ActionType FileTruncated specifically catches the 'echo > /var/log/auth.log' truncation technique. Covers authentication logs, syslog, kernel logs, and login tracking files (wtmp, btmp, lastlog).
Data Sources
Required Tables
False Positives & Tuning
- Logrotate and newsyslog performing scheduled log rotation — though they archive rather than delete
- System administrators manually clearing logs after legitimate troubleshooting
- Docker container cleanup processes removing application logs
- Some security tools that manage their own log files in /var/log directories
Other platforms for T1070.002
Testing Methodology
Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Clear Linux Auth Log via Truncation
Expected signal: auditd: SYSCALL records showing open with O_TRUNC flag on /var/log/auth.log. File modification event captured by endpoint telemetry. rsyslog may log a restart after the file is truncated if it monitors file size.
- Test 2Delete /var/log Files Using rm
Expected signal: auditd: SYSCALL records for creat/open (file creation) and unlink (file deletion). File creation and deletion events in endpoint telemetry. The file creation followed immediately by deletion pattern is anomalous.
- Test 3Clear Login History via wtmp Manipulation
Expected signal: auditd: SYSCALL for open with O_TRUNC on /var/log/wtmp. Any process monitoring wtmp (e.g., login daemons) may detect the size change. File modification event in endpoint telemetry for wtmp.
Unlock Pro Content
Get the full detection package for T1070.002 including response playbook, investigation guide, and atomic red team tests.