采序 发表于 4 天前

钓鱼邮件分析与排查

免责声明:本文仅用于授权场景下的安全分析、检测与应急排查,请勿用于未授权测试或违法用途。
一、概述

电子邮件相关协议主要包括:

[*]SMTP:发送和转发邮件
[*]POP3:拉取邮件
[*]IMAP:同步和管理邮件
钓鱼邮件分析的核心目标通常有三个:

[*]判断这封邮件是否为恶意或伪造邮件
[*]判断附件、链接、发件源是否存在风险
[*]判断收件人是否已经点击、登录、执行附件并造成影响
常见钓鱼关键词和场景:

[*]财务报销
[*]发票
[*]快递异常
[*]密码过期
[*]学校通知
[*]OA / VPN 登录
[*]领导催办
二、SMTP 基础

1. SMTP 是什么

SMTP(Simple Mail Transfer Protocol)是客户端与服务器、以及服务器之间发送和转发电子邮件的应用层协议。
2. SMTP 大致通信流程

建立连接


[*]客户端与服务器基于 TCP 建立连接,默认端口为 25
[*]服务器返回 220,表示服务已就绪
[*]客户端发送 EHLO 或 HELO
[*]服务器返回 250,并在 EHLO 情况下告知支持的扩展功能,如:

[*]STARTTLS
[*]AUTH

发送邮件


[*]客户端发送 MAIL FROM:
[*]服务器返回 250
[*]客户端发送一个或多个 RCPT TO:
[*]服务器返回 250
[*]客户端发送 DATA
[*]服务器返回 354
[*]客户端逐行发送邮件头和正文
[*]最后以单独一行的 . 结束
[*]服务器返回 250,表示邮件已接收并排队
关闭连接


[*]客户端发送 QUIT
[*]服务器返回 221
三、邮件伪造原理

1. 为什么能伪造

在 SMTP 交互中,发件人地址本质上是发送端声明的,因此如果缺少校验机制,From 字段可以被伪造。
示例邮件内容:
Date: Wed, 06 Aug 2025 14:57:55 +0800To: example@example.comFrom: 110@110.comSubject: test Wed, 06 Aug 2025 14:57:55 +0800Message-Id:X-Mailer:Content-Type: text/htmlThis is a test常见字段含义:

[*]Message-Id:消息唯一标识
[*]X-Mailer:发件工具或客户端
[*]Subject:邮件标题
[*]To:收件人地址
[*]From:表面显示的发件人地址
2. 常见防伪造机制

SPF

发件人策略框架,用来声明哪些服务器被授权为该域发送邮件。
DKIM

通过域名公私钥机制对邮件头做数字签名,验证邮件是否被伪造或篡改。
DMARC

在 SPF 和 DKIM 校验结果基础上,告诉接收服务器该如何处理邮件,如放行、标记、隔离或拒收。
3. 查看域名是否配置 SPF / DKIM

dig +short TXT iport._domainkey.cisco.com其中 iport._domainkey.cisco.com 可以替换为对应域名。
DKIM 示例

https://cdn.jsdmirror.com/gh/hzhsec/upload@main/20260402114926810.png
SPF 示例

https://cdn.jsdmirror.com/gh/hzhsec/upload@main/20260402114951856.png
四、SPF 记录

1. 示例

v=spf1 ip4:192.0.2.0/24 include:_spf.example.com redirect=example.net -all2. 字段说明


[*]v=spf1:SPF 协议版本
[*]ip4/ip6:允许的 IP 段
[*]a / mx:允许与域名 A 记录或 MX 记录匹配的主机
[*]include::引入其他域的 SPF 规则
[*]redirect=:当前规则不匹配时,跳转检查其他域 SPF
3. 限定符


[*]无符号或 +:Pass
[*]-:Fail
[*]~:SoftFail
[*]?:Neutral
4. 常见写法


[*]-all:未匹配者硬拒绝
[*]~all:未匹配者标记可疑
五、伪造测试与原理验证

这一部分更适合理解“为什么能伪造”和“为什么会被拦截”,实战中重点还是放在分析与排查。
1. Swaks

Swaks 是一个命令行 SMTP 测试工具,常被称为 “SMTP 瑞士军刀”,可用于测试 SMTP 服务、模拟发信流程和观察服务器响应。
安装:
apt install swaks2. 简单伪造示例

