案例一:邮件钓鱼-前置知识
现在很多大型网站的邮件服务器已经做的很安全了,文中的很多方法感觉已经不适用,学习思路遇到公司自己搭建的邮件服务器可以尝试把
发件人策略框架( Sender Policy Framework )电子邮件认证机制, 中文译为发送方策略框架 , 主要作用是防止伪造邮件地址。
如何判断是否有spf
dig -t txt qq.com //linuxnslookup -type=txt qq.com //windows
spf基本含义
"v=spf1 -all" (拒绝所有,表示这个域名不会发出邮件)
"v=spf1 +all" (接受所有)
"v=spf1 ip4:192.168.0.1/16 -all"(只允许 192.168.0.1/16 范围内的 IP发送邮件)
"v=spf1 mx -all"(允许当前域名的 mx 记录对应的 IP 地址发送邮件)
"v=spf1 mx mx:test.example.com -all"(允许当前域名和 test.example.com 的 mx 记录对应的 IP 地址发送邮件)
"v=spf1 a mx ip4:173.194.72.103 -all"(允许当前域名的 a 记录和 mx 记录和一个给定的 IP 地址发送邮件)
"v=spf1 include:example.com -all"(采用和 example.com 一样的 SPF 记录)
钓鱼防范
1-看发件人地址
收到可疑邮件首先要查看发件人地址。如果是办公邮件,发件人多数会使用单位工
作邮箱,如果发现对方使用的是外部邮箱账号如 gmail,qq 邮箱,或者邮箱账号拼写很
奇怪,那么就需要提高警惕。钓鱼邮件的发件人地址也经常会进行伪造,比如伪造成本单
位域名的邮箱账号或者系统管理员账号。
2-看收件人地址
如果发现所接收的邮件被群发给校内大量人员,而这些人员并不是工作常用联系人或相关单位人员,那么就需要警惕,有可能是钓鱼邮件。
3-看邮件标题
大量钓鱼邮件主题关键字涉及"系统管理员”、“告警通知"、“账户冻结"、“密码到期”、“邮件账号报备”、“邮件异常登录"等,收到此类关键词的邮件,需提高警惕。
4-看正文措辞
对使用“亲爱的用户”、“亲爱的同事”等一些泛化问候或同事间不常用称呼的邮件应保持警惕。同时也要对任何制造紧急气氛的邮件提高警惕,如要求“账号已到期”,“邮箱容量达到上限"等。
5-看正文内容
邮件中有要求使用者点击邮件中的链接完成某项操作(如激活账号,确认密码),定不要随便点击链接,必要时可以先联系相关部门确认邮件内容,避免上当。
6-看附件内容
邮件中的附件信息,不要随便点击下载。诸如word、pdf、excel、PPT、rar等文件都可能植入木马或间谍程序,尤其是附件中直接带有后缀为.exe、.bat的可执行文件,千万不要点击。
7-看发件的日期
公务邮件通常接收邮件的时间在工作时间内,如果收到邮件是非工作时间(如凌晨时段),很有可能是钓鱼邮件。
案例二:邮件钓鱼-无SPF-直接伪造发信人
两个临时邮箱
临时邮箱、十分钟邮箱(10分钟)、临时邮、临时Email、快速注册Email、24Mail--查错网https://www.linshi-email.com/
在临时email中(第二个网站)

