Precisa de computação em nuvem? Comece agora mesmo

Nova campanha no estilo Magecart que abusa de websites legítimos para atacar outros websites

Roman Lvovsky

escrito por

Roman Lvovsky

June 01, 2023

Roman Lvovsky

escrito por

Roman Lvovsky

Roman Lvovsky é um pesquisador de segurança com vasta experiência em ameaças do lado do cliente, componentes internos do navegador e vetores de ataque JavaScript. Ele é membro da equipe de Pesquisa de proteção no navegador da Akamai e concentra sua pesquisa em várias ameaças do lado do cliente, como ataques de skimming na Web e ataques Magecart. Ele possui sólida experiência em engenharia de software, com uma especialização em JavaScript e desenvolvimento Web.

À medida que a batalha entre defensores e invasores no âmbito da navegação na Web continua, é fundamental manter a proatividade e investir em medidas de segurança inovadoras.

Comentários editoriais e adicionais de Lance Rhodes e Emily Lyons

Resumo executivo

  • Os pesquisadores da Akamai descobriram e analisaram uma nova campanha contínua de skimmer para Web no estilo Magecart, projetada para roubar informações de identificação pessoal (PII) e de cartão de crédito de websites de comércio digital.

  • As vítimas foram identificadas na América do Norte, América Latina e Europa, e variam em tamanho. Estima-se que algumas vítimas lidam com centenas de milhares de visitantes por mês, colocando potencialmente dezenas de milhares de PII e cartões de crédito de compradores em risco de serem roubados e abusados ou vendidos na dark Web.

  • Os invasores empregam várias técnicas de evasão durante a campanha, incluindo ofuscar o Base64 e mascarar o ataque para se parecer com serviços populares de terceiros, como Google Analytics ou Google Tag Manager.

  • Percebe-se que os invasores "sequestram" websites legítimos para atuar como servidores de comando e controle (C2) improvisados. Essas "vítimas hospedeiras" atuam como centros de distribuição para código mal-intencionado, sem o conhecimento da vítima, ocultando efetivamente o ataque por trás de um domínio legítimo.

  • Esse ataque inclui a exploração em potencial de websites usando Magento, WooCommerce, WordPress e Shopify, demonstrando a crescente variedade de vulnerabilidades e plataformas de comércio digital abusivas.

  • Esses tipos de ataques de skimming na Web estão se tornando cada vez mais evasivos e podem ser difíceis de detectar, portanto, os profissionais de segurança são aconselhados a considerar o uso de ferramentas e tecnologias que fornecem detecção comportamental e de anomalias da atividade no navegador.

Introdução

Um novo skimmer no estilo Magecart vem gerando problemas nas últimas semanas. A principal característica distintiva desta campanha mais recente é a sua utilização de websites legítimos comprometidos para facilitar a ocultação de ataques a outros websites direcionados por trás de seus domínios genuínos.

O principal objetivo de um ataque de Magecart é roubar PII e detalhes de cartão de crédito das páginas de check-out de websites de comércio digital. De maneira tradicional, esse tipo de ataque era executado principalmente na plataforma de comércio digital Magento; no entanto, nesta campanha e outras similares, pesquisadores da Akamai conseguiram identificar a exploração de websites desenvolvidos com Magento, WooCommerce, WordPress e Shopify, demonstrando a crescente variedade de vulnerabilidades e plataformas abusáveis disponíveis para invasores.

Geralmente, esses ataques não podem ser detectados por métodos populares de segurança da Web, como WAFs (Web Application Firewalls), e são executados no lado do cliente. Isso pode fazer com que ataques Magecart permaneçam despercebidos por longos períodos.

Nas últimas semanas, identificamos uma campanha ativa e contínua, aproveitando infraestruturas e recursos sofisticados para oferecer ataques de skimming na Web no estilo Magecart, e descobrimos vários websites de comércio digital que são vítimas desta campanha. É razoável presumir que existem outros websites legítimos que foram explorados como parte desta extensa campanha.

Um ataque de longo prazo em grande escala

Não é de se admirar que essa campanha seja destinada principalmente a organizações de comércio. A escala do ataque, no entanto, é notável. Algumas organizações vítimas recebem centenas de milhares de visitantes por mês. Como resultado, pode haver milhares, até dezenas de milhares, de vítimas de roubo de dados de cartão de crédito e PII. 

Para muitas vítimas, o ataque passou despercebido por quase um mês, aumentando o potencial de danos. Além disso, os pesquisadores da Akamai estão observando os efeitos da campanha sobre as organizações nos Estados Unidos, Reino Unido, Brasil, Espanha, Austrália, Estônia e Peru.  