比如临时邮箱网站:
https://tempmail.so/
https://cdn.jsdmirror.com/gh/hzhsec/upload@main/20260402115424652.png
swaks \--from "admin@pku.edu.cn" \--to "example@example.com" \--ehlo "pku.edu.cn" \--header "X-Mailer: Gmail" \--header "Content-Type: text/html; charset=UTF-8" \--header "Subject: test" \--body "test"3. SPF 绕过中常见的代发思路

代发场景中:

[*]--from:真实发件人地址
[*]--h-From:显示给收件人的伪造发件人地址
示例:
swaks \--from "username" \--h-From "admin@pku.edu.cn" \--to "example@example.com" \--ehlo "pku.edu.cn" \--header "X-Mailer: Gmail" \--header "Content-Type: text/html; charset=UTF-8" \--header "Subject: 北京大学录取通知书" \--body @./test.html \--server smtp.qiye.aliyun.com \--au "username" \--ap "password"参数说明:

[*]from:真实发件人账号
[*]h-From:伪造展示的发件人
[*]ehlo:声明的域名
[*]header:自定义头
[*]body:正文内容
[*]server:SMTP 服务器
[*]au:SMTP 认证用户名
[*]ap:SMTP 认证密码
原文中的测试场景里,目标域未配置相关验证,因此可以直接构造伪造邮件:
https://cdn.jsdmirror.com/gh/hzhsec/upload@main/20260402115405584.png
对应伪造邮件成功送达的效果如下:
https://cdn.jsdmirror.com/gh/hzhsec/upload@main/20260402115746554.png
六、钓鱼邮件分析与排查流程

总体流程


[*]判断邮件是否可疑
[*]导出 eml / msg 原始邮件
[*]分析邮件头、发件链路与认证结果
[*]提取 IOC
[*]分析正文链接和附件
[*]判断收件人是否已经点击或执行
[*]做处置、加固、封禁和溯源
初步判断是否为钓鱼邮件

先做表面判断,重点看以下内容:

[*]发件人显示名与真实邮箱是否一致
[*]是否为“代发”邮件
[*]标题是否诱导性强、制造紧迫感
[*]内容是否要求登录、转账、下载附件、扫码
[*]是否包含可疑链接、短链接、二维码
[*]是否包含压缩包、Office 文档、脚本、可执行文件
[*]是否冒充领导、财务、人事、学校、快递、运营商等高频身份
邮件头分析

1. 建议先导出原始邮件

优先导出:

[*]eml
[*]msg
不要只看 Web 邮箱界面,因为很多关键字段默认不会显示完整。
2. 邮件头重点字段

基础字段

[*]From:显示发件人
[*]To:收件人
[*]Subject:标题
[*]Date:发送时间
[*]Message-ID:消息唯一标识
[*]X-Mailer:发件客户端或工具
真实性和路由相关字段

[*]Return-Path:退信地址,常能看出真实发件来源
[*]Reply-To:回复地址,常用于诱导用户回复到其他邮箱
[*]Received:邮件传输链路,通常需要自下而上分析
[*]Authentication-Results:SPF、DKIM、DMARC 的校验结果
[*]Received-SPF:SPF 检测结果
[*]DKIM-Signature:DKIM 签名字段
3. 重点看

是否为代发

[*]From 域名、Return-Path 域名、Reply-To 域名是否一致
[*]发件显示名是否与真实邮箱匹配
[*]邮箱页面是否显示“代发”
代发场景在邮件界面中通常会有明显提示:
https://cdn.jsdmirror.com/gh/hzhsec/upload@main/20260402120940590.png
也可以导出 eml 文件进一步分析:
https://cdn.jsdmirror.com/gh/hzhsec/upload@main/20260402121441036.png
头部中通常能看到代发域名、发件 IP 等信息:
https://cdn.jsdmirror.com/gh/hzhsec/upload@main/20260402121655894.png
是否为伪造

[*]SPF 是否失败
[*]DKIM 是否缺失或验证失败
[*]DMARC 是否失败
[*]Message-ID 域名是否与 From 域名不一致
是否使用钓鱼平台或异常客户端

[*]X-Mailer 是否显示:

[*]gophish
[*]异常脚本工具
[*]罕见批量发信组件

例如可以通过 X-Mailer 字段看出邮件可能由 gophish 发出:
https://cdn.jsdmirror.com/gh/hzhsec/upload@main/20260402121853243.png
发件链路是否异常

