13.4 Wave 1: Email Analysis
Wave 1: Email Analysis
At 09:40 GMT, Defender XDR fires the alert. Your investigation starts here — with the phishing email itself.
Step 1: Identify the campaign scope
| |
Result: 23 emails from noreply@northgate-voicemail[.]com with subject line “New voicemail message from [name] — [duration].” The attacker personalised each email with a realistic sender name and voicemail duration.
| Metric | Value |
|---|---|
| Total emails sent | 23 |
| Unique recipients | 23 (all finance department) |
| Delivery: Inbox | 19 |
| Delivery: ZAP removed | 4 |
| Delivery: Blocked | 0 |
| Detection technology | URL detonation (post-delivery) |
All 23 emails were initially delivered to the inbox. The phishing kit's Cloudflare turnstile CAPTCHA prevented Safe Links' automated URL detonation from reaching the proxy page at scan time. ZAP caught 4 when the URL verdict was updated 23 minutes later — but 19 were already accessible.
Step 2: Analyse the phishing URL
| |
Result: All 23 emails contained the same base URL with a unique per-recipient hash:
https://northgate-voicemail[.]com/auth/[32-character-hex]/login
The /auth/[hash]/login path structure is the phishing kit’s signature. The hash is unique per recipient — it identifies which target accessed the proxy, allowing the attacker to match stolen tokens to specific mailboxes.
The domain will change in future waves. The path structure will not — it is baked into the phishing kit. Detecting /auth/[a-f0-9]{32}/login across all inbound URLs catches future waves regardless of which domain the attacker registers. This is your most valuable IOC.
Step 3: Analyse email headers
The email headers reveal the sending infrastructure. Key headers to examine:
| |
What to check:
- SenderFromAddress vs SenderMailFromAddress: If these differ, the display name is spoofed. In this case, both use the phishing domain — the attacker registered a real domain rather than spoofing.
- SenderIPv4: The sending mail server IP. Cross-reference with threat intelligence feeds. In this case, the IP resolves to a cloud VPS provider — consistent with disposable phishing infrastructure.
- AuthenticationDetails: SPF, DKIM, DMARC results. The attacker configured SPF and DKIM for their phishing domain (it takes 5 minutes). DMARC does not help here because the sender domain is the attacker’s, not a spoofed legitimate domain.
These protocols verify that the email was sent from an authorised server for the sender domain. The attacker owns the sender domain — so SPF and DKIM pass legitimately. Email authentication verifies "this email was sent from the domain it claims to be from." It does not verify "this domain is legitimate." Do not dismiss phishing because authentication passed.
Step 4: Check who clicked
| |
Result:
| User | Click time | Safe Links warned? | Clicked through? |
|---|---|---|---|
| a.chen@ | 09:17 | Yes | Yes |
| m.patel@ | 09:18 | Yes | Yes |
| j.morrison@ | 09:19 | Yes | Yes |
| s.williams@ | 09:21 | Yes | Yes |
| r.thompson@ | 09:23 | Yes | Yes |
| d.kumar@ | 09:24 | Yes | No (heeded warning) |
| l.garcia@ | 09:31 | Yes | No (heeded warning) |
5 users clicked through the Safe Links warning. 2 users saw the warning and stopped. 16 users did not click at all.
Clicking through to the proxy page means the user saw the fake login page. It does not mean they entered credentials. Some users may have closed the page immediately. Some may have entered credentials but the proxy failed to capture a complete token. The sign-in log investigation (next subsection) determines who was actually compromised.
Analysis decision: Safe Links warned all 7 clickers but 5 clicked through
Check your understanding
1. The phishing domain has valid SPF and DKIM. Does this mean the email is legitimate?
2. Why is the URL path pattern /auth/[hash]/login more valuable as an IOC than the phishing domain?