Os ataques de skimming na Web podem ser muito prejudiciais para organizações de comércio digital. A perda de PII e de dados de cartão de crédito pode prejudicar a reputação das organizações, entre outras repercussões. Muitos dos ataques mais importantes de Magecart não foram detectados por meses ou anos. Dos 9.290 domínios de comércio digital que sofreram ataques de Magecart em 2022, 2.468 permaneceram ativamente infectados no final desse ano, tornando-o uma formidável ameaça para as organizações de comércio.

A invasão que acontece antes da invasão – configuração da infraestrutura de ataque

Uma das partes mais notáveis da campanha é a maneira como os invasores configuraram sua infraestrutura para conduzir a campanha de skimming na Web. Antes que a campanha possa começar de maneira mais séria, os invasores procurarão websites vulneráveis para agir como "hospedeiro" do código mal-intencionado que será usado posteriormente para criar o ataque de skimming na Web. 

Em vez de usar o próprio servidor C2 dos invasores para hospedar códigos mal-intencionados, que podem ser sinalizados como um domínio mal-intencionado, os invasores invadem (usando vulnerabilidades ou qualquer outro meio à sua disposição) um website vulnerável e legítimo, como um website de varejo de pequeno ou médio porte, e escondem seu código dentro dele. Dessa forma, os invasores criam um hospedeiro aparentemente íntegro para seu código mal-intencionado e podem entregá-lo a qualquer vítima que escolherem.

Em essência, esta campanha cria dois grupos de vítimas.

  1. Vítimas hospedeiras: Essas vítimas são websites legítimos sequestrados com o objetivo de hospedar o código mal-intencionado usado no ataque. Os invasores usam esses websites para entregar seu código durante um ataque. Como esses websites normalmente operam como empresas legítimas, é menos provável que levantem suspeitas ao se conectarem a uma vítima. Esses websites, então, atuam como parte da infraestrutura do ataque, essencialmente se comportando como um servidor controlado pelo invasor. A intenção é ocultar a atividade mal-intencionada por trás de um domínio com boa reputação.
  2. Vítimas de skimming na Web: Essas vítimas são websites de comércio vulneráveis que são alvo de um ataque de skimming na Web ao estilo Magecart pelos invasores. Em vez de injetar diretamente o código de ataque nos recursos do website, os invasores empregam pequenos fragmentos de código JavaScript como carregadores para buscar o código de ataque completo do site da vítima hospedeira, permitindo ocultar com mais eficiência a maior parte do código mal-intencionado usado no ataque.

Embora não esteja claro como esses websites estão sendo violados, com base em nossa recente pesquisa de campanhas anteriores semelhantes, os invasores normalmente procuram vulnerabilidades na plataforma de comércio digital dos websites visados (como Magento, WooCommerce, WordPress, Shopify etc.) ou em serviços de terceiros vulneráveis usados pelo site. 

Os pesquisadores da Akamai observaram um pequeno número de websites que servem como vítimas hospedeiras. Todos parecem ser websites comerciais. Em alguns casos, parece que os websites hospedeiros explorados sofreram abuso duas vezes. Primeiro, eles são usados como hospedeiros para código mal-intencionado, conforme mencionado anteriormente. Em segundo lugar, eles próprios estão sujeitos a um ataque de skimming na Web no estilo de Magecart, permitindo o roubo de informações do usuário. Eles não só foram comprometidos e sujeitos a roubo de dados pelo código injetado, mas também serviram involuntariamente como um veículo para espalhar as atividades mal-intencionadas do skimmer para outros websites vulneráveis. 

Aproveitar a reputação estabelecida e a confiança inerente

Durante nossa investigação, também descobrimos alguns websites que acreditamos serem falsos, possivelmente criados pelo invasor. Eles parecem operar como websites de phishing, imitando pequenas lojas de varejo, usando domínios que se assemelham aos dos websites legítimos originais. 

A prática de usar domínios explorados de websites legítimos oferece ao invasor várias vantagens quando se trata de ocultar suas atividades mal-intencionadas. Ao se esconder por trás de domínios que estabeleceram reputações e associações positivas, o skimmer cria uma cortina de fumaça que torna cada vez mais difícil identificar e responder ao ataque.

Uma das principais vantagens de utilizar domínios de websites legítimos é a confiança inerente que esses domínios construíram ao longo do tempo. Os serviços de segurança e os sistemas de pontuação de domínio normalmente atribuem níveis de confiança mais altos a domínios com um registro de rastreamento positivo e um histórico de uso legítimo. Como resultado, as atividades mal-intencionadas realizadas nesses domínios têm uma chance maior de não serem detectadas ou serem tratadas como benignas pelos sistemas de segurança automatizados.

Não podemos divulgar os domínios dos websites legítimos que foram explorados e usados para hospedar ataques em outros websites direcionados, pois a divulgação requer a confirmação e a cooperação das organizações.

