微软、谷歌OAuth漏洞被用于钓鱼攻击
2021-12-14 13:54:12 Author: www.4hou.com(查看原文) 阅读量:9 收藏

Authentication

微软、谷歌OAuth漏洞被用于钓鱼攻击。

Proofpoint研究人员发现一系列针对弱OAuth 2.0实现的URL重定向攻击。攻击可以让钓鱼检测和邮件安全解决方案,并使受害者感觉钓鱼URL看起来是合法的。相关的攻击活动目标包括Outlook Web Access、PayPal、Microsoft 365和Google Workspace。

攻击流程

OAuth 2.0 被广泛应用于授权协议中,认证协议允许web或桌面客户端对终端用户控制的资源进行访问,包括邮件、联系人、个人简介、社交媒体账号等。

认证特征依赖于用户对特定应用的授权访问,会创建一个访问token,其他网站可以用该token来访问用户资源。在开发OAuth应用时,开发者可以根据其需要选择不同的可用流类型,具体流程如下所示:

Microsoft's OAuth flow

微软 OAuth流程

OAuth流程要求app开发者定义特定的参数,比如唯一的客户端ID、访问和成功认证后打开的重定向URL。

Proofpoint安全研究人员发现攻击者可以修改有效授权流程中的参数,触发受害者重定向到攻击者提供的站点或者在注册的恶意OAuth app中重定向URL。

受害者点击看似合法的属于微软的URL后,就会错误地认为该URL是合法的,就会被重定向到恶意站点。重定向可以通过修改'response_type'查询参数来触发,在经过微软授权后,受害者就会进入一个钓鱼页面。

如果 'scope' 参与被编辑来触发一个无效参数("invalid_resource")错误。

Authentication flow parameters

微软OAuth认证流程参数

所有的第三方应用都是通过一个缺失response_type查询参数的URL来分发的,目的是重定向受害者到不同的钓鱼URL。

Microsoft consent screen during authentication

微软在认证过程中现实的用户知情同意

第三方攻击场景是用户在知情同意页面点击取消,也会触发一个到恶意应用URL的重定向。Proofpoint研究人员解释说在授权开始前触发重定向也是有可能的,具体过程与选择的OAuth有关。比如,在Azure Portal的流程中,通过在认证流程中使用修改的OAuth URL来产生错误,钓鱼攻击活动就可以展现看似合法的URL,最终重定向用户到窃取用户登录凭证的加载页面。

这些攻击并不是理论上的,Proofpoint研究人员已经发现了利用该漏洞重定向用户到钓鱼页面的现实攻击。

扩展问题

其他OAuth提供商也受到类似漏洞的影响,使得其很容易创建重定向到恶意网站的可信URL。比如,GitHub允许任何人注册OAuth app,包括创建重定向用户到钓鱼URL页面的APP的攻击者。

然后,攻击者可以创建含有看似合法的重定向URL的OAuth URL,GitHub会使用app定义的重定向URL。对用户来说,URL看似是合法的和可信的。

攻击者利用谷歌来注册OAuth应用和设置到恶意URL的'redirect_uri'就更加简单了。因为谷歌并不验证URL,因此URL可以是钓鱼页面,恶意软件页面或其他页面。

Setting a malicious redirect-uri parameter

设定恶意重定向URI参数

完整技术细节参见:http://www.proofpoint.com/us/blog/cloud-security/microsoft-and-github-oauth-implementation-vulnerabilities-lead-redirection

本文翻译自:https://www.bleepingcomputer.com/news/security/microsoft-google-oauth-flaws-can-be-abused-in-phishing-attacks/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/VnrB
如有侵权请联系:admin#unsafe.sh