恶意软件滥用 Google OAuth 端点“恢复”cookie、劫持帐户

多个信息窃取恶意软件系列正在滥用名为“MultiLogin”的未记录的 Google OAuth 端点来恢复过期的身份验证 cookie 并登录用户帐户(即使账户密码已被重置)。

科技网站BleepingComputer 指出,他们在今年 11 月底曾报道了两名黑客:Lumma 和 Rhadamanthys,两人声称可以恢复在攻击中窃取的过期谷歌验证 cookie。即使合法所有者已经注销、重置密码或会话过期,这些 cookie 仍可让网络犯罪分子在未经授权的情况下访问谷歌账户。但在这一个多月来,BleepingComputer曾多次联系谷歌,询问相关说法的真实性以及他们计划如何缓解这一问题,却从未收到过回复。

CloudSEK 研究人员日前发布的一份报告则进一步揭示了这种零日漏洞利用的工作原理,并描绘了有关其利用规模的可怕景象。10 月 20 日,一个名为 PRISMA 的威胁行为者首次披露了这一漏洞称,他们发现了一种恢复过期谷歌验证 cookie 的方法。

对漏洞进行逆向工程后,CloudSEK 发现它使用了一个名为“MultiLogin”的未记录的 Google OAuth 端点,该端点旨在通过接受帐户 ID 和 auth-logintokens 向量来同步不同 Google 服务之间的帐户。

“此请求用于在多个 Google 网站(例如 YouTube)的 Google 身份验证 cookie 中设置浏览器中的 Chrome 帐户。”

“这个请求是 Gaia Auth API 的一部分,只要 cookie 中的帐户与浏览器中的帐户不一致就会触发。”

CloudSEK 表示,滥用该终端的信息窃取恶意软件会提取登录到谷歌账户的 Chrome 配置文件的 tokens 和账户 ID。这些被盗信息包含两个关键数据:service (GAIA ID) 和 encrypted_token。

加密令牌使用存储在 Chrome 浏览器"Local State"文件中的加密密钥进行解密。同样的加密密钥也用于解密浏览器中保存的密码。利用窃取的 token:GAIA 与多重登录端点配对,威胁行为者可以重新生成过期的 Google Service cookies,并保持对受损账户的持久访问。

CloudSek 研究员 Pavan Karthick 表示,他们对该漏洞进行了逆向工程,并能够使用它来重新生成过期的 Google 身份验证 cookie,如下所示:

Karthick 解释称,如果用户重置其 Google 密码,身份验证 cookie 只能重新生成一次。否则,它可以多次重新生成,从而提供对帐户的持久访问。

Lumma stealer 于 11 月 14 日首次利用了该漏洞,Radamanthys 是第一个在 11 月 17 日效仿的人;此后还有 12 月 1 日的 Stealc、12 月 11 日的 Medusa、12 月 12 日的 RisePro 和 12 月 26 日的 Whitesnake。因此,目前至少有 6 个信息窃取者声称能够使用此 API 端点重新生成 Google cookie。

此后,Lumma 还发布了该漏洞的更新版本:转而使用 SOCKS 代理来逃避 Google 的滥用检测措施,并在恶意软件和 MultiLogin 端点之间实现加密通信;以抵消谷歌的缓解措。

BleepingComputer 认为,这实际上也表明,谷歌方面是知道这一漏洞的存在的。但该公司尚未确认 MultiLogin 端点被滥用的这一事件,因此目前该漏洞利用的状态及其缓解措施仍不清楚。