Escondido à vista de todos – carregando o código mal-intencionado nos websites das vítimas

Depois que a infraestrutura é definida, os invasores procuram alvos em plataformas de comércio digital vulneráveis ou serviços de terceiros vulneráveis para injetar o código do skimmer da Web. O invasor emprega uma técnica inteligente ao injetar um trecho de código JavaScript embutido (o que significa que o script é incorporado ao HTML, não carregado de um arquivo externo) nas páginas dos websites explorados. Esse trecho serve como um carregador, buscando o código mal-intencionado completo dos websites hospedeiros definidos no estágio anterior. 

Percebe-se que a estrutura do trecho injetado é projetada intencionalmente para se assemelhar a serviços populares de terceiros, como Google Tag Manager ou Facebook Pixel. Essa abordagem ganhou popularidade entre campanhas de skimming da Web nos últimos anos, pois ajuda o código mal-intencionado a se misturar perfeitamente, disfarçando suas verdadeiras intenções. 

Além disso, para ofuscar o URL dos websites explorados que hospedam o código de ataque completo, o skimmer utiliza a codificação em Base64 (Figura 1). Essa técnica se tornou amplamente preferida entre os skimmers, pois mascara efetivamente as origens e o propósito do código.

Captura de tela de trecho de código JavaScript mal-intencionado Fig. 1: Trecho de código JavaScript mal-intencionado que representa um fragmento do Google Analytics e é usado como um carregador do ataque

Ao fazer isso, o invasor emprega três métodos para evitar a detecção. 

  1. Ofuscar o domínio usado no ataque 

  2. Mascarar o carregador de forma inteligente como um script ou fornecedor legítimo de terceiros

  3. Reduzir a quantidade de código mal-intencionado que precisa ser injetado na página extraindo a maior parte do código de outras fontes, o que reduz bastante a chance de o código ser descoberto

Uma vez que o carregador é injetado, qualquer usuário que tentar fazer o check-out no site da vítima de skimming terá os seus dados pessoais e as informações do cartão de crédito roubados e enviados para o servidor C2 dos invasores. 

Análise do código – ataque de Magecart ofuscado

Durante nosso exame, identificamos duas variações distintas do código do skimmer. 

A variação inicial exibiu um alto nível de ofuscação, resultando em maior complexidade quando tentamos decifrar seu fluxo e sua estrutura lógica. O invasor emprega a ofuscação como uma tática para interferir na depuração e pesquisa, o que deliberadamente dificulta a compreensão da sequência precisa do ataque.

Ofuscar código mal-intencionado é uma prática amplamente adotada entre diversos ataques de skimming da Web, e ela ganhou maior popularidade entre várias campanhas nos últimos anos (Figura 2).

Ofuscação do código malicioso Fig. 2: Código mal-intencionado – variação 1

Depois de decodificar as strings Base64 incorporadas ao código ofuscado, descobrimos uma lista de seletores CSS (Cascading Style Sheets, folhas de estilo em cascata). Esses nomes de seletor indicavam explicitamente que o skimmer tinha como alvo os campos de entrada responsáveis por capturar PII e detalhes de cartão de crédito. 

A presença desses seletores CSS dentro do código decodificado fornece evidência absoluta da intenção mal-intencionada do skimmer. Ao direcionar especificamente os campos de entrada usados para a coleta de dados confidenciais do usuário, os objetivos do skimmer se tornam claros: interceptar e exfiltrar PII e detalhes de cartão de crédito para fins ilegais. Esta ação também sugere um nível de coleta de inteligência; para que esses campos de entrada correspondam, o invasor precisa "adaptar" o código a cada vítima (Figura 3).

captura de tela de nomes de campos Fig. 3: Nomes de campos confidenciais decodificados visados pelo skimmer

A segunda variação do código mal-intencionado descoberto nesta campanha exibiu menos ofuscação, tornando-a mais compreensível e mais fácil de analisar. Assim como a primeira variação, as strings que poderiam potencialmente expor as intenções do código foram codificadas em Base64, permitindo-nos decifrar prontamente seu significado (Figura 4).

O que torna a segunda variação interessante é a presença de determinados indicadores dentro do código; esses indicadores serviram como pistas valiosas, auxiliando-nos na identificação de outros websites de vítimas e instâncias associadas a esta campanha. 

Ataque no estilo Magecart Fig. 4: Código mal-intencionado – variação 2

Exfiltração dos dados roubados

O processo de exfiltração dos dados roubados é executado por meio de uma solicitação HTTP direta, que é iniciada pela criação de uma tag IMG dentro do código do skimmer. Os dados roubados são então anexados à solicitação como parâmetros de consulta, codificados como uma string Base64 (Figura 5).

