关于钓鱼邮件的学习笔记
字数 1747 2025-08-18 11:39:30
钓鱼邮件攻防技术详解
一、钓鱼邮件攻击概述
钓鱼邮件攻击是网络安全中常见的攻击手段,主要分为两种方式:
- 构造钓鱼页面引诱受害者点击,获取目标账号密码或利用浏览器漏洞获取权限
- 发送带有恶意附件的邮件,引诱受害者运行
二、攻击准备工作
1. 基础设施准备
- VPS:用于托管钓鱼网站和接收shell
- 域名:用于伪装,增强可信度
- 邮件服务器:用于SMTP Relay发送伪造邮件
- 恶意样本:需要做免杀处理以提高成功率
2. 钓鱼网站开发
- 制作高仿真的目标网站页面
- 开发接收账号密码的后端功能
- 实现自动登录目标并截图的功能(针对token时效性)
- 搭建远控服务端(MSF、CS、Empire等工具)
3. 信息收集
- 收集目标公司近期活动信息
- 分析HR常用邮件模板和发件习惯
- 了解目标公司常用域名和邮件格式
三、邮件伪造技术
1. SMTP协议基础
SMTP邮件传输主要分为三步:
- 建立连接(TCP三次握手)
- 传输数据
- 断开连接
2. 常用SMTP命令
- HELO/EHLO:向服务器标识用户身份
- MAIL FROM:指定发件人
- RCPT TO:指定收件人
- DATA:开始传输邮件内容
- QUIT:结束会话
3. 伪造原理
利用SMTP服务器在进行邮件中转时不需要认证的特点,可以任意输入发件人信息,实现邮件伪造。
4. 伪造工具
- 在线工具:https://emkei.cz/
- 开源工具:https://github.com/Macr0phag3/email_hack
四、防护技术
1. SPF(Sender Policy Framework)
- 原理:通过DNS的TXT记录指定允许发送邮件的IP地址
- 查询方法:
dig -t txt example.com # Linux nslookup -type=txt example.com # Windows - 策略结尾:
-all:硬拒绝,不在列表中的IP直接拒绝~all:软拒绝,不在列表中的IP可能被标记为垃圾邮件
2. DKIM(DomainKeys Identified Mail)
- 原理:在邮件中嵌入数字签名,接收方通过DNS查询公钥验证
- 密钥获取:
- 从邮件头获取selector值(s字段)
- 查询DNS记录:
selector._domainkey.example.com
3. DMARC(Domain-based Message Authentication)
- 原理:基于SPF和DKIM的可扩展协议,定义未通过验证时的处理策略
- 策略参数:
p=none:不采取特定措施p=quarantine:标记为可疑p=reject:直接拒绝pct:应用策略的邮件百分比rua:反馈接收邮箱
五、邮件网关检测原理
1. 规则库
- 将已知垃圾邮件特征加入规则库进行匹配
2. 邮件头检测
- 检查mail from和from字段一致性
- 验证SPF、DKIM、DMARC记录
3. 防病毒
- 解码BASE64编码的附件
- 使用防病毒引擎或沙箱技术检测恶意行为
4. 黑白名单
- 基于发件箱、源IP、域名的快速过滤机制
5. 频率检测
- 对短时间内大量发送的邮件进行拦截
6. 超链接检测
- 检查邮件中文本链接与实际超链接是否一致
- 匹配恶意链接规则库
7. 机器学习
- 识别与真实域名相似的伪造域名(如tools.com vs t00ls.com)
六、绕过防护技术
1. 绕过SPF和DKIM
- 选择没有或使用
~all策略的小众域名 - 删除邮件中的DKIM头信息
- 使用swaks等工具发送伪造邮件
2. 绕过超链接检测
- 保持文本链接与超链接一致
- 不加超链接,利用邮件客户端自动添加链接功能
3. 绕过域名检测
- 收集目标公司未设置SPF记录的子域名
- 尝试匹配白名单正则策略(如itit@example.com)
4. 另类绕过方法
- 攻击SPF记录中的IP,获取白名单IP控制权
- 利用开放的25端口SMTP服务器转发邮件
七、实战注意事项
- 基础设施准备需要大量时间和资源
- 信息收集的质量直接影响钓鱼成功率
- 绕过技术需要根据目标防护特点灵活调整
- 注意避免过早暴露攻击行为
- 云服务可能因举报被封,需准备备用方案
八、总结
钓鱼邮件攻防是网络安全中持续对抗的领域,攻击者不断开发新的绕过技术,防御方则持续完善检测机制。了解双方的技术原理和实现方式,有助于构建更全面的安全防护体系。