微软、谷歌OAuth漏洞被用于钓鱼攻击。
Proofpoint研究人员发现一系列针对弱OAuth 2.0实现的URL重定向攻击。攻击可以让钓鱼检测和邮件安全解决方案,并使受害者感觉钓鱼URL看起来是合法的。相关的攻击活动目标包括Outlook Web Access、PayPal、Microsoft 365和Google Workspace。
攻击流程
OAuth 2.0 被广泛应用于授权协议中,认证协议允许web或桌面客户端对终端用户控制的资源进行访问,包括邮件、联系人、个人简介、社交媒体账号等。
认证特征依赖于用户对特定应用的授权访问,会创建一个访问token,其他网站可以用该token来访问用户资源。在开发OAuth应用时,开发者可以根据其需要选择不同的可用流类型,具体流程如下所示:
微软 OAuth流程
OAuth流程要求app开发者定义特定的参数,比如唯一的客户端ID、访问和成功认证后打开的重定向URL。
Proofpoint安全研究人员发现攻击者可以修改有效授权流程中的参数,触发受害者重定向到攻击者提供的站点或者在注册的恶意OAuth app中重定向URL。
受害者点击看似合法的属于微软的URL后,就会错误地认为该URL是合法的,就会被重定向到恶意站点。重定向可以通过修改'response_type'查询参数来触发,在经过微软授权后,受害者就会进入一个钓鱼页面。
如果 'scope' 参与被编辑来触发一个无效参数("invalid_resource")错误。
微软OAuth认证流程参数
所有的第三方应用都是通过一个缺失response_type查询参数的URL来分发的,目的是重定向受害者到不同的钓鱼URL。
微软在认证过程中现实的用户知情同意
第三方攻击场景是用户在知情同意页面点击取消,也会触发一个到恶意应用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可以是钓鱼页面,恶意软件页面或其他页面。
设定恶意重定向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/如若转载,请注明原文地址