記一次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 發出發布請求。端點請求服務器發送 6 位代碼進行驗證。

第 2 步:添加聯絡地址
3.代碼驗證

現在,輸入任何隨機的 6 位代碼并使用 web 代理(burp suite)攔截請求。

第 3 步:代碼驗證
然后,將上述請求發送給入侵者,并在 pin_code 值中插入$$占位符,以暴力破解確認碼。
因為,/api/v1/bloks/apps/com.bloks 中根本沒有速率限制保護。
在暴力破解的同時
如果 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 繞過的新支付指南授予額外賞金。