[*]Received 中是否出现异常跳转
[*]第一跳发件 IP 是否可疑
[*]发件服务器与发件域是否明显不匹配
IOC 提取与情报分析

1. 建议提取的 IOC


[*]发件人邮箱
[*]Return-Path
[*]Reply-To
[*]发件 IP
[*]中继 IP
[*]发件域名
[*]正文链接
[*]跳转域名
[*]附件文件名
[*]附件哈希:

[*]MD5
[*]SHA1
[*]SHA256

2. 情报分析思路

可将提取到的 IP、域名、哈希放到情报平台分析,例如:

[*]微步在线情报平台
[*]微步云沙箱
重点看:

[*]是否命中恶意情报
[*]是否为新注册域名
[*]是否为一次性邮箱域名
[*]是否有历史恶意行为
[*]是否与已知钓鱼活动关联
情报分析示例:
https://cdn.jsdmirror.com/gh/hzhsec/upload@main/20260402122501119.png
https://cdn.jsdmirror.com/gh/hzhsec/upload@main/20260402122604198.png
正文分析

1. 重点检查项


[*]链接显示文本和真实跳转地址是否一致
[*]是否使用短链接、重定向、跳板页面
[*]是否使用相似域名、同形异义字符、错拼域名
[*]是否诱导输入账号密码、验证码、邮箱口令
[*]是否伪装成:

[*]企业登录页
[*]Office 365
[*]QQ 邮箱
[*]银行
[*]学校
[*]OA / VPN

2. 建议


[*]不要直接在办公机点击链接
[*]先提取 URL 做情报查询
[*]必要时在隔离环境中访问
[*]看是否存在:

[*]重定向
[*]表单提交
[*]凭据收集
[*]下载恶意文件

附件分析

1. 高风险附件类型

常见危险文件类型:

[*]压缩包:.zip、.rar、.7z
[*]Office文档:.doc、.docm、.xls、.xlsm
[*]PDF文件:.pdf
[*]脚本文件:.js、.vbs、.ps1、.bat、.cmd
[*]可执行文件:.exe、.dll、.scr
[*]快捷方式:.lnk
[*]磁盘镜像:.iso、.img
2. 分析流程


[*]先计算哈希
[*]查情报
[*]上传沙箱
[*]看行为
[*]再决定是否需要逆向分析
3. 沙箱重点看什么


[*]是否释放落地文件
[*]是否创建计划任务、注册表启动项
[*]是否拉起脚本解释器:

[*]powershell
[*]wscript
[*]cmd

[*]是否外联恶意 IP / 域名
[*]是否下载二阶段载荷
[*]是否窃取浏览器、邮箱、VPN、IM 凭据
4. 建议

带附件的钓鱼邮件,优先上传沙箱分析,确认是否为恶意程序、属于什么木马家族、是否有后续外联和持久化动作。
附件上传沙箱分析示例:
https://cdn.jsdmirror.com/gh/hzhsec/upload@main/20260402122831186.png
七、处置建议

1. 未点击、未打开附件


[*]标记为钓鱼邮件
[*]删除或隔离邮件
[*]封禁发件地址、发件域名、源 IP、URL、哈希
[*]在网关、邮件系统、EDR、代理设备中同步规则
2. 已点击链接


[*]立刻断开风险访问
[*]修改相关账号密码
[*]检查 MFA 状态
[*]强制下线所有会话
[*]排查是否存在 OAuth 授权滥用、邮箱规则投毒
3. 已打开附件


[*]隔离主机
[*]保留样本与日志
[*]排查进程、网络连接、持久化
[*]查询全网是否有相同哈希或相同外联
[*]必要时做内存取证和深度查杀
八、实战中的判断思路

判断是否可疑邮件
-> 看发件人显示名、域名、代发情况
-> 导出 eml 分析头部
-> 提取发件 IP、域名、链接、附件哈希
-> 分析 SPF / DKIM / DMARC
-> 分析附件和正文链接
-> 判断用户是否点击、登录、执行
-> 做隔离、封禁、告警扩线、溯源

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

栓州 发表于 3 天前

感谢分享

咒卖箴 发表于 12 小时前

这个好,看起来很实用
页: [1]
查看完整版本: 钓鱼邮件分析与排查