🔏
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
  • Table of Contents
  • 1. Initial Malware 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)

Windows Malware Detection Playbook

Introduction

In today’s rapidly evolving threat landscape, malware remains one of the most persistent and dangerous threats to enterprise security. Cybercriminals continuously develop sophisticated malware variants that evade traditional security controls, exploit vulnerabilities, and compromise sensitive data. As organisations increasingly adopt cloud-based infrastructures, hybrid environments, and remote work models, the attack surface expands, making proactive malware detection more critical than ever.

Effective malware detection capabilities and processes are essential for identifying and mitigating threats before they escalate into full-scale security incidents. A robust detection framework combines behavioural analytics, endpoint monitoring, threat intelligence, and machine learning to detect known and unknown malware strains. Additionally, integrating advanced security solutions such as Endpoint Detection and Response (EDR), Extended Detection and Response (XDR), and Security Information and Event Management (SIEM) solutions enhances visibility and response capabilities.

To stay ahead of adversaries, security teams must adopt a proactive approach by leveraging threat-hunting methodologies, forensic analysis, and automation-driven incident response. A well-defined malware detection process not only minimises the risk of operational disruptions and data breaches but also strengthens an organisation’s overall cybersecurity posture.

Table of Contents

  1. Initial Malware Detection

    • Detect Unusual Process Executions

    • Detect Processes Launched from Temporary Directories

    • Advanced Suspicious Command Detection

  2. Persistence Mechanisms

    • Registry Key Modifications

    • Scheduled Tasks Creation

    • Advanced Startup Folder Monitoring

  3. Privilege Escalation and Credential Theft

    • Suspicious LSASS Access

    • Mimikatz-Style Activities

    • Advanced Credential Dumping Detection

  4. Lateral Movement Detection

    • Remote Execution Using PsExec

    • Network Shares Access

    • Lateral Movement via WMI

  5. Data Exfiltration Indicators

    • Large Data Transfers to External Destinations

    • Use of File Compression Tools

    • DNS Tunneling Detection

  6. Post-Incident Investigation

    • Correlation of File Hashes

    • Compromised User Accounts

    • Incident Timeline Reconstruction

  7. Conclusion


This playbook provides a structured approach to investigating malware compromises in a Windows enterprise environment using KQL (Kusto Query Language) queries. Each section focuses on a specific detection and analysis phase with multiple query options and detailed descriptions.

1. Initial Malware Detection

The initial phase involves identifying potential signs of compromise, such as suspicious file execution or network activities.

Query Option 1: Detect Unusual Process Executions

DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in ("powershell.exe", "cmd.exe", "wscript.exe", "cscript.exe")
| where ProcessCommandLine contains "-EncodedCommand" or ProcessCommandLine contains "Invoke-WebRequest"
| project Timestamp, DeviceName, FileName, ProcessCommandLine, InitiatingProcessFileName

Description: This query looks for encoded or obfuscated commands executed by common scripting tools. The expected result includes timestamps, device names, and command lines associated with the execution.

Query Option 2: Detect Processes Launched from Temporary Directories

DeviceProcessEvents
| where Timestamp > ago(24h)
| where FolderPath startswith "C:\\Users\\" and FolderPath contains "Temp"
| project Timestamp, DeviceName, FolderPath, FileName, ProcessCommandLine

Description: Identifies processes launched from temporary directories, which are commonly used by malware. The expected result highlights potential malicious file execution paths.

Query Option 3: Advanced Suspicious Command Detection

DeviceProcessEvents
| where Timestamp > ago(7d)
| where ProcessCommandLine matches regex @"(\\b(base64|encoded|bypass|invoke|iex|new-object)\\b)"
| project Timestamp, DeviceName, FileName, ProcessCommandLine, InitiatingProcessAccountDomain

Description: Uses regex matching for advanced detection of suspicious commands often seen in malware activities. Results include details on command-line patterns and associated accounts.


2. Persistence Mechanisms

Malware often establishes persistence to survive reboots or logoffs.

Query Option 1: Registry Key Modifications

DeviceRegistryEvents
| where Timestamp > ago(24h)
| where RegistryKeyPath has_any ("Run", "RunOnce", "Services")
| project Timestamp, DeviceName, RegistryKeyPath, RegistryValueName, RegistryValueData

Description: Detects modifications to common registry keys used for persistence. Results show changes in specific keys, including the associated device and value data.

Query Option 2: Scheduled Tasks Creation

DeviceProcessEvents
| where Timestamp > ago(24h)
| where ProcessCommandLine contains "schtasks"
| project Timestamp, DeviceName, FileName, ProcessCommandLine, InitiatingProcessFileName

Description: Searches for the creation of scheduled tasks, a frequent persistence method. Results display task creation commands with the initiating process details.

Query Option 3: Advanced Startup Folder Monitoring

DeviceFileEvents
| where Timestamp > ago(7d)
| where FolderPath contains "\\Startup"
| where FileName endswith ".exe" or FileName endswith ".bat"
| project Timestamp, DeviceName, FolderPath, FileName

Description: Monitors files added to startup folders, which can indicate persistence attempts. Results display suspicious files with paths and timestamps.


3. Privilege Escalation and Credential Theft

Detecting attempts to elevate privileges or steal credentials.

