前言1:最近发现之前写的文章跟shi一,最近会把一些文章进行翻新,增加文章阅读的可读性。
前言2:
发件人伪造总体分为伪造发件人/发件人字段绕过和代转发两种模式。
1. 发件原理
1.1伪造发件头原理
因为smtp协议未对发信的字段做校验,所以发信时更改from等值便可以伪造发件人。我们来看一下一封邮件的结构。
一封邮件最重要的也就是from和to分别为
from:发件人(这里就是通过更改发件人进行发件人伪造)
to:收件人
from头伪造防御:SPF,什么是SPF我的另一篇文章有进行讲解这里就不复述了。详情见:发件人伪造和防御原理
1.2代转发伪造发件人原理
代转发机制按理来说会被SPF拦截,但是神 奇的是代转发的邮件往往能进垃圾箱,更甚者能进收件箱。其中的影响因素颇多,跟玄学一般。
正常邮件路径为A→C
代转发A→B→C
攻击路径:B伪造A转发给C
防御策略:如无业务需求,一律禁止代转发操作
2. 代转发伪造发件人测试
2.1网易和腾讯smtp服务器
一开始以网易和腾讯的smtp服务器做发件测试,发现网易进行伪造会进垃圾箱,腾讯的会显示由XXX代转发。
值得一提的是在outlook客户端由XXX转发是不显示的。
所以决定发件的成功的关键,便是找到一个稳定可用无太多安全策略的smtp服务器。这里提供两个方法。
1.自己搭建smtp服务器。
2.找不知名的野鸡smtp厂商。
3. 发件测试
实验环境:
工具:kali swaks
Smtp服务器:smtp2go.com
本人较懒就不把一些测试绕坑的过程写出来了。直接测最终成功的命令。
1. 为了绕过一些邮件服务器的防护策略这里发件直接把钓鱼邮件以eml格式导出。
2. 删除from值,及更改收件人昵称
通过文本编辑器更改from值及昵称,from改成自己想要伪造的邮件域名及账号,或者直接删掉from和to字段通过第三步的swaks进行配置。
3. 然后就可以发送了
命令:
swaks --data aaa.eml--h-from "=?gb18030?B?x+XLrg==?=<[email protected]>" --from [email protected] --to [email protected] --server mail.smtp2go.com -au user -ap pass
群发钓鱼的话,收件人可以改为一个组,这样就更加具有迷惑性。
经过测试outlook客户端会有这样的骚毛病,exchange服务器不管网页还是客户端均存在此问题。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论