Phishing Incident Response Runbook: Why Clicking the Link Is Only the Beginning – A Technical Deep Dive for SOC Analysts + Video

Listen to this Post

Featured Image

Introduction

Phishing remains the leading initial access vector for data breaches, yet most security teams focus disproportionately on prevention while neglecting the critical minutes after a user clicks a malicious link or opens a booby-trapped attachment. According to the 2023 Verizon DBIR, 74% of breaches involve the human element, and the difference between a contained incident and a full-blown ransomware deployment often comes down to the existence of a documented, SOC-ready phishing incident response runbook.

Learning Objectives

– Master the complete phishing incident taxonomy, from traditional email phishing to vishing, QRishing, and executive-targeted BEC attacks.
– Execute a structured SOC triage process within the first five minutes, including email header analysis, SPF/DKIM/DMARC validation, and IOC extraction.
– Apply containment playbooks tailored to three post-click scenarios: credential submission, malware execution, and large-scale phishing campaigns.

You Should Know

1. Email Authentication Forensics: Breaking Down SPF, DKIM, DMARC, and ARC for Incident Validation

The first step in any phishing investigation is determining whether the email is authentic or spoofed. Email authentication mechanisms are not just preventive; they are investigative goldmines.

What this does:

SPF (Sender Policy Framework) verifies that the sending mail server is authorized by the domain owner. DKIM (DomainKeys Identified Mail) adds a digital signature that ensures the message was not tampered with in transit. DMARC (Domain-based Message Authentication, Reporting & Conformance) tells the receiving server what to do when SPF or DKIM fail – reject, quarantine, or do nothing. ARC (Authenticated Received Chain) preserves authentication results across forwarding chains.

How to use it (Step‑by‑step):

Step 1 – Extract raw email headers

– Linux/macOS: Save the suspicious email as `.eml` and run `cat suspicious.eml | grep -i “received-spf\|dkim-signature\|dmarc\|authentication-results”`
– Windows (PowerShell): `Get-Content suspicious.eml | Select-String -Pattern “SPF|DKIM|DMARC|Authentication-Results”`

Step 2 – Manually validate SPF

From the header, locate the `Return-Path` or `Envelope-From` domain. Then query its SPF record:

`dig +short TXT example.com | grep “v=spf1″` (Linux)

`nslookup -type=TXT example.com` (Windows Command Prompt)

Step 3 – Check DKIM signature validity

Extract the `d=` (domain) and `s=` (selector) from the DKIM-Signature header, then query the public key:

`dig +short TXT selector._domainkey.example.com`

If the key is missing or mismatched, the email is tampered.

Step 4 – Interpret DMARC policy

Query the DMARC record: `dig +short TXT _dmarc.example.com`. A policy of `p=reject` or `p=quarantine` indicates the domain owner enforces authentication. If the email fails SPF and DKIM but still lands in the inbox, the receiving server ignored DMARC – a red flag.

Tutorial:

Use this one-liner to automate header analysis on Linux:

`cat email.eml | grep -E “Authentication-Results|Received-SPF|DKIM-Signature|DMARC”`

