🔏
RootGuard
HomeSOC OperationsIncident ResponseWindows ForensicsLinux ForensicsKQL Investigations
  • Welcome
    • RootGuard
      • Who Am I?
        • Professional Profile
  • Resources Hub
    • Blogs
      • Articles
        • Safeguarding SMEs: The Strategic Importance of a Security Operations Center (SOC)
      • Posts
        • Roadmap to Becoming a Cybersecurity Specialist
        • Starting a Career in Cybersecurity
        • A Guide to Landing Your First Cybersecurity Analyst Role
        • Moving from Intermediate to Expert Incident Responder
  • SOC Operations
    • Introduction
      • Development Resources
        • SOC Analysts Roadmap
        • Becoming A SOC Analyst
        • SOC Analysts Prep Interview Questions
    • Essential Skills
      • Critical Windows EventIDs to Monitor
    • Junior Analyst Skills
      • Splunk Use Cases
      • KQL Use Cases
        • Reconnaissance (TA0043)
        • Initial Access (TA0001)
        • Execution (TA0002)
        • Persistence (TA0003)
        • Privilege Escalation (TA0004)
        • Defence Evasion (TA0005)
        • Credential Access (TA0006)
        • Discovery (TA0007)
        • Lateral Movement (TA0008)
        • Collection (TA0009)
        • Command and Control (TA0011)
        • Exfiltration (TA0010)
        • Impact (TA0040)
      • Investigating Common Attacks
        • Domain Dominance Attacks - Detection & Analysis
        • Investigating a Suspected AD FS Distributed Key Management (DKM) Attack
        • Authentication From Suspicious DeviceName
        • Identifying Interactive or RemoteInteractive Session From Service Account
        • Identifying Split or Part Archive File Transfers
        • Detect Potential Cleartext Credentials in Command Line
        • Detecting Command Line Interpreters Launched via Scheduled Tasks
        • Detecting Files Containing Potentially Sensitive Data
        • Detecting DeviceNetworkEvents From Windows Processes and Domains by TLD
        • Detecting Silent cmd.exe Execution With Redirected STDERR & STDOUT
        • Detecting Low Prevalence DLL Loaded From Process In User Downloads Directory
        • Detecting Virtual Drive Mounted From Archive
        • Identify Execution of Script From User's Downloads Folder
        • Identify Potential RDP Tunneled Sessions
        • Identify Instances of PowerShell Invoke-WebRequest, IWR or Net.WebClient
        • Identify Processes Launched by PowerShell Remoting (WSMProvHost.exe)
        • Detect DeviceNetworkEvents for LOLBAS with Download or Upload Functions
        • Detect Execution of PSEXESVC via Remote Systems
        • Identify Suspicious String in Service Creation ImagePath
        • Identify File with Double Extensions
        • Detect Potential Cleartext Credentials in Commandline
        • Detect When Large Number of Files Downloaded From OneDrive or SharePoint
        • Identify and Investigate Phishing Attacks with KQL
      • PowerShell for SecOps
        • Powershell Remoting
        • Reconnaissance Discovery
        • Initial Access Discovery
        • Execution Discovery
        • Persistence Discovery
        • Privilege Escalation Discovery
        • Defence Evasion Discovery
        • Credential Access Discovery
        • Discovery
        • Lateral Movement Discovery
        • Collection Discovery
        • Command & Control (C2) Discovery
        • Exfiltration Discovery
        • Impact Discovery
      • Packet Analysis (pcap)
        • Tcpdump
        • Tcpdump (Intermediate)
        • Tshark
        • Ngrep
      • Investigating Suspicious Emails Using KQL
    • Intermediate and Advanced Skills
      • Investigate Using MITRE ATT&CK Methodology
        • Reconnaissance (TA0043) Techniques
        • Resource Development (TA0042) Techniques
        • Initial Access (TA0001) Techniques
        • Command Execution (TA0002) Techniques
        • Persistence (TA0003) Techniques
        • Privilege Escalation (TA0004) Techniques
        • Defence Evasion (TA0005) Techniques
        • Credential Access (TA0006) Techniques
        • Discovery (TA0007) Techniques
        • Lateral Movement (TA0008) Techniques
        • Collection (TA0009) Techniques
        • Command and Control (C2) (TA0011) Techniques
        • Exfiltration (TA0010) Techniques
        • Impact (TA0040) Techniques
    • Vulnerability Management
    • Malware Analysis
  • DFIR
    • Incident Response
      • Incident Triage
        • Triage Types and Processes
        • PowerShell for Detection and Analysis
          • Malware or Compromise Investigation
          • Lateral Movement Discovery
        • Registry Analysis
        • Sysinternals Intrusion Analysis
        • PowerShell Intrusion Analysis
        • Velociraptor Intrusion Analysis
        • Zimmerman Tools Intrusion Analysis
      • KAPE Artifacts Analysis
      • Velociraptor Artifacts Analysis
      • Using The Unified Kill Chain Model to Analyse Individual Cyber Attacks
        • Phase 1 - Gaining an Initial Foothold
          • Gaining Access to the Network
          • Establishing a Foothold
          • Network Discovery
      • Response Strategies
        • Privilege Escalation Assessment
        • Command and Control Assessment
        • Command Execution Assessment
        • Defence Evasion Assessment
        • Detection Assessment
        • Discovery Assessment
        • Exfiltration Assessment
        • Initial Access Assessment
        • Initial Impact Assessment Techniques
        • Lateral Movement Assessment
        • Persistence Assessment
    • Windows Forensics
      • Evidence of Execution
      • Window Artifact Analysis
        • Account Usage
        • User Activity Tracking (Event Logs)
        • Program Execution
        • File and Folder Opening
        • File Download
        • Browser Usage
        • Deleted File or File Knowledge
        • External Device & USB Usage
    • Linux Forensics
      • Linux Commandline Basics
      • Host Compromise Assessment
    • KQL for Defender & Sentinel
      • MDO (Office)
      • MDI (Identity)
      • MDE (Endpoint)
    • Memory Forensics
      • Memory Forensics (Volatility 3)
    • Playbooks
      • First Responder DFIR Playbook
        • Device Isolation
        • Evidence Collection
          • Acquire Triage Image Using KAPE
          • Acquire Triage Data Using Velociraptor
          • Acquire Triage Data Using Powershell
          • Acquire Triage Memory Image
          • Acquire Image Using FTK
          • AXIOM Cyber Data Collection
        • Windows Forensic Artefacts
          • Application Execution
          • File & Folder Knowledge
          • External Device Usage
          • Network Activity
          • Windows Event Logs
        • Initial Analysis
          • Memory Analysis (Vol 3)
          • Axiom Cyber Examiner
  • Detection Engineering
    • AD Attack Detections & Mitigations
      • Kerberoasting
      • Authentication Server Response (AS-REP) Roasting
      • Password Spraying
      • MachineAccountQuota Compromise
      • Unconstrained Delegation
      • Password in Group Policy Preferences (GPP) Compromise
      • Active Directory Certificate Services (AD CS) Compromise
      • Golden Certificate
      • DCSync
      • Dumping ntds.dit
      • Golden Ticket
      • Silver Ticket
      • Golden Security Assertion Markup Language (SAML)
      • Microsoft Entra Connect Compromise
      • One-way Domain Trust Bypass
      • Security Identifier (SID) History Compromise
      • Skeleton Key
      • Active Directory Security Controls
      • Active Directory Events for Detecting Compromise
    • Attack Triage Playbooks (KQL Triage)
      • Windows Malware Detection Playbook
      • Linux Host Intrusion Detection Playbook (CLI)
      • Linux Intrusion Detection Playbook
      • Large-Scale Compromise Detection Playbook
      • Ransomware Detection Playbook
      • Phishing Email Compromise Detection Playbook
      • Scam Detection Playbook
      • Customer Phishing Detection Playbook
      • Insider Abuse Detection Playbook
      • Information Leakage Detection Playbook
      • Social Engineering Detection Playbook
      • Malicious Network Behaviour Detection Playbook
      • Windows Intrusion Detection Playbook
      • Vulnerability Detection Playbook
      • Business Email Compromise Detection Playbook
    • Process Execution (KQL Triage)
    • Threat Hunting
      • Hunting Ransomware Indicators
      • Hunting With KQL
        • Detecting Malware Infection (MITRE ATT&CK: T1566, T1059)
        • Discovery Activities (MITRE ATT&CK: T1016, T1083, T1046)
        • Credential Theft (MITRE ATT&CK: T1003, T1078)
        • Lateral Movement (MITRE ATT&CK: T1076, T1021)
        • Data Theft (MITRE ATT&CK: T1041, T1071)
        • Detecting CommandLine Executions (MITRE ATT&CK: T1059)
        • Windows Security Logs (Identity and Logon Activities)
      • Hunting With Splunk
