在过去的几个月里,我们做了一些有关创建网络钓鱼电子邮件的研究,这些创建的钓鱼邮件足以欺骗那些专业的安全人员。因此,我们正在研究一个相当古老的安全话题:Punycode域和IDN同形异义词攻击。
Punycode是一种特殊的编码,用于将Unicode字符转换为ASCII。这里使用bücher.example的示例域来说明其编码过程。
bücher转换为Punycode结果为bcher-kva。然后以xn--为前缀,生成xn--bcher-kva。因此DNS记录为xn--bcher-kva.example。
但这也可以用来欺骗用户访问恶意的URL。2017年,Xudong Zheng撰写了一篇关于使用Unicode域进行网络钓鱼的博文。他们为apple.com创建了一个PoC域,并使用了西里尔字母‘a’ – ,而浏览器以Unicode表示,这使得即使是有经验的用户也很难发现攻击。与此同时,除Firefox之外的所有浏览器都默认以Punycode表示,虽然这消除了Web浏览器中的大多数攻击。但针对邮件的欺骗攻击呢?
可以说Unicode域似乎是实现近乎完美的网络钓鱼邮件的一种方法。
为了创建一个PoC,我们注册了域а1.digital,其中‘а’等同于西里尔字母的а (U+0430)。
我们感兴趣的是主流的电子邮件客户端是如何处理从Punycode域发送的电子邮件的,以及他们采用哪种安全机制来通过此特定向量发现潜在的网络钓鱼攻击。
我们查看了以下产品:
Outlook for Windows
Outlook Mobile
Office365 Web (outlook.office365.com)
Gmail Web
Gmail Android
Mail for iPhone
Thunderbird
我们测试了不同的向量:
发送电子邮件使用Punycode编码的“FROM”字段 (示例:FROM: Bud Spencer <[email protected]>)
发送电子邮件使用Unicode编码的“FROM”字段 (示例:FROM: Bud Spencer <bud.spencer@а1.digital>)
发送带有合法“FROM”字段的电子邮件,但使用Punycode编码或Unicode编码的电子邮件地址伪造“Reply-To”(示例:FROM: Bud Spencer <[email protected]>, Reply-To: Bud Spencer <[email protected]>)
场景如下:Bud Spencer([email protected])受到恶意攻击者的冒充,Terence Hill写了一封包含以下内容的电子邮件:
Hello Terence,
You can find the registration link for our security awareness training below:
https://а1.digital/security-awareness-training
Kind Regards
Bud
结果如下表:
在下文中,我们将介绍此研究的详细结果,包括测试应用程序的屏幕截图以及成功的攻击向量。
Outlook for Windows
测试版本为:Office 365 16.0.11328.20286
以下电子邮件是使用Punycode编码的“FROM”字段发送的
如上所示,Outlook会向用户发出警告。但大多数用户都不会注意到警告。我们进行下改进,使用合法的“FROM”字段但“Reply-To”字段使用Punycode编码,创建内容如下:
可以看到没有警告!以下截图显示,在回复假电子邮件时无法识别攻击。请注意,在该示例中,受害者正在回复攻击者。
注意:Outlook 2016在收到上述假电子邮件时以Punycode表示。使用Unicode编码的“FROM”字段感知网络钓鱼电子邮件时,攻击将无法识别。
Outlook Mobile for Android
测试版本为:3.0.63 (319)
测试电子邮件分别以Unicode和Punycode编码发送。但是,如下所示Outlook for Android始终以Punycode表示,允许用户检测攻击。
Office365 Web (outlook.office365.com)
下面的电子邮件是使用а1.digital的Unicode表示发送的 – 在这种情况下,用户无法识别此网络钓鱼电子邮件,即使在回复时也是如此。
Gmail Web
而Gmail就非常有意思了 – 它是目前使用最广泛的网络邮件之一。收到电子邮件(Punycode发件人,以Unicode格式发送时,Gmail服务器将不会接受该电子邮件)时,无法检测到网络钓鱼攻击。此外,Google垃圾邮件保护服务也未将其归类为垃圾邮件。
在扩展的详细信息中可以看到,电子邮件是由xn--1-7sb.digital签名的 – 这是因为DKIM签名。我们使用了一个外部电子邮件提供商签名所有传出邮件 – 我们当然可以在设置我们自己的电子邮件服务器时停用它,这将会让攻击更为隐蔽。缺点是,如果没有有效的DKIM签名,SPAM得分就不会那么好。
最有意思的是,在回复网络钓鱼邮件时,Gmail会通过以下消息警告用户:
受害者一旦回复了此钓鱼邮件,在回复其他来自发送者的电子邮件时将不会触发警告。
Gmail Android
测试版本为:2019.04.28.246421133.release
如上所示,Gmail web界面提供了良好的安全功能,可在回复此类网络钓鱼电子邮件时向用户发出警告。Gmail for Android则没有提供该功能。在我们的测试中,我们无法触发类似以上的警告,这也是我们向Google发送报告的原因。经过一番讨论,谷歌回应说,他们正在研究这个问题,并且可能会提供修复。
Mail for iPhone
IMail在测试时并不容易受到这种攻击,并且显示发送者的Punycode表示。
Thunderbird
测试版本为:60.6.1 (32-bit)
使用Unicode编码发送网络钓鱼电子邮件时,无法在Thunderbird中检测到此类攻击。
回复此电子邮件如下所示:
总结
该研究表明,使用IDN Homograph攻击的复杂网络钓鱼攻击很容易实现。 像Outlook和Thunderbird这样的供应商尚未实施有意义的对策来允许检测此类攻击。这种鱼叉式网络钓鱼的强大之处在于,双向交互是可能的 – 我们实际上可以接收到对网络钓鱼电子邮件的回复,从而允许更高级的攻击,并为创建有针对性的网络钓鱼活动开辟新的途径。
*参考来源:offensity,FB小编secist编译,转载请注明来自FreeBuf.COM
来源:freebuf.com 2019-06-19 13:00:28 by: secist
请登录后发表评论
注册