🔏
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 Phishing Email Compromise Detection Capabilities
  • Table of Contents
  • 1. Initial Detection of Phishing Activity
  • 2. Compromised Account Indicators
  • 3. Malicious Payload Delivery
  • 4. Threat Persistence
  • 5. Incident Response and Containment
  • 6. Conclusion
Edit on GitHub
  1. Detection Engineering
  2. Attack Triage Playbooks (KQL Triage)

Phishing Email Compromise Detection Playbook

Introduction: The Need for Effective Phishing Email Compromise Detection Capabilities

Phishing remains one of the most prevalent and effective attack vectors used by cybercriminals to gain unauthorised access to enterprise environments. Attackers continuously refine their tactics, leveraging social engineering, credential harvesting, business email compromise (BEC), and malicious attachments or links to bypass traditional security controls. As email remains the primary communication tool for businesses, detecting phishing-based compromises is critical to preventing account takeovers, financial fraud, and data breaches.

Effective phishing email compromise detection capabilities and processes are essential to identifying and mitigating threats before they lead to widespread organisational impact. A robust detection strategy should include advanced email filtering, anomaly detection, behavioural analysis, and integration with threat intelligence feeds to recognise phishing indicators in real-time. Security solutions such as Security Email Gateways (SEGs), Endpoint Detection and Response (EDR), and Security Information and Event Management (SIEM) platforms enhance visibility into suspicious email activities, including unauthorised logins, unusual email forwarding rules, and abnormal communication patterns.

To combat phishing threats effectively, organisations must adopt a multi-layered defence approach that includes continuous monitoring, automated alerting, and user awareness training. By strengthening detection capabilities and response processes, security teams can proactively identify and neutralise phishing attacks before they escalate into full-scale security incidents, ensuring better protection for users, credentials, and sensitive business assets.

Table of Contents

  1. Initial Detection of Phishing Activity

    • Identify Suspicious Emails

    • Detect Unusual URL Clicks

    • Advanced Network Traffic Analysis

  2. Compromised Account Indicators

    • Multiple Login Failures

    • Logins from Unusual Locations

    • Suspicious Email Forwarding Rules

  3. Malicious Payload Delivery

    • Identify Malicious Attachments

    • Detect Command Execution from Email Clients

    • Advanced Process Analysis

  4. Threat Persistence

    • Unauthorised OAuth Application Approvals

    • Persistent Email Rules

    • Advanced Token Abuse Indicators

  5. Incident Response and Containment

    • Isolate Compromised Accounts

    • Identify Indicators of Compromise (IoCs)

    • Incident Timeline Reconstruction

  6. Conclusion


This playbook provides advanced KQL queries and techniques to assist in detecting and analysing phishing compromises across an enterprise. Each section includes multiple query options with detailed descriptions and expected results.

1. Initial Detection of Phishing Activity

Query Option 1: Identify Suspicious Emails

EmailEvents
| where Timestamp > ago(24h)
| where Subject matches regex @"(urgent|password|verify|security|update)" or SenderDomain endswith ".xyz" or ".info"
| project Timestamp, SenderEmailAddress, Subject, RecipientEmailAddress, SenderIP

Description: Detects emails with suspicious subjects or domains commonly associated with phishing. Results include sender details and recipients.

Query Option 2: Detect Unusual URL Clicks

UrlClickEvents
| where Timestamp > ago(24h)
| where Url contains_any ("bit.ly", "tinyurl.com", "ow.ly", "redirect")
| summarize ClickCount = count() by UserId, Url
| where ClickCount > 5
| project UserId, Url, ClickCount

Description: Identifies users clicking on potentially malicious shortened URLs multiple times. Results highlight URLs and affected users.

Query Option 3: Advanced Network Traffic Analysis

DeviceNetworkEvents
| where Timestamp > ago(24h)
| where RemoteIPType == "Public" and Protocol == "HTTP" and Url contains "/login"
| summarize TotalRequests = count() by DeviceName, Url, RemoteIPAddress
| project DeviceName, RemoteIPAddress, Url, TotalRequests

Description: Flags devices connecting to suspicious login pages. Results include device details, URLs, and request counts.


2. Compromised Account Indicators

Query Option 1: Multiple Login Failures

DeviceLogonEvents
| where Timestamp > ago(24h)
| where LogonStatus != "Success"
| summarize FailureCount = count() by AccountName, DeviceName
| where FailureCount > 10
| project AccountName, DeviceName, FailureCount