Powered by GitBook
On this page
  • Introduction: The Need for Effective Linux Intrusion Detection Capabilities
  • Table of Contents
  • 1. Initial Compromise Detection
  • 2. Persistence Mechanisms
  • 3. Privilege Escalation and Credential Theft
  • 4. Lateral Movement Detection
  • 5. Data Exfiltration Indicators
  • 6. Post-Incident Investigation
  • Conclusion
Edit on GitHub
  1. Detection Engineering
  2. Attack Triage Playbooks (KQL Triage)

Linux Intrusion Detection Playbook

Introduction: The Need for Effective Linux Intrusion Detection Capabilities

Linux systems are a fundamental part of enterprise infrastructure, powering cloud environments, servers, and critical applications. As their adoption increases, so do the threats targeting them, ranging from privilege escalation and unauthorised access to rootkits, fileless malware, and advanced persistent threats (APTs). Attackers often leverage stealthy techniques such as living-off-the-land (LotL) tactics, kernel-level exploits, and misconfiguration abuse to evade detection, making traditional security approaches insufficient for Linux environments.

Effective Linux intrusion detection capabilities and processes are essential for identifying, analysing, and mitigating security threats before they escalate into full-scale incidents. A robust detection strategy should combine real-time system monitoring, anomaly-based detection, log analysis, behavioural analytics, and integration with Security Information and Event Management (SIEM) solutions. Additionally, leveraging Endpoint Detection and Response (EDR), host-based intrusion detection systems (HIDS), and proactive threat-hunting methodologies enhances visibility into suspicious activities.

