钓鱼邮件的投递和伪造
字数 1576 2025-08-25 22:58:28

钓鱼邮件的投递和伪造技术详解

前言

在大型企业边界安全日益完善的今天,钓鱼和水坑攻击成为APT攻击和红蓝对抗演练中越来越常用的手段。本文将全面解析钓鱼邮件的投递和伪造技术,帮助安全人员了解攻击手法以更好地防御。

邮件安全三大协议

SPF (Sender Policy Framework)

SPF是一种以IP地址认证电子邮件发件人身份的技术:

  • 接收方检查域名的SPF记录,验证发件人IP是否在授权列表中
  • 若IP不在列表中,则视为伪造邮件并退回
  • 示例:检查自称来自spam@gmail.com的邮件是否真的来自gmail.com的邮件服务器

DKIM (DomainKeys Identified Mail)

DKIM让企业可以在发送的电子邮件中插入加密签名:

  • 签名与域名关联,随邮件一起传送
  • 收件人使用签名验证邮件确实来自声称的企业
  • 确保邮件内容不被偷窥或篡改

DMARC (Domain-based Message Authentication, Reporting & Conformance)

DMARC是基于SPF和DKIM的可扩展电子邮件认证协议:

  • 发送方通过DNS公开表明使用的发件服务器(SPF)并对邮件内容签名(DKIM)
  • 接收方检查邮件是否来自授权服务器并验证签名有效性
  • 对未通过检查的邮件按发送方指定策略处理(如投入垃圾箱或拒收)

检查SPF配置

查看域名是否配置SPF:

nslookup -type=txt example.com
dig -t txt 163.com

未配置SPF的显示:

example.com text = "v=spf1 ?all"

已配置SPF的显示:

example.com text = "v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.123 a -all"

伪造邮件发送技术

未配置SPF的情况

  1. 使用swaks工具 (Kali Linux自带):
swaks --to target@qq.com --from info@victim.com --ehlo victim.com --body "hello" --header "Subject: hello"
  1. 自建邮件服务器
  • 使用EwoMail等开源邮件服务器软件
  • 地址:https://github.com/gyxuehu/EwoMail
  1. 使用第三方伪造服务
  • 如http://tool.chacuo.net/mailanonymous

已配置SPF的情况

需要使用权威邮件服务商绕过检测:

  1. SendGrid
  • 30天试用,免费发送40000封邮件
  • 使用API发送:
curl --request POST \
  --url https://api.sendgrid.com/v3/mail/send \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{"personalizations": [{"to": [{"email": "target@example.com"}]}],"from": {"email": "spoofed@victim.com"},"subject": "Subject","content": [{"type": "text/plain", "value": "Content"}]}'
  1. Mailgun
  • 每月免费10000封邮件
  • 使用示例:
curl -s --user 'api:key-API_KEY' \
    https://api.mailgun.net/v3/yourdomain.com/messages \
    -F from='Spoofed Name <spoofed@victim.com>' \
    -F to='target@example.com' \
    -F subject='Subject' \
    -F text='Content'
  1. 其他服务
  • Amazon SES:月免费62000封
  • 阿里云邮件推送:每日200封免费
  • SendCloud、MandRill、Postmark等

提高送达率的技巧

  1. 控制发信频率(同一邮箱间隔2-5天)
  2. 分割大收件人列表分批发送
  3. 使用变量避免内容完全一致
  4. 修改发件人昵称(对手机用户特别有效)

钓鱼邮件内容设计

关键要素

  1. 重要性:体现邮件的重要性驱使目标查看
  2. 合理性:结合目标身份、习惯和业务情况
  3. 紧迫性:促使目标尽快采取行动

常见钓鱼案例

  1. 账号被异常登录
  2. 账号密码过期提醒
  3. 系统更新/迁移通知
  4. 领取礼品/优惠

链接钓鱼技巧

  1. 超链接伪装
<a href="http://www.evil.com">www.legit.com</a>
  1. 相似域名注册
  • 用0代替o:taoba0.com
  • 用1代替l:a1iyun.com
  • 用vv代替w:vvvv.com
  1. Unicode域名欺骗
  • 使用特殊Unicode字符(如ṇ代替n)
  • 注册Punycode编码域名:
    • 原域名:www.biṇaṇce.com
    • Punycode:www.xn--biace-4l1bb.com
  • 在线转换工具:http://tools.jb51.net/punycode/index.php
  1. HTTPS证书
  • 申请合法HTTPS证书增加可信度
  • 避免浏览器显示安全警告