For deeper inspection, upload the raw email to [MessageHeader](https://mxtoolbox.com/EmailHeaders.aspx) or use `emailparser` Python library.

2. SOC Triage in the First Five Minutes: Preserve, Analyze, Escalate

When an employee reports a suspicious email, every second counts. The triage process must be deterministic, not improvisational.

Step‑by‑step guide:

1. Preserve the original email – Disable automatic image loading, then export as `.eml` or `.msg`. Never forward it interactively (that can trigger links). On Microsoft 365, use eDiscovery or Compliance portal to place a hold.
2. Extract key headers – Focus on `From`, `Reply-To`, `Return-Path`, `Message-ID`, and `Received` chains. Look for asymmetry between `From` and `Reply-To` – a classic BEC indicator.

3. Validate SPF/DKIM/DMARC (as described above).

4. Perform WHOIS and domain reputation check – On Linux: `whois suspicious-domain.com | grep -i “creation date\|registrar\|name server”`
On Windows: `whois suspicious-domain.com` (requires Sysinternals whois or install via Chocolatey).
Use free reputation APIs like VirusTotal: `curl -s “https://www.virustotal.com/api/v3/domains/suspicious-domain.com” -H “x-apikey: YOUR_KEY”`
5. Extract IOCs – Pull all URLs (including QR code destinations, if present), attachment hashes (SHA256), and embedded domains. Command on Linux: `grep -oP ‘https?://[^”]+’ suspicious.eml | sort -u`
6. Escalate based on risk – If the user clicked a link or submitted credentials or the email passed all authentication checks but is clearly malicious, elevate to a P1 incident and begin containment.

3. Post-Click Investigation: Sandbox Analysis, Proxy Logs, and EDR Telemetry

Once a user confirms they clicked, the incident shifts from email investigation to endpoint and identity compromise.

Step‑by‑step guide – Determine scope using forensic telemetry:

– Sandbox analysis of URL/attachment – Isolate the URL or downloaded file. On Linux, use `curl -k -L -X GET “http://malicious-link.com” –output suspicious.bin` (only in a controlled sandbox like Cuckoo, CAPE, or VirusTotal’s behavior tab).
On Windows, use Windows Sandbox or a throwaway VM with Procmon and Wireshark to capture network and process activity.
– Proxy and DNS logs – Query for any internal machine that resolved the malicious domain within the last 48 hours. Example Splunk query: `index=proxy dest_domain=malicious.com | stats count by src_ip`
– EDR telemetry – Using CrowdStrike, Microsoft Defender for Endpoint, or SentinelOne, hunt for process creation events: `parent_process:”explorer.exe” AND process_name:”powershell.exe” AND command_line:” -enc “`. This often reveals encoded PowerShell downloaders.
– Authentication logs – Check Azure AD sign-in logs or on-prem AD logs for `user@domain` logins from anomalous IPs or new device registrations. Command (PowerShell for AAD): `Get-AzureADAuditSignInLogs -Filter “userPrincipalName eq ‘[email protected]’ and status eq ‘success'”`

Tutorial – Linux-based IOC hunting in syslog:

`zgrep -h “malicious-domain” /var/log/syslog | awk ‘{print $1,$2,$5}’ | sort | uniq -c`

4. Containment Playbooks: Three Scenarios, Three Response Paths

Phishing impacts vary widely. Use scenario-specific containment to avoid over‑ or under‑reacting.

Scenario A: User clicked the link but did not submit credentials or download a file
– Isolate the endpoint from the network (EDR quarantine command: `crowdstrike quarantine start –hostname victim-pc` or manually disable NIC).
– Clear browser caches, cookies, and local storage. On Windows: `RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 4351` (clears all IE/Edge data).
– Reset the user’s session tokens (log out of all cloud apps via Azure AD: `Revoke-AzureADUserAllRefreshToken -ObjectId `).
– No password reset required unless session cookies were exfiltrated.

Scenario B: Credentials were submitted on a phishing landing page
– Immediately reset password and require MFA re‑registration. On-prem AD: `net user username /domain /passwordreq:yes` then force change.
– Revoke all refresh tokens (PowerShell AzureAD: `Revoke-AzureADUserAllRefreshToken`).
– Check for mailbox forwarding rules (Exchange Online: `Get-InboxRule -Mailbox [email protected] | where {$_.ForwardTo -1e $null}`). Attackers often set stealth forwarding.
– Enforce MFA for the next sign-in and audit for any new app registrations or OAuth grants.

Scenario C: Malware executed (e.g., Cobalt Strike beacons, ransomware stage)
– Isolate the host immediately – disconnect network cable or use EDR network containment.
– Capture memory (Windows: `DumpIt` or `FTK Imager`; Linux: `dd if=/dev/mem of=/tmp/memdump.raw`) and disk forensics for later analysis.
– Block all outbound traffic to the C2 domains at firewall level.
– Initiate antivirus/EDR scans with the most updated signatures.
– If ransomware has begun encryption, shut down the host to preserve evidence and restore from clean backups.

Tutorial – Windows command to check for suspicious scheduled tasks (often persistence):
`schtasks /query /fo LIST /v | findstr /i “powershell cmd.exe wscript”`

5. Recovery, Retrospective, and Continuous Improvement

Containment is not the finish line. Every phishing incident should strengthen defenses.

Step‑by‑step guide for post‑incident actions:

1. Extend detection rules – Convert observed IOCs into SIEM rules. Example Sigma rule for suspicious `rundll32` execution:

title: Suspicious Rundll32 Execution from Office Application
logsource: product=windows
detection: selection_parent: Image|contains: 'WINWORD.EXE' or 'EXCEL.EXE'
selection_hashes: Hashes|contains: 'CobaltStrike'

2. Update email filters – Add extracted sender domains, attachment SHA256, and URL patterns to block lists. For Microsoft 365 Defender: `New-TenantAllowBlockListItems -ListType Url -Block -Entries “malicious[.]com”`
3. Revise user awareness training – Use the real phishing email (sanitized) as an example in the next simulation campaign.
4. Conduct a post‑mortem tabletop – Document how detection occurred, what worked, and what failed. Update the runbook accordingly.
5. Strengthen MFA – If credentials were stolen, move from SMS or push notifications to FIDO2/WebAuthn or number‑matching MFA.

6. Advanced Threat Hunting: Correlating SIEM, EDR, and Authentication Logs

Proactive hunting for phishing survivors requires cross‑dataset correlation.

Example Splunk query linking email gateway logs to endpoint activity:

`index=email_gateway threat=phishing AND [email protected]

| stats earliest(_time) as email_time by message_id

| join message_id [ search index=edr process_name=”powershell.exe” OR process_name=”wscript.exe”

| eval delta = _time – email_time

| where delta > 0 AND delta < 300 ]` This finds any script execution within five minutes of receiving a known phish.

For open‑source hunters (ELK + Osquery):

Use Osquery to find processes spawned from users’ temp directories:
`SELECT pid, name, path, cmdline FROM processes WHERE path LIKE ‘%\\AppData\\Local\\Temp\\%’ AND parent_pid IN (SELECT pid FROM processes WHERE name IN (‘outlook.exe’, ‘chrome.exe’, ‘firefox.exe’))`

What Undercode Say:

– Key Takeaway 1: A phishing incident is never “just an email.” It becomes an identity, endpoint, and detection crisis the moment a user interacts. Organizations without a documented, scenario‑based runbook are improvising during the most critical seconds.
– Key Takeaway 2: Prevention (MFA, DMARC, awareness) is essential, but containment speed separates a minor incident from a breach. The three playbooks – link‑only, credential theft, and malware execution – must be rehearsed, not just written.

Analysis (10 lines):

The post correctly identifies that most security teams have email gateways and awareness training but lack a systematic incident response process for post‑click scenarios. The provided runbook (available on GitHub) bridges this gap by operationalizing email authentication analysis, SOC triage, and containment playbooks. From a technical standpoint, the emphasis on ARC preservation is often overlooked – forwarded emails lose original authentication results, causing false positives. The recommendation to treat phishing as an identity security issue is crucial; credential harvesting is now the primary enabler of lateral movement and cloud account takeover. Moreover, the three containment paths align with MITRE ATT&CK mitigations (T1566 for phishing, T1556 for credential stealing). What’s missing from the post but critical is the need for automated API‑based quarantine – manual isolation takes too long during active ransomware deployment. Additionally, organizations should implement “break‑glass” runbooks for executive‑targeted phishing (whaling) where MFA bypass techniques like adversary‑in‑the‑middle (AiTM) proxies are common. Finally, the most effective control in my experience is number‑matching MFA combined with continuous access evaluation (CAE) in Azure AD – it defeats even real‑time session cookie replay.
In summary, the runbook is a valuable asset, but its value is realized only through tabletop exercises and integration with SOAR platforms.

Expected Output

Introduction: Phishing remains the leading initial access vector for data breaches, yet most security teams focus disproportionately on prevention while neglecting the critical minutes after a user clicks a malicious link. The difference between a contained incident and full‑scale ransomware often comes down to a documented, SOC‑ready incident response runbook.

What Undercode Say:

– Key Takeaway 1: Phishing is an identity, endpoint, and detection problem – not just an email issue.
– Key Takeaway 2: Predefined containment playbooks for link‑only, credential theft, and malware execution are non‑negotiable.

Prediction

– +1 Adoption of SOAR (Security Orchestration, Automation, and Response) platforms will accelerate, enabling automated extraction of email IOCs, parallel queries to EDR and SIEM, and push‑button containment within 30 seconds of user report.
– +1 By 2026, AI‑driven phishing simulation platforms will generate dynamic, user‑specific bait emails and automatically create incident response steps tailored to each employee’s role and privileged access.
– -1 Attackers will increasingly bypass MFA using real‑time AiTM phishing kits that capture session cookies, rendering number‑matching MFA less effective unless combined with continuous access evaluation and device compliance checks.
– -1 Small to medium businesses without dedicated SOC will continue to treat phishing emails as individual IT tickets, leading to undetected credential persistence and eventual ransomware deployment – a trend that will not improve without affordable, managed detection and response (MDR) services.

▶️ Related Video (68% Match):

🎯Let’s Practice For Free:

🎓 Live Courses & Certifications:

[Join Undercode Academy for Verified Certifications](https://undercode.co.uk/certifications/)

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[[email protected]](mailto:[email protected])
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

IT/Security Reporter URL:

Reported By: [Yildizokan Cybersecurity](https://www.linkedin.com/posts/yildizokan_cybersecurity-phishing-incidentresponse-ugcPost-7470034059621216256-tXFd/) – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

[💬 Whatsapp](https://undercode.help/whatsapp) | [💬 Telegram](https://t.me/UndercodeCommunity)

📢 Follow UndercodeTesting & Stay Tuned:

[𝕏 formerly Twitter 🐦](https://x.com/undercodeupdate) | [@ Threads](https://www.threads.net/@undercodetesting) | [🔗 Linkedin](https://www.linkedin.com/company/undercodetesting/) | [🦋BlueSky](https://bsky.app/profile/undercode.bsky.social)