Para ofuscar os dados transmitidos, o skimmer os codifica como uma string Base64. Essa técnica de codificação fornece uma camada de disfarce, tornando mais difícil para os sistemas de segurança e as ferramentas de monitoramento de rede identificar que as informações confidenciais estão sendo exfiltradas. Assim que os dados codificados em Base64 chegam ao servidor do invasor, eles podem ser facilmente decodificados para seu formato original, expondo as PII roubadas e os detalhes do cartão de crédito.

A exfiltração só acontecerá uma vez para cada usuário que passar pelo check-out. Depois que as informações de um usuário são roubadas, o script sinaliza o navegador para garantir que o roubo não ocorra duas vezes (reduzindo assim o tráfego de rede suspeito). Isso aumenta ainda mais a evasão desse ataque no estilo Magecart.

 Exfiltração de dados usando captura de tela da tag IMG Fig. 5: Exfiltração de dados usando tag IMG, que inicia uma solicitação HTTP para o C2 do skimmer com parâmetros de consulta codificados em Base64

Recomendações e mitigações de segurança

Para plantar um skimmer da Web, os invasores precisam obter acesso inicial ao servidor, explorando uma vulnerabilidade ou abusando de um dos scripts de terceiros existentes. Para evitar esse acesso inicial ao servidor, os profissionais de segurança são aconselhados a acompanhar os patches mais recentes e complementá-los implementando um WAF.

No entanto, a complexidade, a implantação, a agilidade e a distribuição dos ambientes atuais de aplicações Web, e os vários métodos que os invasores podem usar para instalar skimmers da Web, exigem soluções de segurança mais dedicadas, que podem fornecer visibilidade do comportamento de scripts executados no navegador e oferecer defesa contra ataques no lado do cliente.

Uma solução apropriada deve se aproximar de onde ocorre o ataque real aos clientes. Ela deve ser capaz de identificar com sucesso as tentativas de leitura de campos de entrada confidenciais e a exfiltração de dados (em nossos testes usamos o Akamai Page Integrity Manager,). Recomendamos que esses eventos sejam coletados devidamente para facilitar a mitigação rápida e eficaz.

Conclusão

Esta campanha serve como um lembrete de que o skimming na Web continua sendo uma ameaça de segurança crítica, com agentes mal-intencionados constantemente evoluindo suas táticas para ocultar suas atividades e tornar a detecção mais desafiadora. Os novos requisitos de segurança de script descritos no PCI DSS v4.0 também refletem essa declaração, agora exigindo que qualquer organização que processe cartões de pagamento online tenha mecanismos para detectar e responder a esses tipos de ataques. 

A principal solução para combater efetivamente o skimming na Web está na utilização de ferramentas e tecnologias que fornecem detecção comportamental e de anomalias, como o Akamai Page Integrity Manager,. As ferramentas tradicionais de análise estática são inadequadas para combater os skimmers da Web, pois modificam continuamente seus métodos e empregam técnicas cada vez mais sofisticadas que podem escapar da análise estática.

Podemos esperar encontrar campanhas semelhantes de forma intermitente, pois esse jogo de gato e rato provavelmente persistirá. À medida que a batalha entre defensores e invasores no âmbito da navegação na Web continua, é fundamental manter a proatividade e investir em medidas de segurança inovadoras. Ao adotar tecnologias avançadas de detecção que se adaptam aos vetores de ataque em constante mudança, as organizações podem proteger melhor suas plataformas online, proteger os dados dos usuários e manter a confiança de seus clientes. A pesquisa contínua, a colaboração e a vigilância são essenciais na luta ininterrupta contra as ameaças de skimming na Web.

O Grupo de inteligência de segurança da Akamai continuará monitorando essa atividade e fornecendo percepções valiosas para nossos clientes e para a comunidade em geral. Para obter mais informações em tempo real sobre vulnerabilidades e outras pesquisas de segurança mais recentes, siga-nos no Twitter.

Atualização em 7 de junho de 2023:  esta publicação do blog da Akamai foi atualizada para explicar que algumas das plataformas mencionadas, como Magento, WooCommerce, WordPress e Shopify, podem ser exploradas por vulnerabilidades.

IOCs

Domínios de exfiltração:

byvlsa[.]com

chatwareopenalgroup[.]net



Roman Lvovsky

escrito por

Roman Lvovsky

June 01, 2023

Roman Lvovsky

escrito por

Roman Lvovsky

Roman Lvovsky é um pesquisador de segurança com vasta experiência em ameaças do lado do cliente, componentes internos do navegador e vetores de ataque JavaScript. Ele é membro da equipe de Pesquisa de proteção no navegador da Akamai e concentra sua pesquisa em várias ameaças do lado do cliente, como ataques de skimming na Web e ataques Magecart. Ele possui sólida experiência em engenharia de software, com uma especialização em JavaScript e desenvolvimento Web.