一个虫子赏金猎人在Android生态系统中的休闲旅程导致了30,000美元的奖励
由于发现了一个安全问题,已授予超过30,000美元的奖励,该问题使攻击者能够向Android用户发送质量通知。
该错误,影响了移动的在Google的Firebase平台上开发的应用程序,使攻击者能够向所有应用程序用户发送推送通知,而不管他们是否已订阅。
火箱是Google的旗舰移动应用程序开发平台,其中包括消息传递功能,数据库管理和云服务。
在技术上博客文章,安全研究员Abhishek“腹肌达拉尼(Dharani)解释了随意的研究和对Android应用程序的“摆弄”如何导致了令人印象深刻的支出。
成功的关键
受到启发#AndroidHackingMonth,Dharani通过Android测试博客“翻译”,利用通过Android APK的数据集可用错误赏金平台Hackerone和Bugcrowd。
将APK分解后,Dharani调查了gcp_keys.txt包含Google Cloud Project(GCP)API密钥的文件。
尽管这通常存储没有影响的键(因为可以将GCP键用于不同的API),但Dharani研究了可变名称以确定分配给键的特权。
两个变量 -server_key和notification_server_key- 与firebase云消息传递(FCM)服务。
可以同步在火箱上容纳的产品共享信息。如果正在使用FCM,则可以将推送通知发送和交付给iOS和Android设备。
网络钓鱼天堂
达拉尼(Dharani)专注于涉及“发送”请求和推送通知的Firebase Server环境,以及客户FCM软件开发套件(SDK),该套件(SDK)生成IID实例标识(IID)代币以识别应用程序实例。
随后,他发现了与传统服务器密钥有关的FCM问题,这些问题可能会滥用通过Legacy HTTP发送请求,从而规避了在HTTP V1协议,需要一个0auth 2.0访问令牌才能发送请求。
该问题的范围可能是巨大的,尤其是当与服务器端“主题”功能结合使用,该功能用于将应用程序用户订阅不同的通知类别。
阅读更多在流行的JavaScript序列化软件包中暴露的RCE漏洞
达拉尼(Dharani)建议最有效地使用该漏洞网络钓鱼竞选活动,例如与即将举行的美国总统大选或冠状病毒有关的竞选活动。
他说:“我看到了政治格局的明确干预,虚假新闻的大规模传播,即时的商业声誉残废以及[a]可靠数量的用户甚至可能通过这些通知而陷入网络钓鱼骗局。”说。“所以,这是一笔巨大的交易。”
Firebase是Google的旗舰移动应用程序开发平台
更新的订阅
最初,此方法将需要客户端应用程序或后端的FCM Admin SDK才能将用户订阅到特定主题。
但是滥用逻辑条件和表达式,有可能强迫FCM后端向每个基于Firebase的应用程序的用户广播恶意通知。
在此阶段,达拉尼(Dharani)开发了概念验证(POC),并向与火灾基础项目有关的各种漏洞赏金计划报告了问题,并未正确验证键。
他还与另外两名研究人员合作@Streaak和@martinbydefault,谁帮助他找到了更多脆弱的钥匙,并确定了问题的范围。
在...的帮助下Gwendal le Coguic,该团队能够找到其他脆弱的钥匙,其中包括一个属于食品交付巨头Driveoo的钥匙,向他们授予了3,000美元。
Dharani无意检查Google应用程序,而是与Yash Sodha,在Google环聊中还发现了一个脆弱的密钥,以及Google Play音乐的FCM服务器密钥,暴露于.smaliAPK的代码。
Dharani说:“我们决定下载所有Google应用程序并进行测试。”“在分解和运行一些脚本之后,我们发现了客户应用程序中暴露的许多此类键。”
使用弗里达,也有可能捕捉YouTube音乐和YouTube Go IID令牌,从而创建进一步的POC。
讲话每日swbeplay2018官网ig达拉尼说,安全问题不会影响其他谷歌服务,除非它们由Firebase Projects和Mobile Platform在移动平台上容纳。
在向受影响组织提交发现后,总共获得了30,000美元,与Google covid-19漏洞一起。研究授予。
打扫干净
参与火箱项目的开发人员应检查是否存在潜在的脆弱密钥。
可以在Google开发人员设置下找到列表,并且可以将其再生或删除 - 但应谨慎处理删除密钥。
Google发言人告诉每日swbeplay2018官网ig该问题“与包括API密钥在其代码中的服务中,不应包括在内,可以被利用的服务特别相关”,而不是FCM服务本身被损害。
发言人补充说:“如果Google能够识别使用服务器密钥,我们会尝试提醒开发人员,以便他们可以修复其应用程序。”