新闻快讯
< >

邮件地址解析存Mailsploit漏洞,影响全球33个邮件客户端

        

邮件地址解析存Mailsploit漏洞,影响全球33个邮件客户端-E安全

德国安全研究人员Sabri Haddouche已经发现了一系列漏洞,他统称为Mailsploit。允许攻击者欺骗电子邮件身份,并在某些情况下,在用户的计算机上运行恶意代码。

虽然,Mailsploit的远程代码执行部分是令人担忧。但真正的问题是电子邮件欺骗攻击,它绕过了几乎所有现代反欺骗保护机制,如DMARC(DKIM / SPF)或各种垃圾邮件过滤器。

这使得攻击者能够发送具有欺骗性身份的电子邮件,使得用户和电子邮件服务器很难检测出其实质上是假冒的,这反过来又使得钓鱼攻击和恶意软件邮件更加难以被发现。

Mailsploit如何工作

Mailsploit漏洞源于电子邮件服务器如何解释采用RFC-1342编码的电子邮件地址。这是1992年开始采用的一个标准,它描述了一种在电子邮件标题中编码非ASCII字符的方法。

通过规则,邮件头中包含的所有内容必须是ASCII字符。在发送电子邮件时,RFC-1342自动将非ASCII字符转换为标准ASCII字符,以避免使用非ASCII字符主题或电子邮件地址的电子邮件在通过邮件服务器时发生错误。

Haddouche发现大量的电子邮件客户端会采用RFC-1342编码的字符串,将其解码为非ASCII状态,但之后不会对其进行清理以检查恶意代码。

此外,如果RFC-1342解码的电子邮件字符串包含空字节或者是两个或两个以上的电子邮件地址时,电子邮件客户端将只读取空字节之前的电子邮件地址或其遇到的第一个有效电子邮件地址。

这意味着攻击者可以创建一个欺骗性电子邮件地址,RFC-1342编码的字符串如下:

From:=?utf-8?b?cG90dXNAd2hpdGVob3VzZS5nb3Y =?==?utf-8?Q?= 00?==?utf-8?b?cG90dXNAd2hpdGVob3VzZS5nb3Y =?= @ mailsploit.com

电子邮件客户端解码后则为:

From:potus @ whitehouse.gov \ 0(potus @ whitehouse.gov) @ mailsploit.com

脆弱的电子邮件客户端解析这些字符串将只读取第一个电子邮件地址(potus@whitehouse.gov),而忽略真实的地址(@ mailsploit.com)。简单来说,攻击者可以通过这种方式,将自己真实的发件地址隐藏,而伪装成另外一个发件地址(比如,来自企业、政府或其他合法的个人或组织)。

如上所述,原因来自空字节(\ 0)或者是因为potus@whitehouse.gov是电子邮件客户端遇到的第一个有效的电子邮件地址,导致其忽略了字符串的其余部分。

全球33个电子邮件客户端和Web服务受影响

Haddouche在今年早些时候发现了Mailsploit漏洞,并说对一些电子邮件客户端和Web服务进行了测试。下图Haddouche的完整测试结果,你也可以通过以下链接进行查看:

https://docs.google.com/spreadsheets/d/1jkb_ZybbAoUA43K902lL-sB7c1HMQ78-fhQ8nowJCQk/htmlview?sle=true

邮件地址解析存Mailsploit漏洞,影响全球33个邮件客户端-E安全

尽管Haddouche联系了所有易受攻击的电子邮件客户端和Web服务运营商,但在最终发布的33个的补丁中只有8个用于修复了电子邮件地址解析错误问题。

其他12家供应商对这个漏洞进行了分类管理,但是并未打算在解决这个问题前做出任何回应,另有12家供应商甚至不承认Haddouche提交的漏洞报告。

比如,Mozilla和Opera从一开始就表示,他们不会修复这个漏洞,因为他们认为这是一个服务器端问题。

DMARC将不会检测到电子邮件欺骗

更糟糕的是,利用Mailsploit漏洞编码的电子邮件地址对运行反欺骗协议(如DMARC)的现代电子邮件服务器同样有效。

“这并不是说DMARC会直接受到攻击,而是被绕过,在欺骗性电子邮件中仍然显示了合法的发件人名称。”Haddouche解释说,“服务器仍只会去验证原始地址的DKIM签名,而不是用于欺骗的地址。”

Haddouche说:“这使得这些欺骗性电子邮件在目前来说几乎是不可阻挡的。”

Mailsploit也可以在一些机器上运行代码

此外,Mailsploit漏洞不仅允许攻击者在电子邮件的“From:”字段中隐藏多个电子邮件地址,也允许他们隐藏恶意代码。

一些电子邮件客户端在清理解码后的字符串方面做得非常差,可能会导致这些恶意代码能够在用户的计算机上运行,进而带来例如XSS和其他代码注入攻击。