防御建议

  1. 为所有业务域名配置SPF、DKIM和DMARC
  2. 培训员工识别钓鱼邮件特征
  3. 部署高级邮件安全网关
  4. 监控异常邮件发送行为
  5. 定期检查DNS记录是否被篡改

总结

钓鱼邮件攻击利用SMTP协议不验证发送者身份的特性,结合社会工程学技巧,仍然是有效的攻击手段。了解这些技术有助于企业和个人更好地防御此类攻击。切记这些知识仅应用于安全研究和防御目的。

钓鱼邮件的投递和伪造技术详解 前言 在大型企业边界安全日益完善的今天,钓鱼和水坑攻击成为APT攻击和红蓝对抗演练中越来越常用的手段。本文将全面解析钓鱼邮件的投递和伪造技术,帮助安全人员了解攻击手法以更好地防御。 邮件安全三大协议 SPF (Sender Policy Framework) SPF是一种以IP地址认证电子邮件发件人身份的技术: 接收方检查域名的SPF记录,验证发件人IP是否在授权列表中 若IP不在列表中,则视为伪造邮件并退回 示例:检查自称来自spam@gmail.com的邮件是否真的来自gmail.com的邮件服务器 DKIM (DomainKeys Identified Mail) DKIM让企业可以在发送的电子邮件中插入加密签名: 签名与域名关联,随邮件一起传送 收件人使用签名验证邮件确实来自声称的企业 确保邮件内容不被偷窥或篡改 DMARC (Domain-based Message Authentication, Reporting & Conformance) DMARC是基于SPF和DKIM的可扩展电子邮件认证协议: 发送方通过DNS公开表明使用的发件服务器(SPF)并对邮件内容签名(DKIM) 接收方检查邮件是否来自授权服务器并验证签名有效性 对未通过检查的邮件按发送方指定策略处理(如投入垃圾箱或拒收) 检查SPF配置 查看域名是否配置SPF: 未配置SPF的显示: 已配置SPF的显示: 伪造邮件发送技术 未配置SPF的情况 使用swaks工具 (Kali Linux自带): 自建邮件服务器 : 使用EwoMail等开源邮件服务器软件 地址:https://github.com/gyxuehu/EwoMail 使用第三方伪造服务 : 如http://tool.chacuo.net/mailanonymous 已配置SPF的情况 需要使用权威邮件服务商绕过检测: SendGrid : 30天试用,免费发送40000封邮件 使用API发送: Mailgun : 每月免费10000封邮件 使用示例: 其他服务 : Amazon SES:月免费62000封 阿里云邮件推送:每日200封免费 SendCloud、MandRill、Postmark等 提高送达率的技巧 控制发信频率(同一邮箱间隔2-5天) 分割大收件人列表分批发送 使用变量避免内容完全一致 修改发件人昵称(对手机用户特别有效) 钓鱼邮件内容设计 关键要素 重要性 :体现邮件的重要性驱使目标查看 合理性 :结合目标身份、习惯和业务情况 紧迫性 :促使目标尽快采取行动 常见钓鱼案例 账号被异常登录 账号密码过期提醒 系统更新/迁移通知 领取礼品/优惠 链接钓鱼技巧 超链接伪装 : 相似域名注册 : 用0代替o:taoba0.com 用1代替l:a1iyun.com 用vv代替w:vvvv.com Unicode域名欺骗 : 使用特殊Unicode字符(如ṇ代替n) 注册Punycode编码域名: 原域名:www.biṇaṇce.com Punycode:www.xn--biace-4l1bb.com 在线转换工具:http://tools.jb51.net/punycode/index.php HTTPS证书 : 申请合法HTTPS证书增加可信度 避免浏览器显示安全警告 防御建议 为所有业务域名配置SPF、DKIM和DMARC 培训员工识别钓鱼邮件特征 部署高级邮件安全网关 监控异常邮件发送行为 定期检查DNS记录是否被篡改 总结 钓鱼邮件攻击利用SMTP协议不验证发送者身份的特性,结合社会工程学技巧,仍然是有效的攻击手段。了解这些技术有助于企业和个人更好地防御此类攻击。切记这些知识仅应用于安全研究和防御目的。