Query Option 1: Suspicious LSASS Access

DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName == "lsass.exe" and InitiatingProcessFileName in ("procdump.exe", "rundll32.exe")
| project Timestamp, DeviceName, FileName, InitiatingProcessFileName, InitiatingProcessCommandLine

Description: Detects tools attempting to access LSASS for credential dumping. The result highlights the initiating processes targeting LSASS.

Query Option 2: Mimikatz-Style Activities

DeviceProcessEvents
| where Timestamp > ago(24h)
| where ProcessCommandLine contains_any ("sekurlsa::logonpasswords", "privilege::debug")
| project Timestamp, DeviceName, ProcessCommandLine, InitiatingProcessFileName

Description: Flags process commands associated with Mimikatz. Results include timestamps, devices, and command details.

Query Option 3: Advanced Credential Dumping Detection

DeviceProcessEvents
| where Timestamp > ago(7d)
| where FileName in ("powershell.exe", "wmiexec.exe") and ProcessCommandLine contains_any ("DumpCreds", "ExtractPasswords")
| project Timestamp, DeviceName, FileName, ProcessCommandLine, AccountName

Description: Expands detection to include custom tools for credential theft. Results show command lines and related accounts.


4. Lateral Movement Detection

Malware may attempt to move laterally within the environment.

Query Option 1: Remote Execution Using PsExec

DeviceNetworkEvents
| where Timestamp > ago(24h)
| where RemoteIPType == "Private" and InitiatingProcessFileName == "PsExec.exe"
| project Timestamp, DeviceName, RemoteIPAddress, InitiatingProcessCommandLine

Description: Identifies the use of PsExec for remote execution. Results include IP addresses and command lines used.

Query Option 2: Network Shares Access

DeviceFileEvents
| where Timestamp > ago(24h)
| where FileName endswith ".exe" and FolderPath startswith "\\\\"
| project Timestamp, DeviceName, FolderPath, FileName

Description: Detects executable files accessed on network shares. Results highlight potential lateral movement activities.

Query Option 3: Lateral Movement via WMI

DeviceProcessEvents
| where Timestamp > ago(7d)
| where ProcessCommandLine contains "wmic" and ProcessCommandLine contains "/node:"
| project Timestamp, DeviceName, ProcessCommandLine, InitiatingProcessAccountName

Description: Detects usage of WMI for remote execution across systems. Results display command-line details and initiating accounts.


5. Data Exfiltration Indicators

Detecting signs of data exfiltration is critical for assessing impact.

Query Option 1: Large Data Transfers to External Destinations

DeviceNetworkEvents
| where Timestamp > ago(24h)
| where RemoteIPType == "Public" and Direction == "Outbound" and BytesSent > 1000000
| project Timestamp, DeviceName, RemoteIPAddress, BytesSent, InitiatingProcessCommandLine

Description: Flags large data transfers to public IP addresses. Results include data volume, destination IPs, and associated processes.

Query Option 2: Use of File Compression Tools

DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in ("7z.exe", "winrar.exe", "powershell.exe") and ProcessCommandLine contains_any ("compress", "archive")
| project Timestamp, DeviceName, FileName, ProcessCommandLine

Description: Detects the use of compression tools, often used before exfiltration. Results show the execution details of compression commands.

Query Option 3: DNS Tunneling Detection

DeviceNetworkEvents
| where Timestamp > ago(7d)
| where Protocol == "DNS" and strlen(RemoteDnsDomain) > 50
| summarize Count = count() by RemoteDnsDomain, DeviceName
| where Count > 100

Description: Identifies potential DNS tunneling by analysing unusually long domain names with high query counts. Results display devices and domains.


6. Post-Incident Investigation

Once the malware activity is contained, investigate further to understand its scope and origin.

Query Option 1: Correlation of File Hashes

DeviceFileEvents
| where Timestamp > ago(30d)
| where SHA256 in ("<known-malicious-hash-1>", "<known-malicious-hash-2>")
| project Timestamp, DeviceName, FolderPath, FileName, SHA256

Description: Identifies devices where known malicious files were present. Results show file hashes, paths, and timestamps.

Query Option 2: Compromised User Accounts

DeviceLogonEvents
| where Timestamp > ago(30d)
| where AccountName in ("<compromised-user-1>", "<compromised-user-2>")
| project Timestamp, DeviceName, AccountName, LogonType, LogonStatus

Description: Tracks activity related to compromised accounts. Results include login types, statuses, and device associations.

Query Option 3: Incident Timeline Reconstruction

union DeviceProcessEvents, DeviceFileEvents, DeviceNetworkEvents, DeviceLogonEvents
| where Timestamp > ago(30d)
| where DeviceName in ("<compromised-device-1>", "<compromised-device-2>")
| project Timestamp, EventType = $table, DeviceName, InitiatingProcessCommandLine, FolderPath, RemoteIPAddress, AccountName
| order by Timestamp asc

Description: Combines multiple data sources to create a timeline of activities on compromised devices. Results provide a holistic view of the incident.


Conclusion

The playbook offers a good approach to detecting and analysing malware compromises in a Windows enterprise network. 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.

PreviousAttack Triage Playbooks (KQL Triage)NextLinux Host Intrusion Detection Playbook (CLI)

Last updated 4 months ago