To stay ahead of adversaries, security teams must implement continuous monitoring, automated alerting, and forensic investigation processes tailored to Linux environments. By establishing a well-defined intrusion detection framework, organisations can improve their security resilience, minimise attack dwell time, and protect critical assets from evolving cyber threats.

Table of Contents

  1. Initial Compromise Detection

    • Detect Suspicious Processes

    • Identify Exploited Services

    • Advanced Suspicious Command Detection

  2. Persistence Mechanisms

    • Detect Cronjob Modifications

    • Monitor SSH Key Additions

    • Advanced Persistence Detection via Startup Scripts

  3. Privilege Escalation and Credential Theft

    • Detect Sudo Abuse

    • Credential Dumping Attempts

    • Advanced Kernel Exploit Detection

  4. Lateral Movement Detection

    • Detect SSH Lateral Movement

    • Monitor File Transfers via SCP or Rsync

    • Monitor File Transfers via SCP or Rsync

    • Advanced Detection of Exploited Protocols

  5. Data Exfiltration Indicators

    • Large Data Transfers via Network

    • Use of Compression Tools

    • DNS or HTTPS Exfiltration

  6. Post-Incident Investigation

    • Correlation of File Hashes

    • Compromised User Accounts

    • Incident Timeline Reconstruction

  7. Conclusion


This playbook provides a structured approach to investigating Linux-based intrusions in an enterprise environment. Each section focuses on specific detection and analysis phases using advanced queries and techniques.

1. Initial Compromise Detection

The first step is identifying the initial point of compromise, often involving malicious processes or exploited services.

Query Option 1: Detect Suspicious Processes

SyslogEvent
| where TimeGenerated > ago(24h)
| where ProcessName != "" and (CPUUsage > 20 or MemoryUsage > 20)
| project TimeGenerated, HostName, ProcessName, CommandLine, CPUUsage, MemoryUsage

Description: Detects processes with unusually high CPU or memory usage. Results include timestamps, hostnames, and resource utilization details.

Query Option 2: Identify Exploited Services

SyslogEvent
| where TimeGenerated > ago(24h)
| where Port in (22, 80, 443) and Status == "Listening"
| project TimeGenerated, HostName, Port, ProcessName, CommandLine

Description: Identifies active listening services on common ports (SSH, HTTP, HTTPS). Results include process details and ports.

Query Option 3: Advanced Suspicious Command Detection

SyslogEvent
| where TimeGenerated > ago(7d)
| where CommandLine contains_any ("sudo", "wget", "curl", "base64", "nc", "ncat")
| project TimeGenerated, HostName, UserName, CommandLine

Description: Searches for potentially malicious commands executed in the shell. Results include timestamps, users, and command details.


2. Persistence Mechanisms

Attackers often use persistence techniques to maintain access.

Query Option 1: Detect Cronjob Modifications

SyslogEvent
| where TimeGenerated > ago(7d)
| where ProcessName == "cron" and CommandLine contains "edit"
| project TimeGenerated, HostName, UserName, CommandLine

Description: Tracks cronjob modifications. Results show command-line entries associated with cron edits.

Query Option 2: Monitor SSH Key Additions

SyslogEvent
| where TimeGenerated > ago(7d)
| where FilePath endswith "authorized_keys" and ActionType == "FileModified"
| project TimeGenerated, HostName, UserName, FilePath

Description: Identifies modifications to SSH authorized_keys files. Results display timestamps, hosts, and file paths.

Query Option 3: Advanced Persistence Detection via Startup Scripts

SyslogEvent
| where TimeGenerated > ago(30d)
| where FilePath startswith "/etc/systemd/system" or FilePath startswith "/etc/init.d"
| where ActionType == "FileCreated" or ActionType == "FileModified"
| project TimeGenerated, HostName, FilePath, UserName

Description: Detects changes in startup scripts, which may indicate persistence. Results show modified or created files.


