他居然发邮件请我去吃饭——邮件伪造那些事儿

今天中午吃午饭的时候,突然收到一封邮件,我一看,不得了啊,居然是美国前总统给我发来的邮件,还说要我助他一臂之力成为新总统。下午再看他的新闻,感觉他现在都自身难保了,怎么会请我吃饭呢?于是怀疑这封邮件是伪造的…

第一阶段:怀疑“李鬼”域名

刚开始我想是不是有人注册了和真实域名看起来很像的域名。通过比对这些字符的ASCII码,发现没问题啊,不是“李鬼”啊。

第二阶段:查看邮件真面目

先导出eml文件,然后双击打开看看。

看不出什么啊,这是因为打开方式不对啊。

用记事本打开,或者直接点击**【显示邮件原文】**。

初步看起来没什么问题,难道这封邮件是真的?还是他们的邮箱系统被黑客控制了?

第三阶段:原来是SMTP的锅~

其实这是利用了简单邮件传输协议 (SMTP) 中的漏洞,因为简单邮件传输协议 (SMTP) 不提供地址验证机制。尽管已经开发了电子邮件地址身份验证协议和机制来对抗这些邮件伪造,但这些机制的效率很低。

通常攻击者会伪造“From” , “Return-path”和 “Reply-to”字段,如果没有启用验证机制,那么你的邮箱就会直接解析这些字段。

图片来源:What is SMTP: Types, Components, & How it Works

https://www.mailmodo.com/guides/smtp/

那么SMTP发送邮件的流程是怎么样的呢?

如何使用SMTP发送电子邮件?
通过SMTP端口发送电子邮件的过程包括以下连续的步骤。
首先在邮件传输代理(MTA)程序的帮助下,用户发送一封电子邮件。邮件的内容由两部分组成,即邮件标题和邮件正文。标题是邮件的主题,而正文是主要内容。发件人和收件人地址也在邮件头部分。标头就像一个信封,装着信件(信息)。
然后邮件客户端(邮件用户代理,MUA)使用TCP端口587或传统端口25的SMTP将邮件提交给邮件服务器(被称为邮件提交代理,MSA)。MSA进一步将邮件传递给其邮件传输代理,MTA。
电子邮件地址有两个部分分别是收件人的用户名和域名。例如,test@gmail.com,'test’是用户名,而’gmail.com’是域名。

如果收件人的电子邮件地址的域名与发件人的域名不一致,那么邮件提交代理(MSA)将把邮件发送到(MTA)。MTA将搜索特定的域名来转发该邮件,分为下面两个步骤:

  • 首先,检查域名系统(DNS)的MX记录以获得目标域。MX记录包含收件人的域名和IP地址。
  • 一旦找到,MTA就与交换服务器建立连接并转发件。这种从一个SMTP服务器到另一个SMTP服务器的邮件传输被称为SMTP中继。而为了保持你的邮件顺利送达,有较高的送达率,可能需要SMTP中继服务。

第四阶段:怎么防范?

域名所有者也可采取措施来防止攻击者从其域发送消息。为此,组织可创建专用于身份验证的域名系统(DNS)记录。有三种主流的安全措施:

  • SPF

  • DKIM

  • DMARC

发件人策略框架(SPF)是Sender Policy Framework 的缩写,是一种依据IP地址进行认证的机制。邮件接收方会列出该邮件发送方域名被授权的服务器IP,并判断发送方IP是否在该列表中,如果在,就接收,不在,就退回。

我们能够看到发送邮件的服务器IP是来自杭州的,老川现在还在美国惹上麻烦事了,应该不会用阿里云的服务器做邮箱服务器吧~

域名密匙确认邮件(DKIM)使用一对密钥来进行身份验证,将公钥放置在DKIM记录中,然后发送方对DKIM头使用私钥进行数字签名。如果是假冒的,DKIM记录中的公钥就能确实私钥是错误的,邮件是伪造的。

基于域名的消息认证报告与一致性(DMARC)记录(Domain-based Message Authentication, Reporting & Conformance)是一种基于现有的SPF和DKIM协议的可扩展电子邮件认证协议。其核心思想是邮件的发送方通过特定方式(DNS)公开表明自己会用到的发件服务器(SPF)、并对发出的邮件内容进行签名(DKIM),而邮件的接收方则检查收到的邮件是否来自发送方授权过的服务器并核对签名是否有效。对于未通过前述检查的邮件,接收方则按照发送方指定的策略进行处理,如直接投入垃圾箱或拒收。从而有效识别并拦截欺诈邮件和钓鱼邮件,保障用户个人信息安全。

参考:

https://www.mailmodo.com/guides/smtp/

https://www.cloudflare.com/zh-cn/learning/email-security/what-is-email-spoofing/

https://www.usenix.org/conference/usenixsecurity21/presentation/shen-kaiwen

https://xz.aliyun.com/t/6325/

