根据BruteCat安全研究人员本周披露的报告,谷歌账户恢复系统中存在一个高危漏洞,攻击者可通过精心设计的暴力破解攻击获取任意谷歌用户的手机号码。该漏洞现已被修复,其利用谷歌的无JavaScript(No-JS)用户名恢复表单绕过安全防护机制,窃取敏感个人信息。
漏洞原理分析
该漏洞存在于谷歌遗留的无JavaScript用户名恢复系统中。研究人员发现,这个被遗忘的接口可被操纵来验证特定手机号是否与特定显示名称相关联,从而为系统化的手机号枚举创造了条件。
攻击实施步骤
攻击方法包含三个关键环节:
- 通过Looker Studio转移文档所有权获取目标谷歌账户显示名称(无需受害者任何交互)
- 发起谷歌密码找回流程获取部分掩码处理的手机号提示(仅显示末尾几位数字)
- 使用名为"gpb"的自定义工具,根据已知显示名对完整手机号进行暴力破解
绕过防护机制的技术手段
研究人员通过两项关键技术突破谷歌的速率限制防护:
- 利用IPv6地址范围提供超过18万亿个唯一IP地址,实现每次请求切换不同IP,有效规避谷歌反滥用机制
- 发现JavaScript表单的botguard令牌可复用于无JS版本,从而规避验证码挑战
攻击效率与影响范围
该攻击效率惊人,研究人员使用每小时0.3美元的低配服务器即可实现每秒约4万次验证尝试。根据国家代码不同,完整手机号获取时间从新加坡等小国的数秒到美国约20分钟不等。
漏洞修复与响应
谷歌于2025年4月14日收到漏洞报告后迅速响应:
- 立即实施临时缓解措施
- 2025年6月6日完全弃用存在漏洞的无JS用户名恢复表单
- 初始奖励337美元,经研究人员申诉后提升至5000美元(基于该攻击无前置条件且难以检测的特性)
此事件凸显了遗留系统带来的持续安全挑战,以及对所有服务端点(包括看似过时或极少使用的接口)进行全面安全审计的重要性。