对这个邮箱的域名进行spf解析
这个就是没设置spf,因此是可以利用的,利用swaks进行身份伪造
swaks使用参数
-t –to 目标地址 -t test@test.com
-f –from 来源地址 (发件人) -f "text<text@text.com>"
–protocol 设定协议(未测试)
--body "http://www.baidu.com" //引号中的内容即为邮件正文;
--header "Subject:hello" //邮件头信息,subject 为邮件标题
-ehlo 伪造邮件 ehlo 头
--data ./Desktop/email.txt //将 TXT 文件作为邮件发送;
模仿admin@qq.com
swaks --header-X-Mailer "" --header-Message-Id "" --header-"Content-Type"="text/html" --from "QQ 管理<admin@qq.com>" --ehlo shabimeiguo -header "Subject: 测试" --body 我们做了一个测试 --to omfndfxxbm@iubridge.com
--header "X-Mailer: " 和 --header "Message-Id: ":这些选项用于设置邮件的自定义头部。
X-Mailer
通常用于指示邮件是由哪个邮件客户端发送的,这里设置为空。Message-Id
通常自动生成,但也可以手动设置。这里也设置为空,但请注意,一些SMTP服务器可能要求Message-Id
是唯一的。--header "Content-Type: text/html; charset=utf-8":这指定了邮件的内容类型和字符集。对于HTML邮件,你需要设置
Content-Type
为text/html
,并可选地指定字符集(如utf-8
),以确保邮件内容正确显示。--ehlo shabimeiguo:这指定了EHLO命令中使用的域名。EHLO是SMTP协议的一部分,用于开始一个SMTP会话,并询问SMTP服务器支持的服务。这里的
shabimeiguo
应该是你的域名或者服务器的主机名,但请注意,这通常不会影响邮件的发送,除非SMTP服务器有特定的域名检查。
运行200多的状态码就是成功发送
查看邮件
24email(第一个网站)
里面有两个域名
其中有一个没设置spf,另外一个设置了spf
chacuo.net就要求必须是这个网段的主机,才能够进行伪造
swaks --header-X-Mailer "" --header-Message-Id "" --header-"Content-Type"="text/html" --from "QQ 管理<admin@qq.com>" --ehlo shabimeiguo -header "Subject: 测试" --body 我们做了一个测试 --to rwpgdj28147@chacuo.net
这里正常来说应该不能被伪造,但是不知道是不是网站设置的问题,我不是这个ip段还是被伪造了
027168 都没设置spf就更不用说了
案例三:邮件钓鱼-有 SPF-修改字眼&三方中转伪造发信人
像163,126邮箱,qq邮箱肯定都设置了spf,有两种思路改字眼,或者中继转发
这里我直接说结果,没成功,因为这种互联网公司已经设置的很安全了,学习思路,遇到中小型公司自己搭建的邮件服务器,可能可以使用。(请遵守相关法律法规)
修改字眼
这里我模仿一个智联招聘的邮箱给我的163发邮件
swaks --body "test" --header "Subject:Test" -t xxxx@163.com -f campus@mailf.wisdomore.com
邮箱和垃圾箱里面都没有
他会自动检测你的域名和你的ip能否对应的上
这里我把l转换成为1,就能够成功发送过去
可以发送过来,但是被列入了垃圾邮件,已经与之前不太一样了
并且在实验的过程中发现网易邮箱如果检测到是垃圾邮件,会立刻屏蔽这个ip一段时间
还有一种伪造方式是在域名后面加东西比如.cn
很遗憾进了qq邮箱了垃圾箱
中转
选择一封邮件把他导出为eml
修改你想修改的部分,发件时间,发件人等等
文件复制到kali中
使用命令
swaks --to 收件人邮箱 -f 转发邮箱 --data 1.eml --server smtp.163.com -p 25 -au 转发邮箱 -ap 转发邮箱的授权码
swaks --to 收信人 -f 发信人 --data 1.eml --server smtp.163.com -p 25 -au 帐号 -ap 授权码
# 1.eml为邮件的模版
# smtp.163.com为你开通SMTP服务的域名
# 25 为服务的端口
smtp开启方式
开启转发,失败现在已经有了身份验证
案例四: 邮件钓鱼-有 SPF-自建中转伪造发信人
这个实验需要域名,注册一个fun域名只需7米/年
https://www.sendcloud.net/register
先新增一个域名
点击进去以后这里全部是未生效
阿里云设置域名解析,把这个值按照上图对应关系写进去
全部添加进去
完事刷新全部对勾证明配置成功
完事以后进行发送
虽然能够发送成功,但是tnnd现在各个平台已经不展示抄送了,展示的是你就是原始发件人,只能碰碰中小企业的运气喽
案例五:邮件钓鱼-平台框架-优化内容&收信&页面
项目地址:https://github.com/gophish/gophish
启动客户端 3333为登陆端口,password为密码登录后需要好后需要修改
下图是配置选项,但是不知道为啥126邮箱不行,换成qq邮箱以及邮箱授权码成功
发送测试邮件
成功发送测试邮件
配置发信模板
找一个有跳转链接的eml把他进行导出
把eml文件进行导入
下面html能够成功看到渲染页面,在实验的过程当中发现已经不能够伪造别的发送者了,只能用自己的身份,最好的办法就是创建一个邮件服务器,并且注册一个与目标极其相似的域名进行钓鱼
导入跳转页面
新增组,因为这个网站呢是批量对目标进行钓鱼,所以必须添加到组
开搞开搞
成功发送,这里呢发件人已经不能随便搞了,中小企业邮件服务器可以尝试
而且大型网站你在跳转的时候会对你进行提醒,越来越难喽
但是经过测试发现呢前面可以设置一下
在此基础之上再配合相似域名进行勾引,就有可能成功实现钓鱼