Os sistemas de segurança, dos serviços que usamos no dia-a-dia, necessitam de ser fiáveis mas acima de tudo simples de usar. É um compromisso nem sempre fácil de conseguir. Ou se sacrifica a segurança para ser fácil, ou se torna a autenticação rebuscada para manter os padrões de segurança. Na tentativa de conseguir o melhor dos dois mundos, podem aparecer, por vezes, “buracos” que expõem os utilizadores.
Uma sequência de erros, quando encadeados, criou o ataque perfeito para obter acesso à conta Microsoft de alguém. Bastou enganar o utilizador levando-o a clicar num determinado link.
Com as ações certas, o “atacante” poderia ter acesso ao login de qualquer utilizador
Sahad Nk, um caçador de bugs, residente na Índia, descobriu que um subdomínio da Microsoft, “success.office.com”, não estava configurado corretamente, permitindo que ele assumisse o controlo.
O indiano usou um registo CNAME, um registo canónico usado para vincular um domínio a outro, para apontar o subdomínio não configurado para a sua própria instância do Azure.
Ao fazê-lo, controlou o subdomínio e quaisquer dados enviados a ele, segundo referiu num artigo, partilhado com o TechCrunch.
A avaliar o padrão de ações, isto não seria um grande problema, mas o caçador de bugs também descobriu que as aplicações Microsoft Office, Store e Sway poderiam ser enganadas e enviarem os seus tokens de autenticação para o domínio recém-controlado, depois do utilizador se ter autenticado através do sistema de autenticação da Microsoft.
Isso ocorre porque as aplicações vulneráveis usam um certificado genérico, permitindo que todo o site office.com – incluindo o seu recém-controlado subdomínio – seja confiável.
Assim que a vítima clicar num link especialmente criado para enviar por e-mail, por exemplo, o utilizador fará login pelo sistema de login da Microsoft usando o seu nome de utilizador e palavra-passe (além do código de dois fatores, se configurado).
Esta ação cria um token de acesso à conta. Assim, o utilizador efetuou login sem ter que colocar a sua senha repetidamente.
A obtenção de um token de acesso à conta é o equivalente a ter as credenciais de alguém – e permite que um atacante invada a conta do utilizador sem problemas, muitas vezes sem gerar nenhum alarme ou disparar qualquer aviso.
Basicamente, é o mesmo tipo de método usado com o Facebook que permitiu aos invasores expor mais de 30 milhões de contas do Facebook no início deste ano.
Engenharia social… clique aqui!
Para facilitar este acesso, é criado um endereço malicioso de uma forma que dá instruções ao sistema de autenticação da Microsoft a passar o token da conta para o subdomínio controlado pelo indiano. Se este utilizador fosse um invasor mal-intencionado, poderia colocar em risco inúmeras contas.
Pior de tudo, o URL mal-intencionado parece legítimo – porque o utilizador ainda faz login através dos sistemas da Microsoft, e o parâmetro “wreply” no URL também não parece suspeito porque é um subdomínio do Office.
Por outras palavras: a conta do Office de qualquer pessoa, até mesmo contas empresariais e corporativas, incluindo os e-mails, documentos e outros ficheiros, poderiam ter sido facilmente alcançados por um invasor mal-intencionado e seria quase impossível diferenciar de um utilizador legítimo.
Sahad Nk, com a ajuda de Paulos Yibelo, relatou o bug para a Microsoft, que corrigiu a vulnerabilidade.
O Microsoft Security Response Center mitigou o caso em novembro de 2018.
Confirmou um porta-voz da Microsoft num email ao site. O bug foi remediado removendo o registo CNAME apontando para a instância do Azure do Sahad Nk, explicou.
A Microsoft pagou uma recompensa pelos esforços do indiano Sahad Nk.