找回密码
 立即注册
首页 业界区 安全 钓鱼邮件分析与排查

钓鱼邮件分析与排查

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

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

  • 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 字段可以被伪造。
示例邮件内容:
  1. 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
  1. dig +short TXT iport._domainkey.cisco.com
复制代码
其中 iport._domainkey.cisco.com 可以替换为对应域名。
DKIM 示例


SPF 示例


四、SPF 记录

1. 示例
  1. v=spf1 ip4:192.0.2.0/24 include:_spf.example.com redirect=example.net -all
复制代码
2. 字段说明


  • 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 服务、模拟发信流程和观察服务器响应。
安装:
  1. apt install swaks
复制代码
2. 简单伪造示例

比如临时邮箱网站:
https://tempmail.so/
  1. 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:显示给收件人的伪造发件人地址
示例:
  1. 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 认证密码
原文中的测试场景里,目标域未配置相关验证,因此可以直接构造伪造邮件:

对应伪造邮件成功送达的效果如下:

六、钓鱼邮件分析与排查流程

总体流程


  • 判断邮件是否可疑
  • 导出 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 域名是否一致
  • 发件显示名是否与真实邮箱匹配
  • 邮箱页面是否显示“代发”
代发场景在邮件界面中通常会有明显提示:

也可以导出 eml 文件进一步分析:

头部中通常能看到代发域名、发件 IP 等信息:

是否为伪造

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

  • X-Mailer 是否显示:

    • gophish
    • 异常脚本工具
    • 罕见批量发信组件

例如可以通过 X-Mailer 字段看出邮件可能由 gophish 发出:

发件链路是否异常

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

1. 建议提取的 IOC


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

    • MD5
    • SHA1
    • SHA256

2. 情报分析思路

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

  • 微步在线情报平台
  • 微步云沙箱
重点看:

  • 是否命中恶意情报
  • 是否为新注册域名
  • 是否为一次性邮箱域名
  • 是否有历史恶意行为
  • 是否与已知钓鱼活动关联
情报分析示例:


正文分析

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. 建议

带附件的钓鱼邮件,优先上传沙箱分析,确认是否为恶意程序、属于什么木马家族、是否有后续外联和持久化动作。
附件上传沙箱分析示例:

七、处置建议

1. 未点击、未打开附件


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


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


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

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

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

相关推荐

您需要登录后才可以回帖 登录 | 立即注册