Analyzing Linux Audit Logs For Intrusion
Overview
Cybersecurity skill for analyzing linux audit logs for intrusion. Follows industry best practices and security standards.
When to Use
Trigger phrases:
"analyzing linux audit logs for intrusion"
"Uses the Linux Audit framework (auditd) with ausearch and aureport utilities to "
Investigating suspected unauthorized access or privilege escalation on Linux hosts
Hunting for evidence of exploitation, backdoor installation, or persistence mechanisms
Auditing compliance with security baselines (CIS, STIG, PCI-DSS) that require system call monitoring
Reconstructing a timeline of attacker actions during incident response
Detecting file tampering on critical system files such as /etc/passwd, /etc/shadow, or SSH keys
Do not use for network-level intrusion detection; use Suricata or Zeek for network traffic analysis. Auditd operates at the kernel level on individual hosts.
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- Linux system with
auditd package installed and the audit daemon running (systemctl status auditd)
- Root or sudo access to configure audit rules and query logs
- Audit rules deployed via
/etc/audit/rules.d/*.rules or loaded with auditctl
- Recommended: Neo23x0/auditd ruleset from GitHub for comprehensive baseline coverage
- Familiarity with Linux syscalls (
execve, open, connect, ptrace, etc.)
- Log storage with sufficient retention (default location:
/var/log/audit/audit.log)
Workflow
# Example: IOC detection
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> dict:
return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}
- Scope the Analysis — Define what linux audit logs artifacts or data sources to examine and the investigation timeline.
- Preserve Evidence — Create forensic copies of relevant data. Maintain chain of custody documentation.
- Extract Key Indicators — Use intrusion to parse and extract relevant linux audit logs data points from collected artifacts.
- Correlate Findings — Cross-reference extracted data with other sources (threat intel, logs, timelines).
- Build Timeline — Construct a chronological sequence of events related to linux audit logs.
- Document Analysis — Write findings report with evidence, conclusions, and recommendations.
Tools
- intrusion — Primary tool for this skill
- Forensic Toolkit — Evidence collection and analysis
- Timeline Tools — Chronological event reconstruction
- Log Analysis Platform — Centralized log parsing and search
Process
- Scope — Define research questions, identify data sources, set time boundaries
- Gather — Collect data from primary sources, APIs, and public records
- Synthesize — Analyze findings, identify patterns, produce actionable report
Verification
Anti-Rationalization Table
| Rationalization |
Reality |
| "We are too small to be targeted" |
Automated attacks target everyone. Size does not matter. |
| "Security slows us down" |
A breach slows you down 100x more. Build security in from the start. |
| "We will fix it after launch" |
Vulnerabilities in production are exploited within hours. Fix before deploy. |
1---2name: analyzing-linux-audit-logs-for-intrusion3description: Use when using the Linux Audit framework (auditd) with ausearch and aureport utilities to detect intrusion attempts, unauthorized access, privilege escalation, and suspicious system activity. Covers audit rule configuration, log querying, timeline reconstruction, and integration with SIEM platforms. Activates for requests involving auditd analysis, Linux audit log investigation, ausearch queries, aureport summaries, or host-based intrusion detection on Linux.4license: Apache-2.05---67# Analyzing Linux Audit Logs For Intrusion89## Overview1011Cybersecurity skill for analyzing linux audit logs for intrusion. Follows industry best practices and security standards.1213## When to Use14**Trigger phrases:**15- "analyzing linux audit logs for intrusion"16- "Uses the Linux Audit framework (auditd) with ausearch and aureport utilities to "171819- Investigating suspected unauthorized access or privilege escalation on Linux hosts20- Hunting for evidence of exploitation, backdoor installation, or persistence mechanisms21- Auditing compliance with security baselines (CIS, STIG, PCI-DSS) that require system call monitoring22- Reconstructing a timeline of attacker actions during incident response23- Detecting file tampering on critical system files such as `/etc/passwd`, `/etc/shadow`, or SSH keys2425**Do not use** for network-level intrusion detection; use Suricata or Zeek for network traffic analysis. Auditd operates at the kernel level on individual hosts.262728## When NOT to Use2930- When you lack proper authorization for testing31- For production systems without change management32- When the task requires legal or compliance expertise beyond technical scope333435## Prerequisites3637- Linux system with `auditd` package installed and the audit daemon running (`systemctl status auditd`)38- Root or sudo access to configure audit rules and query logs39- Audit rules deployed via `/etc/audit/rules.d/*.rules` or loaded with `auditctl`40- Recommended: Neo23x0/auditd ruleset from GitHub for comprehensive baseline coverage41- Familiarity with Linux syscalls (`execve`, `open`, `connect`, `ptrace`, etc.)42- Log storage with sufficient retention (default location: `/var/log/audit/audit.log`)4344## Workflow4546```python47# Example: IOC detection48import re4950IOC_PATTERNS = {51 "ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",52 "domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",53 "hash_md5": r"\b[a-f0-9]{32}\b",54 "hash_sha256": r"\b[a-f0-9]{64}\b",55}5657def extract_iocs(text: str) -> dict:58 return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}59```60611. **Scope the Analysis** — Define what linux audit logs artifacts or data sources to examine and the investigation timeline.622. **Preserve Evidence** — Create forensic copies of relevant data. Maintain chain of custody documentation.633. **Extract Key Indicators** — Use intrusion to parse and extract relevant linux audit logs data points from collected artifacts.644. **Correlate Findings** — Cross-reference extracted data with other sources (threat intel, logs, timelines).655. **Build Timeline** — Construct a chronological sequence of events related to linux audit logs.666. **Document Analysis** — Write findings report with evidence, conclusions, and recommendations.6768## Tools6970- **intrusion** — Primary tool for this skill71- **Forensic Toolkit** — Evidence collection and analysis72- **Timeline Tools** — Chronological event reconstruction73- **Log Analysis Platform** — Centralized log parsing and search747576## Process77781. **Scope** — Define research questions, identify data sources, set time boundaries791. **Gather** — Collect data from primary sources, APIs, and public records801. **Synthesize** — Analyze findings, identify patterns, produce actionable report8182## Verification8384- [ ] All linux audit logs procedures executed completely and documented85- [ ] Findings validated against multiple data sources86- [ ] False positives identified and filtered87- [ ] Results documented with evidence and timestamps88- [ ] Recommendations provided with risk-based prioritization8990## Anti-Rationalization Table9192| Rationalization | Reality |93|---|---|94| "We are too small to be targeted" | Automated attacks target everyone. Size does not matter. |95| "Security slows us down" | A breach slows you down 100x more. Build security in from the start. |96| "We will fix it after launch" | Vulnerabilities in production are exploited within hours. Fix before deploy. |