原文链接:实战 | 记一次Facebook上的双因素身份验证绕过
概括 我发现 instagram 中缺乏速率限制问题,这可能允许攻击者通过使用 Mate 帐户中心确认目标用户已经确认的 facebook 手机号码来绕过 facebook 上的双因素身份验证。 大家好,我是 Gtm Mänôz 。这是我第一次写漏洞赏金报告,也是我在 facebook 的最高赏金奖励。 早在 2022 年 7 月中旬,由于我在 2022 年初的 Meta Bug Bounty 计划中的出色表现,我收到了参加新加坡 BountyCon 2022 的邀请。收到邀请后,我唯一的想法就是至少找到一个有效的漏洞,并登上现场黑客活动的排行榜。 因此,当我在 instagram 中发现 Meta Accounts Center 的新界面时,一切就开始了。 新的 Instagram 帐户中心 在上图中,个人详细信息部分有一个选项,可以将电子邮件和电话号码添加到 Instagram 和链接的 Facebook 帐户,可以在输入电子邮件/电话中收到的正确 6 位代码后进行验证。在报告时,验证 6 位代码的端点容易受到缺乏速率限制保护的影响,允许任何人在 Instagram 和链接的 Facebook 帐户中确认未知/已知的电子邮件和电话号码。 重现步骤: 1.生成加密 Authproof: 导航至下图所示的个人详细信息部分,然后输入已注册的 Facebook 手机号码以添加到您的 Instagram 链接的 Facebook 帐户中。 同时,它会向/api/v1/fxcal/get_native_linking_auth_blob/端点发出 post 请求,以生成 ig 加密的 authproof(token),它将在步骤 2 中添加以添加联系点,稍后还用于验证确认码。 下面是来自 burp suite的示例 HTTP 请求,显示了加密令牌的生成。 第 1 步:生成加密的 Authproof 2.添加联络地址: 在添加联系点(电子邮件/电话)时,它会向/api/v1/bloks/apps/com.bloks 发出发布请求。www.fx.settings.contact_point.add.async/ 端点请求服务器发送 6 位代码进行验证。 第 2 步:添加联络地址 3.代码验证 现在,输入任何随机的 6 位代码并使用 web 代理(burp suite)拦截请求。 第 3 步:代码验证 然后,将上述请求发送给入侵者,并在 pin_code 值中插入$$占位符,以暴力破解确认码。 因为,/api/v1/bloks/apps/com.bloks 中根本没有速率限制保护。www.fx.settings.contact_point.verify.async/endpoint,任何人都可以绕过联系地址验证。 在暴力破解的同时 如果 6 位代码错误,则响应将是“错误代码:该代码无效。请检查代码并重试。” 错误代码 并且,如果 6 位代码匹配,响应将很长并且输入的电子邮件/电话将被确认到攻击者的帐户。 因此,如果电话号码已完全确认并在 Facebook 中启用了 2FA,则 2FA 将被关闭或从受害者的帐户中禁用。 并且,如果电话号码被部分确认,这意味着仅用于 2FA,它将撤销 2FA,并且该电话号码将从受害者的帐户中删除。 因为验证 instagram 和关联的 facebook 帐户中的联系点(电子邮件/电话)的端点是相同的,所以我能够绕过 instagram 和 facebook 中的未知和已注册的联系点(电子邮件/电话)验证(无法添加) fb 中存在电子邮件)。 漏洞影响 1.撤销任何人的基于短信的 facebook 2FA 2.绕过 Instagram 和 Facebook 中未知和已注册电子邮件/电话的联系点验证(无法在 fb 中添加已存在的电子邮件)。 漏洞修复时间线 2022 年 9 月 14 日——报告已发送至 Meta。 2022 年 9 月 16 日——Meta 回应说他们无法重现这个问题。 2022 年 9 月 20 日——将我的凭据提供给安全团队进行复制,因为新的帐户中心功能尚未在他们的帐户中推出。 2022 年 9 月 21 日——团队从新位置登录后,该功能从帐户中完全消失。 2022 年 9 月 21 日——该功能在取消链接关联的 Facebook 帐户时再次出现,并将这种奇怪的行为告知了团队。 2022 年 9 月 22 日——分流。 2022 年 9 月 24 日 — facebook 奖励绕过 instagram 的联系点验证 2022 年 10 月 3 日——发送有关撤销任何人基于短信的 facebook 2FA 的额外影响。 2022 年 10 月 17 日——Facebook 确认修复 2022 年 10 月 17 日——要求 Facebook 团队增加赏金金额,因为 Facebook 总是根据报告的最大可能影响支付赏金。 2022 年 12 月 14 日——收到 facebook 团队的回复,称他们将发放“除了我最初报告的漏洞的价值之外,将反映最大潜在影响的额外赏金金额。” 2022 年 12 月 15 日——Facebook 根据 2FA 绕过的新支付指南授予额外赏金。
|