3. Privilege Escalation and Credential Theft

Detecting privilege escalation and credential theft attempts is crucial to mitigating further damage.

Query Option 1: Detect Sudo Abuse

SyslogEvent
| where TimeGenerated > ago(7d)
| where CommandLine contains "sudo" and CommandLine contains "COMMAND"
| project TimeGenerated, HostName, UserName, CommandLine

Description: Identifies sudo command usage. Results include command details, users, and timestamps.

Query Option 2: Credential Dumping Attempts

SyslogEvent
| where TimeGenerated > ago(7d)
| where CommandLine contains_any ("hashcat", "john", "pwdump")
| project TimeGenerated, HostName, UserName, CommandLine

Description: Detects potential credential dumping attempts. Results display commands executed by users.

Query Option 3: Advanced Kernel Exploit Detection

SyslogEvent
| where TimeGenerated > ago(7d)
| where Message contains_any ("segfault", "exploit", "kernel panic")
| project TimeGenerated, HostName, Message

Description: Analyzes kernel logs for signs of exploit attempts. Results provide timestamps and messages.


4. Lateral Movement Detection

Attackers often spread across the network after the initial compromise.

Query Option 1: Detect SSH Lateral Movement

SyslogEvent
| where TimeGenerated > ago(7d)
| where ProcessName == "ssh" and CommandLine contains "Accepted publickey"
| project TimeGenerated, HostName, UserName, SourceIP, DestinationIP

Description: Identifies SSH public key logins. Results include source and destination IPs.

Query Option 2: Monitor File Transfers via SCP or Rsync

SyslogEvent
| where TimeGenerated > ago(7d)
| where CommandLine contains_any ("scp", "rsync")
| project TimeGenerated, HostName, UserName, CommandLine

Description: Tracks file transfer activities. Results display commands and associated users.

Query Option 3: Advanced Detection of Exploited Protocols

NetworkEvent
| where TimeGenerated > ago(7d)
| where RemotePort in (22, 111) and BytesSent > 1000000
| project TimeGenerated, HostName, RemoteIPAddress, RemotePort, BytesSent

Description: Monitors network traffic on commonly exploited protocols. Results highlight large data transfers.


5. Data Exfiltration Indicators

Signs of data exfiltration should be promptly identified to mitigate loss.

Query Option 1: Large Data Transfers via Network

NetworkEvent
| where TimeGenerated > ago(7d)
| where Direction == "Outbound" and BytesSent > 5000000
| project TimeGenerated, HostName, RemoteIPAddress, BytesSent

Description: Identifies large outbound data transfers. Results display destinations and transfer sizes.

Query Option 2: Use of Compression Tools

SyslogEvent
| where TimeGenerated > ago(7d)
| where CommandLine contains_any ("tar", "gzip", "7z")
| project TimeGenerated, HostName, UserName, CommandLine

Description: Detects the use of compression tools, often a precursor to exfiltration. Results show commands and users.

Query Option 3: DNS or HTTPS Exfiltration

NetworkEvent
| where TimeGenerated > ago(7d)
| where Protocol in ("DNS", "HTTPS") and strlen(RemoteDnsDomain) > 50
| project TimeGenerated, HostName, RemoteDnsDomain, BytesSent

Description: Monitors DNS and HTTPS traffic for anomalies. Results display domain names and data volumes.


6. Post-Incident Investigation

Once the threat is contained, further investigation can determine the scope and impact.

Query Option 1: Correlation of File Hashes

FileEvent
| where TimeGenerated > ago(30d)
| where SHA256 in ("<known-malicious-hash-1>", "<known-malicious-hash-2>")
| project TimeGenerated, HostName, FilePath, SHA256

Description: Compares file hashes with known malicious hashes. Results include file paths and matching hashes.

Query Option 2: Compromised User Accounts

SyslogEvent
| where TimeGenerated > ago(30d)
| where Message contains "Invalid user"
| project TimeGenerated, HostName, UserName, SourceIP

Description: Tracks invalid login attempts targeting non-existent users. Results include usernames and source IPs.

Query Option 3: Incident Timeline Reconstruction

union SyslogEvent, FileEvent, NetworkEvent
| where TimeGenerated > ago(30d)
| project TimeGenerated, EventType = $table, HostName, CommandLine, FilePath, RemoteIPAddress
| order by TimeGenerated asc

Description: Combines multiple data sources to reconstruct an incident timeline. Results provide a comprehensive view of activities.


Conclusion

The playbook offers a good approach to detecting and analysing compromises in an environment. However, its usefulness depends on the environment and tools at your disposal. For an environment where KQL is an option, the queries may require some adaptation to specific data sources and infrastructure setup.

PreviousLinux Host Intrusion Detection Playbook (CLI)NextLarge-Scale Compromise Detection Playbook

Last updated 4 months ago