分析钓鱼电子邮件头
概述
电子邮件头包含关键元数据,能够揭示邮件的真实来源、路由路径和身份验证状态。分析这些头字段是识别钓鱼尝试、验证发件人真实性和收集威胁情报的基础技能。本技能涵盖使用手动技术和自动化工具对电子邮件头进行系统性提取和解读。
前置条件
- 基本了解 SMTP 协议和电子邮件投递原理
- 熟悉 DNS 记录(MX、TXT、SPF、DKIM、DMARC)
- 已安装 Python 3.8+
- 可访问能够导出原始头信息的邮件客户端(Outlook、Gmail、Thunderbird)
核心概念
关键头字段
- Received:邮件经过的邮件服务器链(从下到上阅读)
- From / Return-Path / Reply-To:发件人身份字段(常被伪造)
- Authentication-Results:SPF、DKIM、DMARC 验证结果
- X-Originating-IP:原始发件人 IP 地址
- Message-ID:唯一标识符;异常情况表明存在伪造
- X-Mailer / User-Agent:用于撰写邮件的客户端程序
头字段中的危险信号
From和Return-Path域名不匹配Authentication-Results中 SPF/DKIM/DMARC 验证失败Received链中出现陌生的中继服务器X-Originating-IP来自意外的地理位置- 缺失或格式异常的
Message-ID - 异常的
X-Mailer值(例如群发邮件工具)
实施步骤
步骤 1:提取原始邮件头
Gmail: 打开邮件 -> 三点菜单 -> "显示原始邮件"
Outlook: 打开邮件 -> 文件 -> 属性 -> Internet 头
Thunderbird: 查看 -> 邮件源代码(Ctrl+U)
步骤 2:使用 Python 解析头字段
使用 scripts/process.py 脚本自动完成头字段分析,包括 IP 地理定位、身份验证验证和异常检测。
步骤 3:验证身份验证链
- 检查 SPF 对齐:发送 IP 是否与域名的 SPF 记录匹配?
- 检查 DKIM 签名:密码学签名是否有效?
- 检查 DMARC 策略:邮件是否通过 DMARC 对齐检查?
步骤 4:追踪邮件路由
- 从下到上阅读
Received头字段 - 将每一跳的 IP 映射到组织/位置
- 识别意外的中继服务器或延迟
步骤 5:与威胁情报关联
- 在 AbuseIPDB、VirusTotal 上查询原始 IP
- 在 WHOIS 上查询发送域名的注册时间
- 搜索已知的钓鱼基础设施特征
工具与资源
- MXToolbox 头分析器: https://mxtoolbox.com/EmailHeaders.aspx
- Google Admin Toolbox: https://toolbox.googleapps.com/apps/messageheader/
- AbuseIPDB: https://www.abuseipdb.com/
- VirusTotal: https://www.virustotal.com/
- PhishTank: https://phishtank.org/
验证标准
- 成功解析来自 3 个不同邮件提供商的头字段
- 正确识别身份验证通过/失败状态
- 准确追踪电子邮件路由路径
- 在样本钓鱼邮件中检测出至少 3 个钓鱼指标