他居然发邮件请我去吃饭——邮件伪造那些事儿相关推荐

  1. 舌尖上的职场(二)一起去吃饭吧!(转)

    "我每次去新的工作现场,一定会先请大家去吃饭喝酒,而不是直接开始工作."一位项目管理高手这样说. 在日本工作的时候,曾读过一篇访谈录.采访对象是一位日本顶尖IT公司的高级项目经理. ...

  2. 舌尖上的职场(二)一起去吃饭吧!

    "我每次去新的工作现场,一定会先请大家去吃饭喝酒,而不是直接开始工作."一位项目管理高手这样说. 在日本工作的时候,曾读过一篇访谈录.采访对象是一位日本顶尖IT公司的高级项目经理. ...

  3. Java实现发电子邮件,快去给你好基友发一封邮件~

    第一步   第二步   第三步   第四步(写上我框住的代码) 注意:   如果在看的各位是第一次使用 maven来制作.你就需要等等,因为它需要加载. 有可能你一写上去,我让你瞧代码可能会冒红,原因 ...

  4. “任何人请你去他家吃饭,都别空着手去“怎么看待这句话?

    有人嚷嚷,到我家吃饭去,毫不客气,嘴这么说,主人心里是不愿意的,你不空手去,还能买多少东西,买好东西很贵,买便宜的,人家不稀罕. 有理无理,是亲戚也好,是朋友也吧,碰到了,客气话, 走,到我们家去,吃 ...

  5. 【论坛转贴】IP spoof欺骗关于修改ip源向网页post的方法,伪造虚假IP来源!可用于群发发贴机拱贴机邮件EMail群发!!!!!!

    [论坛转贴]IP spoof欺骗,关于修改ip源向网页post的方法,伪造虚假IP来源!可用于群发发贴机拱贴机邮件EMail群发!!!!!! 现在我急需这段程序,有好心的人帮我解决一下吗     这是 ...

  6. 邮箱服务器退回,发出去的邮件为什么被退回?

    一.己方问题 邮件的收件人地址错误是造成退信的主要原因. 收件人的邮箱地址一般格式为name@domain.com,其中name为收件人的邮箱名,domain.com为收件人邮箱服务商的域名.这两部分 ...

  7. 面试后要请你吃饭_请面试官吃饭应该聊些什么?

    我猜测题主的场景是,在面试之后,正好到了吃饭点,正好面试官也要吃饭了,就请面试官一起吃饭,顺道继续推销一下自己,饭桌上怎么聊天? 简单说:不要请面试官吃饭,除非面试官主动邀请你吃饭 为什么不要请面试官 ...

  8. 用outook发邮件能撤回吗?邮件怎么撤回技巧

    刚发完邮件,想起来漏了一些重要内容: 邮件发出去才检查出有数据错误.错别字等: 邮件错发给了其他人:邮件没写完,误点了"发送": 如果你用的TOMVIP邮箱,遇到这些情况就不用担心 ...

  9. python-使用python实现发普通邮件和带附件的邮件

    下面是发普通邮件的代码: import smtplib from email.mime.text import MIMEText from email.header import Header #引入 ...

最新文章

  1. Windows 10企业批量部署实战之WDS安装
  2. linux下tomcat安装
  3. qt文件逐行读取_qt读取txt文件并绘图 qt逐行读取txt文件
  4. SAP CX Upscale Commerce : SAP全新推出的电商云平台
  5. 2013 822 划分子网
  6. 20171116-构建之法:现代软件工程-阅读笔记
  7. iPhone开发 调用wcf服务
  8. python 迭代多个对象
  9. 做游戏,学编程(C语言) 4 flappy bird
  10. 压缩 质量不变_来了!业内首个HEIF图像高质量压缩FPGA加速方案
  11. JVM常用的配置参数整理
  12. java 带参数转发_Nginx 根据URL带的参数转发的实现
  13. 二十四、JAVA集合框架(四)
  14. node 多进程 vs java_多进程 VS 多线程 VS 线程池 VS EventLoop
  15. RTI公司任命Elektrobit前首席执行官Alexander Kocher为其顾问委员会成员
  16. 论文写作——1 论文的框架与introduction段落安排
  17. 2018年sfdc工作总结_前端绑数据 前端定义勿用驼峰命名法
  18. 学习PPT,这些制作设计技巧需先掌握
  19. 旋转矩阵、欧拉角、旋转矢量及四元数的介绍和工程应用
  20. IE 下 SELECT 小箭头乱码

热门文章

  1. NOIp(lus)2017总结
  2. z8300平台驱动linux,为Z8300平板做个简单的linux系统
  3. python-删除列表中的重复值
  4. 高分辨轨道阱液质联用质谱仪-HFX
  5. BI软件中的管理驾驶舱是什么?有什么特点?
  6. 【转】中国传统色彩名录
  7. 频谱分析幅值单位_Chapter1|1.1 声音的时间和频谱特征
  8. 变频器按启动没反应_变频器常见故障处理
  9. 谁知道哪能下到英英字典的数据库呀?
  10. Java_银行新用户业务办理代码