雷锋网注:本文由安全客翻译,获授权发布,原文链接[传送门]。
攻击事件概述
根据安全研究专家的最新发现,网络犯罪分子们目前正在利用一种经过特殊设计的URL链接来对Gmail用户进行网络钓鱼攻击。当用户点击了恶意链接之后,攻击者会诱使他们输入自己的Gmail邮箱凭证,然后获取到目标用户的邮箱密码。需要注意的是,它与之前那些网络钓鱼攻击不同,这是一种非常复杂的新型网络钓鱼攻击,即使是一些专业的安全技术人员也有可能会被攻击者欺骗。
攻击技术分析
攻击者会制作一个钓鱼网页,然后利用精心设计的URL地址来欺骗用户访问该页面,然后输入自己的账户凭证,这也是网络钓鱼攻击者惯用的伎俩。可能很多人读到这里,都会觉得钓鱼攻击离自己非常遥远,甚至会认为自己永远都不会遇到网络钓鱼。但是安全研究专家表示,他们所发现的这种新型网络钓鱼活动其攻击效率非常高,而且很多懂技术的人也难以幸免。
在这种攻击场景中,恶意信息是从目标用户通讯录中某位联系人的邮箱地址发送过来的,攻击者会在恶意邮件中添加看起来像一个PDF文档的图标。当用户打开了这封邮件之后,用户可以直接在Gmail邮箱中点击这个伪装PDF文档的图片。当目标用户点击了邮件信息中的“attachment”(附件)图标之后,用户会被重定向至一个由攻击者控制的Gmail邮箱钓鱼页面。
WordFence在其发布的研究报告中写到:“当你点击了这个“附件”之后,你会希望Gmail将邮件附件的内容以文件预览的形式显示给你。但事实并非如此,当你点击之后,浏览器会在一个新标签页中打开一个Gmail邮箱钓鱼页面,并要求你再次进行Gmail邮箱登录。一般来说,你会再检查一次浏览器的地址栏,以确定地址中标有“accounts.google.com”等字样。当你再一次完成了登录操作之后,攻击者也就成功地获取到了你的账号凭证。”
技术详解
一切开始于一封看起来极其普通的电子邮件,唯一存在疑点的就是邮件中的那个附件文档。由于我自己并不使用Gmail,所以我得用RoundCube邮箱客户端来打开附件,但此时这个附件并不会正常工作。所以攻击者的目标必须是Gmail邮箱的用户,而且他必须将邮件制作成如下图所示的样子:
问题就在这了,邮件下方这个所谓的“附件”其实就是一张图片。其相应的源码如下:
嵌入其中的URL在经过两次重定向之后才会到达目的地址,这种技术也是钓鱼攻击中常用的技术,因为在第一地址不可达的时候它会动态跳转到后背地址。可怕的地方就在于,这个附件图标所指向的URL地址从表面上看是一个合法地址:
此时,用户的浏览器并不会显示任何的证书警告。安全研究专家经过分析之后发现,上面这个URL地址看起来并没有什么问题,但是它只是整个URL地址的一部分,它后面还跟有很多空格符,这样就可以防止目标用户看到地址中的可疑字符串以及一个经过代码混淆的脚本,而这个脚本可以在目标用户的浏览器中新建一个标签页,然后在新标签中打开一个Gmail邮箱钓鱼页面。
攻击者对他所使用的JavaScript脚本进行了简单的混淆处理,但其实我们不需要对代码进行反混淆也能够知道这段代码想要做什么。
最后,代码会被解析为一个简单的iframe,这部分代码是直接从Google网站上复制过来的,但是攻击者需要将用户信息发送给远程服务器中的1.php文件来进行处理,这也是钓鱼攻击中常见的文件名,因为他们通常都很懒。
演示视频
需要注意的是,这种类型的攻击并不是最近才出现的,早在去年的七月份就已经有不少的受害者报告过类似的攻击事件了。
这种攻击技术的一个主要特点就是,网络犯罪分子在获取到用户的Gmail凭证之后,会立刻登录该邮箱,然后再向该用户的所有联系人发送钓鱼邮件。但是目前我们还不清楚攻击者是否实现了整个攻击过程的自动化。
安全专家Tom Scott在其Twitter上写到:“这是我有生以来第一次如此地接近Gmail钓鱼攻击,要不是我的显示器分辨率非常高而让这个附件图标失真了,否则我也不会发现任何的异常,估计我也就成为这种钓鱼攻击的受害者。”
双因素身份验证(2FA)是否有效?
与之前一样,我们建议广大用户尽可能地开启Gmail邮箱的双因素身份验证(2FA)功能,以此来避免自己成为这种新型网络钓鱼攻击的受害者。但是,如果网络犯罪分子能够立刻访问被入侵的邮箱账号,那么他们同样可以在钓鱼页面中显示双因素身份验证码。
一位安全研究人员在接受Hacker News的采访时说到:“双因素身份验证机制可以增加这种钓鱼攻击的难度,但是网络钓鱼攻击也在变得越来越高端了。犯罪分子可以捕获你所输入的双因素身份验证码,然后立刻利用你的2FA验证码和邮箱凭证建立一个新的通信会话。因此,硬件2FA(类似U盾)也许是防止这种钓鱼攻击的唯一方法。”
实际上,Google早在2016年3月份就已经发现了这种新型的网络钓鱼攻击。正因如此,Chrome安全团队才会在浏览器地址栏中用“Not Secure”标签来标识那些包含“data:”、“blob:”以及其他标签的URL地址,因为钓鱼攻击者很有可能利用这些地址来进行黑客攻击活动。
如何保护你自己
当你在登录任何网络服务的时候,一定要检查浏览器地址栏是否有异常,然后验证协议和主机名的合法性。当你用Chrome浏览器登录Gmail邮箱的时候,地址栏所显示的内容应该如下图所示:
而网络钓鱼攻击者会使用各种各样的方法来显示不安全页面的协议,比如说在协议上用红线划过等等,如下图所示:
在本文所描述的攻击场景中,用户根本就不会看到任何的红色或者绿色标记。他们只会看到一行普通的文本地址,具体如下图所示:
因此,这也就是为什么这种攻击技术如此奏效的原因之一。此时,你要确保主机名“accounts.google.com”之前没有其他一些不该出现的标签,然后确保协议为HTTPS协议,并且前面要有一个绿色的logo锁(不光要是绿色的,而且还要在地址的最左侧)。如果你无法验证协议和主机地址的合法性,那么你就应该停下手中的操作,然后好好想想你是怎么来到这个页面的。
如果可以的话,开启你每一个网络服务的双因素身份验证功能。Gmail邮箱称其为“两步验证”,你可以参考教程来开启该功能。
如何了解自己的账号是否被入侵了?
对于普通用户来说,目前还没有什么方法可以查看自己的账号是否被入侵了,你唯一能做的就是立刻修改邮箱的密码。一般来说,你应该每隔几个月就修改一次密码。
如果你使用的是Gmail的话,你可以查看邮箱的登录操作记录来确定除了你之外是否还有其他人登录过你的邮箱。除此之外,你也可以访问安全专家Troy Hunt所搭建的网站,这个网站在安全圈内非常有名,你只需要输入自己的邮箱地址,然后点击“查询”按钮,你可以在该网站的数据库中查看自己的邮箱数据是否发生了泄漏。
参考链接:itsjack.cc/