Description: Detects accounts with repeated failed login attempts, indicating brute force or compromised credentials. Results highlight affected accounts.

Query Option 2: Logins from Unusual Locations

DeviceLogonEvents
| where Timestamp > ago(24h)
| where IsExternalIP == true
| summarize LoginCount = count() by AccountName, RemoteIP, GeoLocation
| where LoginCount > 3
| project AccountName, RemoteIP, GeoLocation, LoginCount

Description: Identifies accounts logging in from external or geographically unusual locations. Results display account details and geolocations.

Query Option 3: Suspicious Email Forwarding Rules

EmailRulesEvents
| where Timestamp > ago(7d)
| where ActionType == "Create" and RuleConditions contains "forward" and RecipientDomain != "<your_domain>"
| project Timestamp, UserId, RecipientDomain, RuleName, RuleConditions

Description: Flags newly created email forwarding rules to external domains. Results include rule details and affected users.


3. Malicious Payload Delivery

Query Option 1: Identify Malicious Attachments

EmailAttachmentInfo
| where Timestamp > ago(24h)
| where FileType in ("exe", "vbs", "js", "bat")
| summarize AttachmentCount = count() by FileName, SenderEmailAddress
| where AttachmentCount > 1
| project FileName, SenderEmailAddress, AttachmentCount

Description: Detects suspicious file types commonly used in phishing payloads. Results display filenames and sender details.

Query Option 2: Detect Command Execution from Email Clients

DeviceProcessEvents
| where Timestamp > ago(24h)
| where ParentFileName contains "outlook.exe" and (CommandLine contains "powershell" or CommandLine contains "cmd")
| project Timestamp, DeviceName, CommandLine, ParentFileName

Description: Identifies processes executed from email clients, potentially indicating payload activation. Results include command details and originating processes.

Query Option 3: Advanced Process Analysis

DeviceProcessEvents
| where Timestamp > ago(24h)
| where ProcessCommandLine matches regex @"(powershell|curl|wget|base64)"
| project Timestamp, DeviceName, ProcessCommandLine, AccountName

Description: Flags suspicious commands executed on devices, often associated with phishing payloads. Results display commands and associated accounts.


4. Threat Persistence

Query Option 1: Unauthorized OAuth Application Approvals

OAuthEvents
| where Timestamp > ago(7d)
| where ApprovalStatus == "Granted" and AppName != "TrustedApp"
| project Timestamp, AccountName, AppName, AppId, ApprovalStatus

Description: Detects unauthorized OAuth application approvals. Results include app names, account details, and approval statuses.

Query Option 2: Persistent Email Rules

EmailRulesEvents
| where Timestamp > ago(7d)
| where ActionType == "Create" and RuleName contains "auto-forward"
| project Timestamp, UserId, RuleName, RecipientDomain

Description: Identifies persistent forwarding rules created in compromised accounts. Results highlight rule details and associated accounts.

Query Option 3: Advanced Token Abuse Indicators

DeviceLogonEvents
| where Timestamp > ago(24h)
| where LogonType == "TokenBased" and AccountName in ("<sensitive_accounts>")
| project Timestamp, DeviceName, AccountName, LogonType

Description: Flags token-based logons for sensitive accounts, potentially indicating token abuse. Results include account details and logon types.


5. Incident Response and Containment

Query Option 1: Isolate Compromised Accounts

DeviceLogonEvents
| where Timestamp > ago(24h)
| where AccountName in ("<compromised_account_list>")
| project Timestamp, AccountName, DeviceName, RemoteIPAddress

Description: Identifies recent activity from known compromised accounts. Results assist in containment efforts.

Query Option 2: Identify Indicators of Compromise (IoCs)

union EmailEvents, DeviceProcessEvents
| where SHA256 in ("<IoC-Hash-List>")
| project Timestamp, EventType = $table, DeviceName, FileName, SHA256

Description: Correlates IoCs with email and process activities. Results highlight impacted systems and files.

Query Option 3: Incident Timeline Reconstruction

union EmailEvents, DeviceProcessEvents, DeviceNetworkEvents
| where Timestamp > ago(30d)
| project Timestamp, EventType = $table, DeviceName, SenderEmailAddress, CommandLine, RemoteIPAddress
| order by Timestamp asc

Description: Combines multiple data sources to reconstruct a timeline of phishing-related activities. Results provide a holistic view of the incident.


6. 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.

PreviousRansomware Detection PlaybookNextScam Detection Playbook

Last updated 4 months ago