最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 造成发件人伪造的成因,到底是谁在给你发邮件么?

    0x00 这是什么?

    一般来说,当我们收到一封电子邮件时,我们会首先查看发件人。如果是更重要的电子邮件,我们可能会查看发件人的地址。但是,如果这封邮件的发件人是假的,你怎么还知道是谁给你发的邮件呢?

    当我们在谷歌中搜索“sender forgery”相关内容时,可以看到很多很多网站都提供了实现这个功能的方法和思路:

    因为我没有测试过这些网站的内容,也不知道这些方法能不能伪造成功,但是可以肯定的是,有办法伪造邮件的发件人。

    那么是什么导致发件人伪造呢?下面我们来分析分析发件人伪造的原因。

    0x01 什么是 SMTP?

    要了解原因,我们首先需要了解 SMTP 是什么。

    首先,让我们了解几个概念:

    MUA:邮件用户代理(User Mail Agent),用户通过MUA接收和发送邮件,如Outlook、FoxMail等。

    MTA:Mail Transfer Protocol(邮件传输代理),是SMTP的一种实现,MTA只负责邮件的传输。如果信件的目的地不是用户本身,并且信件的相关数据符合MTA的使用权,则MTA会将信件转发给下一个主机。这就是所谓的转发功能。

    MDA:邮件投递代理(Mail Delivery Agent),负责将收到的邮件保存在邮件服务器上,在这里可以设置过滤或自动回复邮件。

    MRA:Mail Receive Agent(邮件接收代理),用于实现IMAP、POP3协议,负责与MUA进行交互电子邮件程序是啥意思,将服务器上的邮件通过IMAP和POP3传输到客户端。

    SMTP的全称是简单邮件传输协议。直译是简单邮件传输协议。主要工作是将邮件信息从发件人的邮件服务器传输到收件人的邮件服务器。有时我们使用 MUA 来发送邮件。承载将用户邮件传输到传出服务器的功能。但是 SMTP 的问题是没有对发件人进行身份验证。使用下图说明邮件传递过程。

    1、用户使用MUA向MTA发送一封信,其中包含几项:

    发件人及发件人的网站,如 admin@evi1cg.me。其中evi1cg.me是发信的网站,也就是收信的MTA。

    收件人和收件人网站,例如 admin@email.server,其中 admin 是 email.server 中的帐户。

    2、MTA收到信后,会通过DNS的MX记录进行查询。如果 email.server 本身就是 MTA,那么 MTA 会将邮件交给 MDA 处理,并放入收件人的邮箱中。

    3、如果 email.server 不是它自己,那么邮件将被转发。

    4、远程MTA收到本地MTA转发的邮件后,会将邮件交给其MDA处理,等待用户阅读或下载。

    正是因为 MTA 之间的邮件转发不需要认证,所以这成为了发件人可以被伪造的原因。

    0x02 如何搭建SMTP服务器?

    如何快速搭建自己的 SMTP Server?这个网站上有很多教程。为了快速搭建,可以选择使用ewomail。代码开源,构建更方便,有很好的文档。EwoMail 基于 postfix 和 Dovecot。根据文档,它可以很快部署。部署后,您需要添加一个用户帐户:

    之后,您可以通过添加的帐户发送电子邮件。

    0x03 如何伪造域名?

    邮件抄送是什么意思_邮件收进的程序_电子邮件程序是啥意思

    有一个非常有用的关于伪造域名的工具 SimpleEmailSpoofer。让我们使用这个工具来测试它:

    python SimpleEmailSpoofer.py -t 目标邮箱 -f 伪造发件人地址 -n From_name -e 邮件内容 -j 邮件主题 -s 你自己的 smtp 地址 -p 25 –user 你添加的用户 –pass 你添加用户的密码

    可以看到这里的错误,Sender address denied: notowned by user xxx,这里是postfix设置的问题。需要修改/etc/postfix/main.cf找到smtpd_sender_login_maps,修改为:

    smtpd_sender_login_maps = mysql:/etc/postfix/mysql/mysql-sender-login-maps.cf,pcre:/etc/postfix/login_maps.pcre

    新的 /etc/postfix/login_maps.pcre

    /^ ( .* ) $/ test@yourdomain.com

    注意:表示用户 test@yourdomain.com 的用户可以使用任何域。

    找到 smtpd_recipient_restrictions 并删除 reject_unknown_sender_domain 这样发送域就不会被验证。

    修改完成后,执行以下命令:

    postmap /etc/postfix/login_maps.pcre 后缀重新加载

    修改完成后,再次发送:

    查看邮箱:

    当然,原来的邮件还是有自己的域名信息的。至于如何最小化自己的信息,可以参考这篇文章。

    经测试,如果接收服务器不处理未通过 SPF 验证的邮件,仍然可以伪造添加了 SPF 记录的域。QQ邮箱如果SPF校验失败,直接拒绝接收邮件,但Gmail还是可以接收的。这里需要注意的是电子邮件程序是啥意思,如果SPF配置为~all,则表示接收来信,但如果被标记,则QQ邮箱会收到此类伪造邮件,但会被放入垃圾邮件中。

    如何检测到 0x04?

    这里有一个可以用来检测域名是否可以伪造的工具:spoofcheck,使用起来很简单,比如百度:

    如何解决 0x05?

    为了防止域名被伪造,需要为域名正确配置SPF、DKIM、DMARC。仅配置 SPF 是不够的。SPF的配置请参考这里。DKIM的配置请参考这里。DMARC 的配置请参考这里。

    0x06 参考

    1、

    2、

    3、

    4、

    5、

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 造成发件人伪造的成因,到底是谁在给你发邮件么?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论