实战 | 记一次Facebook上的双因素身份验证绕过

admin 2023年1月29日13:59:27评论37 views字数 2152阅读7分10秒阅读模式

概括

我发现 instagram 中缺乏速率限制问题,这可能允许攻击者通过使用 Mate 帐户中心确认目标用户已经确认的 facebook 手机号码来绕过 facebook 上的双因素身份验证。

大家好,我是 Gtm Mänôz 。这是我第一次写漏洞赏金报告,也是我在 facebook 的最高赏金奖励。

早在 2022 年 7 月中旬,由于我在 2022 年初的 Meta Bug Bounty 计划中的出色表现,我收到了参加新加坡 BountyCon 2022 的邀请。收到邀请后,我唯一的想法就是至少找到一个有效的漏洞,并登上现场黑客活动的排行榜。

因此,当我在 instagram 中发现 Meta Accounts Center 的新界面时,一切就开始了。

实战 | 记一次Facebook上的双因素身份验证绕过

新的 Instagram 帐户中心

在上图中,个人详细信息部分有一个选项,可以将电子邮件和电话号码添加到 Instagram 和链接的 Facebook 帐户,可以在输入电子邮件/电话中收到的正确 6 位代码后进行验证。在报告时,验证 6 位代码的端点容易受到缺乏速率限制保护的影响,允许任何人在 Instagram 和链接的 Facebook 帐户中确认未知/已知的电子邮件和电话号码。

重现步骤:

1.生成加密 Authproof:

导航至下图所示的个人详细信息部分,然后输入已注册的 Facebook 手机号码以添加到您的 Instagram 链接的 Facebook 帐户中。

实战 | 记一次Facebook上的双因素身份验证绕过

同时,它会向/api/v1/fxcal/get_native_linking_auth_blob/端点发出 post 请求,以生成 ig 加密的 authproof(token),它将在步骤 2 中添加以添加联系点,稍后还用于验证确认码。

下面是来自 burp suite的示例 HTTP 请求,显示了加密令牌的生成。

实战 | 记一次Facebook上的双因素身份验证绕过

第 1 步:生成加密的 Authproof

2.添加联络地址:

在添加联系点(电子邮件/电话)时,它会向/api/v1/bloks/apps/com.bloks 发出发布请求。www.fx.settings.contact_point.add.async/ 端点请求服务器发送 6 位代码进行验证。

实战 | 记一次Facebook上的双因素身份验证绕过

第 2 步:添加联络 

3.代码验证

实战 | 记一次Facebook上的双因素身份验证绕过

现在,输入任何随机的 6 位代码并使用 web 代理(burp suite)拦截请求。

实战 | 记一次Facebook上的双因素身份验证绕过

第 3 步:代码验证 

然后,将上述请求发送给入侵者,并在 pin_code 值中插入$$占位符,以暴力破解确认码。

因为,/api/v1/bloks/apps/com.bloks 中根本没有速率限制保护。www.fx.settings.contact_point.verify.async/endpoint,任何人都可以绕过联系地址验证。

在暴力破解的同时

如果 6 位代码错误,则响应将是“错误代码:该代码无效。请检查代码并重试。”

实战 | 记一次Facebook上的双因素身份验证绕过

错误代码 并且,如果 6 位代码匹配,响应将很长并且输入的电子邮件/电话将被确认到攻击者的帐户。

实战 | 记一次Facebook上的双因素身份验证绕过

因此,如果电话号码已完全确认并在 Facebook 中启用了 2FA,则 2FA 将被关闭或从受害者的帐户中禁用。

并且,如果电话号码被部分确认,这意味着仅用于 2FA,它将撤销 2FA,并且该电话号码将从受害者的帐户中删除。

实战 | 记一次Facebook上的双因素身份验证绕过

因为验证 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 绕过的新支付指南授予额外赏金。

实战 | 记一次Facebook上的双因素身份验证绕过


推荐阅读:


实战 | 记一次SSRF攻击内网的实战案例


实战 | 记两次应急响应小记


干货 | Wordpress网站渗透方法指南


实战 | 记一次CTF题引发的0day挖掘


2023年零基础+进阶系统化白帽黑客学习


实战 | 记一次邮件系统C段引发的SQL手注和内网渗透


点赞,转发,在看


原文地址:见阅读原文

者:Gtm Mänôz

实战 | 记一次Facebook上的双因素身份验证绕过

原文始发于微信公众号(HACK学习呀):实战 | 记一次Facebook上的双因素身份验证绕过

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月29日13:59:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战 | 记一次Facebook上的双因素身份验证绕过http://cn-sec.com/archives/1527188.html

发表评论

匿名网友 填写信息