Cada pressionamento de tecla ou cookie de sessão pode conter informações muito particulares sobre um usuário, e o acesso a essas informações pode criar problemas críticos de segurança e privacidade.
A equipe do Zimperium zLabs descobriu recentemente uma extensão de navegador maliciosa, que não apenas rouba as informações disponíveis durante a sessão do navegador, mas também pode instalar malware no dispositivo de um usuário e, posteriormente, assumir o controle de todo o dispositivo. Neste blog, examinaremos mais profundamente a arquitetura e o modus operandi dessa extensão de navegador maliciosa, originalmente chamada Cloud9, pelo autor do malware.
O Cloud9 nunca foi encontrado em nenhuma loja oficial de extensões de navegador, em vez disso, contava com a distribuição por meio de comunidades de agentes de ameaças, onde os usuários da ferramenta ocultavam o malware para entregar às vítimas. Esses métodos de distribuição podem levar, mas o mais comum que testemunhamos durante a investigação foi o carregamento lateral por meio de executáveis falsos e sites maliciosos disfarçados de atualizações do Adobe Flash Player.
Cloud9 funciona como um trojan de acesso remoto (RAT) com muitas funcionalidades. Encontramos duas variantes diferentes desse malware, uma versão original e uma versão aprimorada com recursos estendidos e correções de bugs, demonstrando como os atores mal-intencionados estão constantemente iterando. A segunda variante é uma modificação da primeira com muito mais recursos e algumas correções de bugs. Nossa discussão se concentrará na versão “melhorada”, pois contém as funcionalidades de ambas as variantes.
As principais funcionalidades deste malware que podem ser usadas para realizar atividades maliciosas são:
A extensão do navegador contém apenas três arquivos javascript, e a principal funcionalidade da extensão está disponível em um arquivo chamado campaign.js . Identificamos que esse JavaScript também pode ser usado como autônomo e, portanto, pode ser usado redirecionando as vítimas para um site malicioso que contém o script campaign.js .
Nesta extensão maliciosa, o arquivo manifest.json injeta Campaign.js em todas as páginas http/https.
Extensão chrome instalada no Google Chrome.
O campaign.js começa com a identificação do sistema operacional usando a API window.navigator. Após a identificação bem-sucedida, ele injeta um arquivo Javascript que minera a criptomoeda usando os recursos do computador da vítima. Isso não apenas diminui o desempenho do dispositivo, mas reduz a vida útil do hardware e aumenta o uso de energia, o que se traduz em uma perda monetária lenta, mas constante.
A próxima etapa na cadeia é injetar outro script chamado cthulhu.js . Este arquivo contém uma exploração de cadeia completa para CVE-2019-11708 e CVE-2019-9810 visando o Firefox em um sistema operacional Windows de 64 bits. Após a exploração bem-sucedida, ele lança malware baseado em Windows no dispositivo, permitindo que o agente da ameaça assuma o controle de todo o sistema.
Após identificar o tipo de navegador, o script adiciona um novo ouvinte de eventos usando o evento onkeypress, que é acionado quando qualquer tecla que produz um caractere é pressionada. Sempre que esse evento é acionado, o valor de pressionamento de tecla correspondente é anexado a uma variável. Esses dados de keylogging, juntamente com quaisquer dados de “formulário” presentes na página da Web atual, são enviados para o C&C sempre que qualquer um dos seguintes eventos é acionado:
Esses eventos garantem que os dados sejam enviados ao C&C assim que o usuário navegar para uma página diferente.
O arquivo javascript então chama uma função chamada pingHome após um tempo limite de 20 segundos, que envia uma solicitação GET para o C&C e espera um comando em retorno. O comando é passado para outra função chamada Parse , que executa o código correspondente ao comando recebido do servidor C&C. Possui as seguintes funcionalidades:
Se o comando recebido do C&C for “ cookie ”, o malware extrairá o cookie e o local usando document.cookie e document.location respectivamente. Em seguida, ele enviará essas informações para o navegador.
A função imageLoad na figura abaixo simplesmente cria uma imagem vazia e configura o atributo src para o argumento passado, isso criará a requisição http, pois o navegador tentará recuperar a imagem dessa URL no atributo src.
O evento window.onpaste é acionado sempre que a vítima cola algum conteúdo em um elemento. Esse código então rouba esses dados e os envia para o servidor C&C. Quaisquer dados colados no navegador, como credenciais de login e números de cartão de crédito, podem ser roubados e enviados para o C&C. Esse comportamento pode ser especialmente perigoso nos casos em que o usuário armazena a senha em qualquer gerenciador de senhas e copia e cola a senha ou outras informações confidenciais na sessão do navegador infectado.
Uma das características mais interessantes desse malware é que ele usa exploits do navegador para escapar do navegador e tenta executar o malware no dispositivo da vítima. Já mencionamos o exploit do Firefox que foi usado para descartar um arquivo exe malicioso. Além disso, esse malware usa mais algumas explorações de navegador para Internet Explorer ( CVE-2014-6332 , CVE-2016-0189 ) e Edge ( CVE-2016-7200 ). Se um invasor explorar com êxito essa vulnerabilidade, ele poderá obter os mesmos direitos de usuário que o usuário atual e poderá executar código no dispositivo da vítima como o usuário atual. Se o usuário atual estiver conectado com direitos de usuário administrativo, um invasor poderá instalar programas; visualizar, alterar ou excluir dados; ou crie novas contas com direitos totais de usuário.
Nesse caso, os CVEs foram usados com o mesmo propósito, para injetar código arbitrário que pode ser executado como o usuário atual fora do navegador.
A extensão também pode enviar solicitações POST para qualquer domínio. Essa funcionalidade pode ser aprimorada para realizar um ataque DDOS de camada 7 se o invasor tiver um número significativo de vítimas conectadas como botnets. Os ataques de camada 7 geralmente são muito difíceis de detectar porque a conexão TCP é muito semelhante a solicitações legítimas. O desenvolvedor provavelmente está usando esta botnet para fornecer um serviço para executar DDOS.
Existem algumas outras funcionalidades, como clickjacking, quebra de hashes md5/sha1 e execução de qualquer javascript fornecido pelo servidor C&C.
A origem desse malware vem do grupo de malware Keksec, que foi originalmente formado em 2016 por alguns atores de botnet. Este grupo é popular por seu DDOS e malware e botnets baseados em mineração.
A primeira versão pública desta botnet JavaScript foi encontrada em 2017 e foi atualizada novamente em 2020, onde foi divulgada como um único JavaScript que pode ser incluído em qualquer site usando tags de script. Os servidores de comando e controle usados pelo botnet Cloud9 Chrome apontam para domínios que foram usados anteriormente pelo grupo de malware Keksec. O botnet Cloud9 está sendo vendido gratuitamente ou por algumas centenas de dólares em vários fóruns de hackers diferentes. Como é bastante trivial de usar e está disponível gratuitamente, pode ser usado por muitos grupos ou indivíduos de malware para fins específicos.
Esse malware foi projetado propositadamente para atingir todos os tipos de usuários e atende ao objetivo de recuperar informações do usuário. Os scripts injetados podem ser facilmente usados para servir mais comportamentos maliciosos na sessão do navegador, como mapeamento de pressionamento de tecla e exfiltração de dados.
O malware Cloud9 não tem como alvo nenhum grupo específico, o que significa que é tanto uma ameaça corporativa quanto uma ameaça ao consumidor. As teclas pressionadas podem conter informações confidenciais do usuário, como senhas, e, portanto, podem ser aproveitadas para acessar informações mais confidenciais, como dados críticos de negócios, dados de clientes e até dados pessoais, sem qualquer conhecimento do usuário. Sua capacidade de instalar malware adicional na máquina da vítima aumenta seu perfil de risco para uma empresa, ignorando os vetores tradicionais de ataque comumente monitorados por produtos de segurança de endpoint.
O número de vítimas afetadas por isso ainda é desconhecido. Ainda assim, está bem claro que esse grupo de malware está mirando em todos os navegadores e sistemas operacionais e, assim, tentando aumentar sua superfície de ataque. Encontramos algumas capturas de tela de um fórum de hackers onde o agente da ameaça mostra as vítimas que estão sendo atacadas.
Como a imagem abaixo indica, podemos afirmar claramente que as vítimas desse ataque não estão limitadas a um país específico ou a um navegador específico.
Indicadores de Compromisso
Capturas de tela do fórum de hackers onde o malware foi distribuído:
Uma cidade na Carolina do Norte e um escritório de advogados distritais cobrindo quatro condados…
O surgimento da Nytheon AI marca uma escalada significativa no cenário das plataformas (LLM) de…
Um pesquisador de segurança revelou uma vulnerabilidade crítica de injeção de SOQL no controlador interno…
Falha permite que invasores manipulem o agente de um usuário por meio de um problema…
Um exploit de dia zero, dirigido aos firewalls FortiGate da Fortinet, foi descoberto à venda…
A família SHELBY mostra um exemplo preocupante de malware moderno com design modular, sofisticado e…