钓鱼之发件人伪造

钓鱼邮件我们经常在QQ邮箱中可以收到,如果我们在渗透测试中加以利用会有出其不意的效果。

SPF

  要想了解发件人伪造,必须了解SPF,SPF类似DNS记录,比如收到一封来自IP:1.1.1.1 的xingming@example.com的邮件,为了确保这封邮件来自 1.1.1.1 的IP,那么邮件服务器会去查询example.com的SPF 记录,来判断1.1.1.1这个IP是否在SPF 记录中。 原理如下图:

 

   由于SMTP协议没有鉴别发件人身份的能力,所以电子邮件发件人里面可以随意填写邮箱,绕过SPF策略后就可以将伪造的邮件发送到受害人的邮箱中。

  在Linux查询SPF记录: dig -t txt example.com

 

 Windows下查询SPF的方法:

SPF 相关语法请参考:http://www.renfei.org/blog/introduction-to-spf.html

简单的介绍,我们正式开始尝试发送伪造邮件,

 所需要的环境 :kali    SMTP服务器(绕坑指南:在内网中,自己搭建的SMTP服务器可以随意成功伪造邮件,但是要走公网就困难了,使用VPS的需要注意。阿里的VPS不允许搭建SMTP服务器,腾讯的VPS只能使用在腾讯云中申请的域名喝服务器)

  自己搭建SMTP服务器失败概率很大,推荐使用SMTP2go.com 这个厂商 

在kali 下 使用swaks  

  --to <接收方的地址>

  --from <要显示的发件人邮箱>

  --ehlo <伪造的邮件ehlo头>

  --body <邮件正文>

  --header <邮件头信息,subject为邮件标题>

  --data <源邮件>  #可以使用txt格式的邮件原文进行发送邮件

Swaks --to QQNumber@qq.com 向QQ邮箱发送邮件测试失败

 

前面都是250 表示邮箱存在,并且可以正常通信,但是后面500 则是SPF策略发挥了作用。

SPF策略如何绕过:https://www.cnblogs.com/xiaozi/p/12906040.html

经过一系列绕坑之后,终于可以发送邮件了

测试QQ邮箱

swaks --to QQnumber@qq.com --from admin@qq.com --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au username  - ap  password

 

 

 测试网易邮箱:

 

 

 在测试时,可能 会出现延迟比较大,或者邮件进入垃圾箱,这时多发几次就可以解决这个玄学问题。

当然也会发现在网页邮箱里面接收邮件时会显示由XXXX代发,但是在Foxmail的客户端中完全不显示,无论是QQ邮箱还是163邮箱,以及其他的公司邮箱,都是直接显示伪造的邮箱ID。

发送带带有后门的word文件

 

将制作好的文档插入到正常的邮件发送出去 然后将发送好的邮件导出为XXX.eml格式,然后将subject上面的所有内容全部删掉

 

 

swaks --data 发件人伪造.eml --header "Subject:admin" admin@qq.com --from admin@qq.com --to QQnumber@qq.com --body hello --server mail.smtp2go.com -p 2525 -au username -ap password

效果图

 

 如果条件允许,可以添加其他的附件,再配合话术进行社工,会有意想不到的效果。

在对QQ邮箱进行发件人伪造测试时,冒用好友的QQ号对自己的邮箱发送邮件,虽然会显示代发,但是QQ邮箱会显示发件人在自己好友列表里面的备注,增加了伪造邮件的可信度。

总结:发件人伪造,成本和技术要求都不高,如果配合合适的话术,则成功的概率会非常非常的大,绝大部分人在查看邮件时着重关注邮件内容,然后看与发件人是否匹配等,如果针对企业主大部分非专业技术出身的员工,中招的概率几乎为100%。

 

posted @ 2021-01-04 17:58  MS17010  阅读(2169)  评论(0)    收藏  举报