BOOK THIS SPACE FOR AD
ARTICLE ADO Single Sign-On (SSO) é uma tecnologia amplamente utilizada que permite que os usuários acessem múltiplos aplicativos com uma única credencial de login. Essa conveniência, no entanto, vem com desafios significativos de segurança.
Este relatório detalha a descoberta de uma falha de segurança no sistema SSO do Facebook, os passos para explorá-la, seu impacto potencial e as medidas corretivas aplicadas. Além disso, compartilho a experiência de receber uma recompensa de $3.000 dólares pelo programa de bug bounty do Facebook.
A falha descoberta permitia que um atacante potencialmente acessasse contas de usuários sem precisar da senha correta, explorando uma vulnerabilidade na autenticação na central de contas da Meta.
Se explorada, essa falha poderia permitir que invasores obtivessem acesso não autorizado a contas de usuários, comprometendo dados pessoais, mensagens privadas e outras informações sensíveis.
A falha foi identificada na implementação do SSO do Facebook, especificamente na maneira como tokens de autenticação eram gerenciados e validados.
Na central de contas da Meta (accountscenter.facebook.com), com múltiplas contas conectadas, era possível através do enpoint *** recuperar um “auth_proof_json” usado para login no Facebook via link magico. Veja abaixo como o link deveria se parecer turbinado com o token gerado através do endpoint:
Uma das discussões sobre o impacto da vulnerabilidade abordou o seguinte ponto:
Two potential issues which would constitute a security bug would be:
- The ability to use this URL even after the Instagram session has been logged out / the IG password has been changed
- The ability to generate/use such login links if “Logging in with accounts” is disabled between IG & Facebook
Ambas as questões levantadas foram possíveis durantes do testes de exploração, assim sendo determinado um impacto maior que o imaginado inicialmente.
O link magico gerado através do token no endpoint poderia ser usado de forma permanente, mesmo após adulteração da senha, sem expiração durante todo o período do teste (semanas).
A falha ocorreu devido a uma validação inadequada dos tokens de autenticação do Facebook. A falta de verificação robusta permitiu que tokens fossem aceitos como válidos quando deveriam ser rejeitados.
Possíveis Vetores de Ataque: Um atacante poderia interceptar tokens de autenticação usando uma variedade de técnicas, incluindo ataques man-in-the-middle (MitM) em redes não seguras.
A solução envolveu a implementação de validações mais rigorosas para os tokens de autenticação.
A descoberta desta falha de segurança no Facebook destacou a importância de uma validação robusta dos tokens de autenticação. A correção implementada pelo Facebook fortaleceu a segurança do sistema, protegendo milhões de usuários. Essa descoberta me rendeu uma boa recompensa de $3.000 dólares e enriqueceu meu perfil hacker com mais uma empresa no currículo.
Espero que este relatório sirva como uma fonte valiosa de informação para profissionais de segurança e desenvolvedores, destacando a importância de garantir a segurança dos sistemas de autenticação.
Obrigado por ler até aqui :)
Referências:
https://hackerone.com/patrick-mns https://www.fortinet.com/br/resources/cyberglossary/authentication-token https://www.ibm.com/br-pt/topics/single-sign-on https://bugbounty.meta.com/