之前看了下邮件伪造觉得挺有意思的,所以看了下邮件伪造的东西,下面简单的总结了一下,如果有不妥的地方还望大佬们提出来。
1. 什么是SPF
SPF是 Sender Policy Framework 的缩写,一种以IP地址认证电子邮件发件人身份的技术,是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录。 接收邮件方会首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。
SPF可以防止别人伪造你来发邮件,是一个反伪造性邮件的解决方案。当你定义了你域名的SPF记录之后, 接收邮件方会根据你的SPF记录来确定连接过来的IP地址是否被包含在SPF记录里面,如果在,则认为是一封正确的邮件,否则则认为是一封伪造的邮件。
设置正确的 SPF 记录可以提高邮件系统发送外域邮件的成功率,也可以一定程度上防止别人假冒你的域名发邮件。
2. 测试方法
1. Windows下
nslookup -type=txt ***.com
- 不存在漏洞的情况:
- 存在漏洞的情况:
2. Linux下
- 不存在漏洞的情况:
- 存在漏洞的情况:
3. 利用方法
1. Swaks介绍
Swaks是SWiss Army Knife Smtp的缩写,由John Jetmore编写和维护的一种功能强大,灵活,可脚本化,面向事务的SMTP测试工具。可向任意目标发送任意内容的邮件。
Kali中是自带的,也可以在作者官网下载
2. 基本用法
-- to <收件人的邮箱>
-- from <要显示的发件人邮箱>
-- ehlo <伪造的邮件ehlo头>
-- body <邮件正文>
-- header <邮件头信息,subject为邮件标题>
3. 使用方法
- SPF配置好的情况
root@kali:~# swaks --to xxxxxxxxx@qq.com --from admin@qq.com --ehlo qq.com --body hello --header "Subject: hello"
- SPF未配置的情况
root@kali:~# swaks --to xxxxxxxxx@qq.com --from admin@freebuf.com --ehlo csdn.com --body hello --header "Subject: hello"
在你ip没有被qq邮箱band的情况下,邮件可以正常发送,返回250 OK。
4. 高级用法
使用swaks还可以进行高级的邮件伪造,使用--data参数
--data <源邮件>
首先需要找一份正常的邮件,显示邮件原文,复制内容保存为一个txt文件。原文中的received可以删除,该项为接收信息,发信中是不需要。to也可以删除,可以直接使用swaks --to来代替。最后不要忘了加--from 否则qq邮箱会报由kali代发的。
swaks --data ./Desktop/email.txt --to xxxxxxxxx@qq.com --from xxx@admin.com
遇到邮件伪造的例子了,直接贴图
这个发送的邀请邮件只能登录第三方邮箱发送,但是我们在伪造的时候并不影响,查看邮件原文,按照上面的步骤
root@kali:~# swaks --data ./桌面/email.txt --to 8xxxx2@qq.com --from service@fxxxxxe.com(这里面的xxx全是遮掩了的)