Pesquisadores desenvolveram duas ferramentas que automatizam ataques de phishing capazes de ignorar a autenticação de dois fatores 2FA. A maioria dos mecanismos de defesa existente não é suficiente para impedir esse tipo de ataque. Uma vez que as ferramentas tornam esses ataques muito mais fáceis de serem implantados, as organizações devem adaptar suas defesas anti-phishing para barrar essa nova armadilha.

O novo toolkit foi apresentado no mês passado na conferência “Hack in the Box” em Amsterdã, na Holanda, e foi lançado no GitHub dias depois. Ele abrange dois componentes: um proxy reverso transparente chamado Muraena e um contêiner Docker para automatizar instâncias headless do Chrome conhecido como NecroBrowser.

Um tipo de ataque “man-in-the-middle”

Os ataques tradicionais de phishing, com os quais a maioria das pessoas está familiarizada, consistem em páginas de login falsas hospedadas em servidores da web controlados por invasores e atendidas por domínios personalizados cujos nomes são semelhantes aos dos sites segmentados. No entanto, esses ataques estáticos não são eficazes contra serviços online que usam autenticação de dois fatores, pois não há interação com os sites legítimos para acionar a geração de códigos de uso único. Sem esses códigos, os hackers não conseguem fazer login com as credenciais falsificadas.

Para derrubar a autenticação de dois fatores, os invasores precisam ter seus sites de phishing funcionando como proxies, encaminhando solicitações em nome das vítimas para os sites legítimos e entregando respostas em tempo real. O objetivo final não é obter apenas nomes de usuário e senhas, mas tokens de sessão ativos, conhecidos como cookies de sessão, que os sites reais associam a contas logadas. Esses cookies de sessão podem ser colocados dentro de um navegador para acessar diretamente as contas com as quais estão associados, sem a necessidade de autenticação.

Essa técnica baseada em proxy, contudo, já é conhecida há muito tempo. Mas a aplicação desse ataque exige conhecimento técnico e envolve a configuração de várias ferramentas independentes, como a utilização do servidor web NGINX para ser executado como proxy reverso. Em seguida, o invasor precisa capturar manualmente os cookies da sessão roubada antes que eles expirem. Além disso, alguns sites usam tecnologias como Subresource Integrity (SRI) e Content Security Policy (CSP) para impedir o proxy, e alguns até bloqueiam navegadores automatizados com base em cabeçalhos (os “headers”).

Muraena e NecroBrowser foram desenvolvidos para derrotar essas proteções e automatizar a maior parte do processo. Isso significa que o lançamento de ataques de phishing que podem derrotar o 2FA agora pode ser feito por um número maior de invasores. As ferramentas foram criadas pelos pesquisadores Michele Orru, ex-desenvolvedor do Projeto de Estrutura de Exploração do Navegador (BeEF), e Giuseppe Trotta, um membro do projeto Bettercap.

Como Muraena e NecroBrowser funcionam?

Muraena é escrito na linguagem de programação Go, o que significa que ele pode ser compilado e executado em qualquer plataforma onde Go esteja disponível. Depois de implantado, o invasor pode configurar seu domínio de phishing e obter um certificado legítimo para ele – por exemplo, usando a autoridade de certificação gratuita Let’s Encrypt, oferecida pela Internet Security Research Group (ISRG).

A ferramenta contém um servidor da web mínimo que atua como proxy reverso e um rastreador que determina automaticamente quais recursos do site legítimo serão executados. O proxy reescreve de forma transparente os pedidos recebidos da vítima antes de transmiti-los.

O rastreador gera automaticamente um arquivo de configuração JSON, que pode ser ajustado manualmente para contornar várias defesas em sites mais complexos. O pacote inclui exemplos de arquivos de configuração para Google, GitHub e Dropbox. Quando a vítima chega a um site de phishing com o suporte de Muraena, o processo de login funciona exatamente como no site real. O usuário é solicitado pelo código 2FA. Uma vez que essas informações são fornecidas, a autenticação é concluída e o proxy rouba o cookie da sessão.

O token de sessão é normalmente armazenado pelo navegador dentro de um arquivo e é exibido em solicitações subsequentes. Isso permite que o site forneça automaticamente a esse navegador acesso a uma conta por um determinado período de tempo (duração da sessão) sem solicitar a senha de login novamente. O Muraena pode passar automaticamente os cookies de sessão coletados para o segundo componente, o NecroBrowser, que imediatamente começa a utilizá-los.

O NecroBrowser é um microsserviço que pode ser controlado por meio de uma API e configurado para executar ações por meio de instâncias headless do Chrome em execução nos contêineres do Docker. Dependendo dos recursos disponíveis do servidor, um invasor pode gerar dezenas ou centenas desses contêineres simultaneamente, cada um com um cookie de sessão roubado de uma vítima.

As ações executadas pelas instâncias do “navegador zumbi” podem ser totalmente automatizadas. Por exemplo, dependendo do tipo de conta, isso pode permitir tirar screenshots de e-mails, redefinir senhas, fazer o upload de senhas não autorizadas para o GitHub ou adicionar endereços de encaminhamento desonestos às caixas de correio. As instâncias do navegador também podem ser usadas para coletar informações sobre contatos e amigos em redes sociais e até enviar mensagens de phishing para esses amigos em um ataque do tipo “worm”.

Como se proteger contra ataques phishing automatizados

Infelizmente, poucas soluções técnicas bloqueiam completamente esses ataques de phishing no lado do servidor. O Muraena foi desenvolvido para mostrar que técnicas como SRI e CSP têm um efeito limitado e podem ser contornadas de maneira automatizada. Além disso, a ferramenta mostra que o 2FA não é uma solução à prova de balas.

Porém, o phishing baseado em proxy não pode derrotar algumas implementações do 2FA – aquelas que usam tokens de hardware USB com suporte para o padrão Universal 2nd Factor (U2F). Isso porque esses tokens USB estabelecem uma conexão “criptograficamente” verificada com o site legítimo por meio do navegador, que não passa pelo proxy reverso do invasor.

Enquanto isso, as soluções baseadas em códigos recebidos por SMS ou geradas por aplicativos móveis de autenticação são vulneráveis, porque as vítimas precisam inseri-las manualmente e podem fazê-lo nos sites de phishing.

Outra solução técnica pode ser a aplicação de uma extensão do navegador que verifica se o usuário está inserindo suas credenciais no site correto. O Google desenvolveu essa extensão para o Chrome, chamada Alerta de senha, que avisa aos usuários caso insiram suas credenciais do Google em qualquer site que não pertença ao Google.

Educar os usuários para serem vigilantes e certificarem-se de que estão se autenticando no site correto, com o nome correto de domínio, continua sendo muito importante. A presença de um indicador TLS/SSL e um certificado válido não são suficientes para considerar que um site é legítimo, pois agora os certificados podem ser obtidos gratuitamente, de modo que a maioria dos sites de phishing serão habilitados para HTTPS.

Conheça nossa Solução de Conscientização Sobre Segurança da Informação clicando aqui ou preencha o Formulário abaixo e entre em contato com a Future!

Fonte: CIO.

Entre em contato conosco