BTLO Easy Email Analysis / Threat Intel

Phishing Analysis

A practical guide to analysing phishing emails � tools, techniques, and methodology for blue teamers.

15 min read 10+ tools covered Blue Team

// Methodology

Phishing analysis follows a clear order of priority. Start with reputation services � they are fast, passive, and often sufficient to confirm a verdict. Only move to sandboxes when you need to observe active behaviour, such as a macro executing or a payload dropping.

Never click links or open attachments on your host machine. Always use a sandbox or isolated VM.

01
Triage the email

Check headers, sender address, reply-to, and subject for red flags.

02
Reputation lookup

Cross-reference all IPs, URLs, domains, and hashes against threat intel services.

03
Header analysis

Parse the delivery path and validate SPF, DKIM, and DMARC alignment.

04
URL inspection

Safely preview any links without visiting them directly.

05
Sandbox

Detonate attachments or URLs to observe live behaviour if needed.

// Reputation Lookup

Reputation services are your first stop. They are passive � you are querying existing databases, not interacting with malicious infrastructure. Use these for every indicator you extract from the email.

VirusTotal

virustotal.com

Cross-references URLs, IPs, domains, and file hashes across 70+ detection engines simultaneously. Also maps relationships between indicators � useful for pivoting from a URL to its hosting IP to other URLs on the same infrastructure.

URLs IPs Domains Hashes

URLhaus

urlhaus.abuse.ch

Tracks URLs actively used for malware distribution. Useful for context on suspicious links found in phishing emails � if the URL is listed, you have strong evidence of malicious intent and can see what malware family it is associated with.

URLs Malware Distribution

AbuseIPDB

abuseipdb.com

Community-reported IP reputation database covering spam, C2 traffic, brute force, and scanning activity. Use this against source IPs extracted from email headers to determine if the sending server has a history of abuse.

IPs C2 Spam

OTX AlienVault

otx.alienvault.com

Broader threat intelligence platform with community-contributed pulses. Each pulse contains IOCs, TTPs, and MITRE ATT&CK mappings. Good for understanding the wider campaign context behind an indicator you have found.

IOCs TTPs MITRE ATT&CK

// Header Analysis

Email headers contain the full delivery path of a message. They can reveal spoofed sender addresses, relay servers, and authentication failures. Copy the raw headers from the email client and paste into one of the tools below.

What to look for: SPF fail, DKIM fail, DMARC fail, mismatched From vs. Return-Path, unexpected relay hops, unusual sending times or geolocation.

MxToolbox Header Analyzer

mxtoolbox.com/EmailHeaders.aspx

Paste raw headers and it parses the full delivery path with a clear visual timeline. Produces clean SPF, DKIM, and DMARC output with pass/fail indicators. One of the clearest interfaces for header analysis.

SPF DKIM DMARC Delivery Path

Google Messageheader

toolbox.googleapps.com/apps/messageheader

Google's equivalent header parser. Works with any email headers � not limited to Gmail. Useful as a second opinion or when MxToolbox is unavailable.

SPF DKIM DMARC

// URL Inspection

Never visit a suspicious URL directly. These tools let you see what is behind a link without your browser ever making the request.

URLScan.io

urlscan.io

Loads the URL in a safe, isolated environment and returns a full report � screenshot of the page, all contacted domains and IPs, technologies detected, and extracted IOCs. An essential tool for seeing exactly what a link leads to without any risk.

URLs Screenshots IOC Extraction

URL Expanders

Search "URL expander"

Shortened URLs (bit.ly, tinyurl, etc.) hide the real destination. Paste a shortened link into a URL expander to reveal the full URL before submitting it to URLScan or VirusTotal. Never click a shortened link directly.

Shortened URLs Deobfuscation

// Sandboxes

Use sandboxes when reputation services are inconclusive and you need to observe active behaviour � macros executing, payloads dropping, network callbacks. All three options below have a free tier.

Files submitted to public sandboxes are visible to other users including threat actors. If you are handling a real incident at work, check your organisation's policy before submitting.

Any.Run

any.run

Interactive sandbox � you can click inside the virtual machine in real time. Excellent for observing process trees, network connections, registry changes, and dropped files as they happen. Best choice when you need to interact with the sample.

Interactive Process Tree Network Real-time

Hybrid Analysis

hybrid-analysis.com

Combines static and dynamic analysis. Solid free tier with MITRE ATT&CK tagging, PCAP export for network traffic analysis, and screenshot capture throughout execution. Good all-rounder for most samples.

Static + Dynamic MITRE ATT&CK PCAP

Triage

tria.ge

Supports both Windows and Linux targets. Generous free tier with strong IOC extraction. A good alternative when you need Linux analysis or want a second opinion alongside Hybrid Analysis.

Windows Linux IOC Extraction

// Working with .eml Files

If you have a raw .eml file rather than viewing the email in a client, you can parse it directly from the terminal. This gives you access to headers, body, and any embedded attachments.

Read headers and body

The simplest approach � pipe the file through cat to read the raw content including all headers:

bash
# Read full headers and body
cat suspicious.eml

Extract attachments

If the email contains attachments you need to extract for further analysis, use this Python snippet. It walks all MIME parts and saves any file with a filename to your working directory.

python
# Extract attachments from a .eml file
python3 -c "
import email, sys
msg = email.message_from_file(open('suspicious.eml'))
for part in msg.walk():
    if part.get_filename():
        open(part.get_filename(), 'wb').write(part.get_payload(decode=True))
        print('Saved:', part.get_filename())
"

Extracted attachments are live malware. Do not open them on your host machine. Move them into a sandbox or analyse statically with a tool like file, strings, or olevba for Office documents.