Quatro farejadores de JavaScript que estão à sua espera nas lojas online

Quatro farejadores de JavaScript que estão à sua espera nas lojas online

Quase todos nós utilizamos os serviços de lojas online, o que significa que mais cedo ou mais tarde corremos o risco de nos tornarmos vítimas de farejadores de JavaScript - códigos especiais que os invasores implementam em um site para roubar dados de cartões bancários, endereços, logins e senhas de usuários .

Quase 400 mil utilizadores do site e da aplicação móvel da British Airways já foram afetados por farejadores, bem como visitantes do site britânico da gigante desportiva FILA e da distribuidora de bilhetes americana Ticketmaster. PayPal, Chase Paymenttech, USAePay, Moneris - estes e muitos outros sistemas de pagamento foram infectados.

O analista do Threat Intelligence Group-IB, Viktor Okorokov, fala sobre como os sniffers se infiltram no código do site e roubam informações de pagamento, bem como quais CRMs eles atacam.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online

"Ameaça oculta"

Acontece que durante muito tempo os farejadores de JS permaneceram fora da vista dos analistas de antivírus, e os bancos e sistemas de pagamento não os viam como uma ameaça séria. E completamente em vão. Especialistas do Grupo-IB analisado 2440 lojas online infectadas, cujos visitantes – um total de cerca de 1,5 milhão de pessoas por dia – corriam risco de comprometimento. Entre as vítimas estão não apenas usuários, mas também lojas online, sistemas de pagamento e bancos que emitiram cartões comprometidos.

Relatório O Grupo-IB se tornou o primeiro estudo do mercado darknet para sniffers, sua infraestrutura e métodos de monetização, que traz milhões de dólares aos seus criadores. Identificamos 38 famílias de farejadores, das quais apenas 12 eram previamente conhecidas pelos pesquisadores.

Detenhamo-nos detalhadamente nas quatro famílias de farejadores estudadas durante o estudo.

Família ReactGet

Sniffers da família ReactGet são usados ​​para roubar dados de cartões bancários em sites de compras online. O sniffer pode funcionar com um grande número de sistemas de pagamento diferentes usados ​​no site: um valor de parâmetro corresponde a um sistema de pagamento, e versões individuais detectadas do sniffer podem ser usadas para roubar credenciais, bem como para roubar dados de cartões bancários de pagamento formas de vários sistemas de pagamento ao mesmo tempo, como o chamado sniffer universal. Verificou-se que, em alguns casos, os invasores realizam ataques de phishing aos administradores de lojas online para obter acesso ao painel administrativo do site.

Uma campanha usando essa família de farejadores começou em maio de 2017; sites que executavam plataformas CMS e Magento, Bigcommerce e Shopify foram atacados.

Como o ReactGet é implementado no código de uma loja online

Além da implementação “clássica” de um script via link, os operadores da família de farejadores ReactGet utilizam uma técnica especial: por meio de código JavaScript, verificam se o endereço atual onde o usuário está localizado atende a determinados critérios. O código malicioso só será executado se a substring estiver presente no URL atual checkout ou check-out em uma etapa, uma página/, fora/uma página, check-out/um, saída/um. Assim, o código sniffer será executado exatamente no momento em que o usuário efetuar o pagamento das compras e inserir os dados de pagamento no formulário do site.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Este farejador usa uma técnica não padronizada. Os dados pessoais e de pagamento da vítima são coletados em conjunto e codificados usando base64, e então a string resultante é usada como parâmetro para enviar uma solicitação ao site do invasor. Na maioria das vezes, o caminho para o portão imita um arquivo JavaScript, por exemplo resp.js, data.js e assim por diante, mas também são usados ​​links para arquivos de imagem, GIF и JPG. A peculiaridade é que o sniffer cria um objeto de imagem medindo 1 por 1 pixel e usa como parâmetro o link recebido anteriormente src Imagens. Ou seja, para o usuário tal solicitação no trânsito parecerá uma solicitação de uma imagem comum. Uma técnica semelhante foi usada na família de farejadores ImageID. Além disso, a técnica de usar uma imagem de 1 por 1 pixel é usada em muitos scripts de análise online legítimos, o que também pode enganar o usuário.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online

Análise de Versão

A análise dos domínios ativos usados ​​pelos operadores do sniffer ReactGet revelou muitas versões diferentes desta família de farejadores. As versões diferem na presença ou ausência de ofuscação e, além disso, cada sniffer é projetado para um sistema de pagamento específico que processa pagamentos com cartão bancário para lojas online. Após classificar o valor do parâmetro correspondente ao número da versão, os especialistas do Grupo-IB receberam uma lista completa das variações do sniffer disponíveis e, pelos nomes dos campos do formulário que cada sniffer procura no código da página, identificaram os sistemas de pagamento que o farejador se destina.

Lista de sniffers e seus sistemas de pagamento correspondentes

URL do farejador Sistema de Pagamentos
reactjsapi.com/react.js Authorize.Net
ajaxstatic.com/api.js?v=2.1.1 Salvar cartões
ajaxstatic.com/api.js?v=2.1.2 Authorize.Net
ajaxstatic.com/api.js?v=2.1.3 Authorize.Net
ajaxstatic.com/api.js?v=2.1.4 eWAY Rápido
ajaxstatic.com/api.js?v=2.1.5 Authorize.Net
ajaxstatic.com/api.js?v=2.1.6 Adyen
ajaxstatic.com/api.js?v=2.1.7 USAePay
ajaxstatic.com/api.js?v=2.1.9 Authorize.Net
apitstatus.com/api.js?v=2.1.1 USAePay
apitstatus.com/api.js?v=2.1.2 Authorize.Net
apitstatus.com/api.js?v=2.1.3 Monéris
apitstatus.com/api.js?v=2.1.5 USAePay
apitstatus.com/api.js?v=2.1.6 PayPal
apitstatus.com/api.js?v=2.1.7 Sage Pay
apitstatus.com/api.js?v=2.1.8 Verisign
apitstatus.com/api.js?v=2.1.9 PayPal
apitstatus.com/api.js?v=2.3.0 Stripe
apitstatus.com/api.js?v=3.0.2 Realex
apitstatus.com/api.js?v=3.0.3 PayPal
apitstatus.com/api.js?v=3.0.4 LinkPoint
apitstatus.com/api.js?v=3.0.5 PayPal
apitstatus.com/api.js?v=3.0.7 PayPal
apitstatus.com/api.js?v=3.0.8 DataCash
apitstatus.com/api.js?v=3.0.9 PayPal
asianfoodgracer.com/footer.js Authorize.Net
billgetstatus.com/api.js?v=1.2 Authorize.Net
billgetstatus.com/api.js?v=1.3 Authorize.Net
billgetstatus.com/api.js?v=1.4 Authorize.Net
billgetstatus.com/api.js?v=1.5 Verisign
billgetstatus.com/api.js?v=1.6 Authorize.Net
billgetstatus.com/api.js?v=1.7 Monéris
billgetstatus.com/api.js?v=1.8 Sage Pay
billgetstatus.com/api.js?v=2.0 USAePay
billgetstatus.com/react.js Authorize.Net
cloudodesc.com/gtm.js?v=1.2 Authorize.Net
cloudodesc.com/gtm.js?v=1.3 ANZ eGate
cloudodesc.com/gtm.js?v=2.3 Authorize.Net
cloudodesc.com/gtm.js?v=2.4 Monéris
cloudodesc.com/gtm.js?v=2.6 Sage Pay
cloudodesc.com/gtm.js?v=2.7 Sage Pay
cloudodesc.com/gtm.js?v=2.8 Chase Paymenttech
cloudodesc.com/gtm.js?v=2.9 Authorize.Net
cloudodesc.com/gtm.js?v=2.91 Adyen
cloudodesc.com/gtm.js?v=2.92 PsiGate
cloudodesc.com/gtm.js?v=2.93 Fonte cibernética
cloudodesc.com/gtm.js?v=2.95 ANZ eGate
cloudodesc.com/gtm.js?v=2.97 Realex
geisseie.com/gs.js USAePay
gtmproc.com/age.js Authorize.Net
gtmproc.com/gtm.js?v=1.2 Authorize.Net
gtmproc.com/gtm.js?v=1.3 ANZ eGate
gtmproc.com/gtm.js?v=1.5 PayPal
gtmproc.com/gtm.js?v=1.6 PayPal
gtmproc.com/gtm.js?v=1.7 Realex
livecheckpay.com/api.js?v=2.0 Sage Pay
livecheckpay.com/api.js?v=2.1 PayPal
livecheckpay.com/api.js?v=2.2 Verisign
livecheckpay.com/api.js?v=2.3 Authorize.Net
livecheckpay.com/api.js?v=2.4 Verisign
livecheckpay.com/react.js Authorize.Net
livegetpay.com/pay.js?v=2.1.2 ANZ eGate
livegetpay.com/pay.js?v=2.1.3 PayPal
livegetpay.com/pay.js?v=2.1.5 Fonte cibernética
livegetpay.com/pay.js?v=2.1.7 Authorize.Net
livegetpay.com/pay.js?v=2.1.8 Sage Pay
livegetpay.com/pay.js?v=2.1.9 Realex
livegetpay.com/pay.js?v=2.2.0 Fonte cibernética
livegetpay.com/pay.js?v=2.2.1 PayPal
livegetpay.com/pay.js?v=2.2.2 PayPal
livegetpay.com/pay.js?v=2.2.3 PayPal
livegetpay.com/pay.js?v=2.2.4 Verisign
livegetpay.com/pay.js?v=2.2.5 eWAY Rápido
livegetpay.com/pay.js?v=2.2.7 Sage Pay
livegetpay.com/pay.js?v=2.2.8 Sage Pay
livegetpay.com/pay.js?v=2.2.9 Verisign
livegetpay.com/pay.js?v=2.3.0 Authorize.Net
livegetpay.com/pay.js?v=2.3.1 Authorize.Net
livegetpay.com/pay.js?v=2.3.2 Primeiro Portal Global de Dados
livegetpay.com/pay.js?v=2.3.3 Authorize.Net
livegetpay.com/pay.js?v=2.3.4 Authorize.Net
livegetpay.com/pay.js?v=2.3.5 Monéris
livegetpay.com/pay.js?v=2.3.6 Authorize.Net
livegetpay.com/pay.js?v=2.3.8 PayPal
livegetpay.com/pay.js?v=2.4.0 Verisign
maxstatics.com/site.js USAePay
mediapack.info/track.js?d=funlove.com USAePay
mediapack.info/track.js?d=qbedding.com Authorize.Net
mediapack.info/track.js?d=vseyewear.com Verisign
mxcounter.com/c.js?v=1.2 PayPal
mxcounter.com/c.js?v=1.3 Authorize.Net
mxcounter.com/c.js?v=1.4 Stripe
mxcounter.com/c.js?v=1.6 Authorize.Net
mxcounter.com/c.js?v=1.7 eWAY Rápido
mxcounter.com/c.js?v=1.8 Sage Pay
mxcounter.com/c.js?v=2.0 Authorize.Net
mxcounter.com/c.js?v=2.1 Braintree
mxcounter.com/c.js?v=2.10 Braintree
mxcounter.com/c.js?v=2.2 PayPal
mxcounter.com/c.js?v=2.3 Sage Pay
mxcounter.com/c.js?v=2.31 Sage Pay
mxcounter.com/c.js?v=2.32 Authorize.Net
mxcounter.com/c.js?v=2.33 PayPal
mxcounter.com/c.js?v=2.34 Authorize.Net
mxcounter.com/c.js?v=2.35 Verisign
mxcounter.com/click.js?v=1.2 PayPal
mxcounter.com/click.js?v=1.3 Authorize.Net
mxcounter.com/click.js?v=1.4 Stripe
mxcounter.com/click.js?v=1.6 Authorize.Net
mxcounter.com/click.js?v=1.7 eWAY Rápido
mxcounter.com/click.js?v=1.8 Sage Pay
mxcounter.com/click.js?v=2.0 Authorize.Net
mxcounter.com/click.js?v=2.1 Braintree
mxcounter.com/click.js?v=2.2 PayPal
mxcounter.com/click.js?v=2.3 Sage Pay
mxcounter.com/click.js?v=2.31 Sage Pay
mxcounter.com/click.js?v=2.32 Authorize.Net
mxcounter.com/click.js?v=2.33 PayPal
mxcounter.com/click.js?v=2.34 Authorize.Net
mxcounter.com/click.js?v=2.35 Verisign
mxcounter.com/cnt.js Authorize.Net
mxcounter.com/j.js Authorize.Net
newrelicnet.com/api.js?v=1.2 Authorize.Net
newrelicnet.com/api.js?v=1.4 Authorize.Net
newrelicnet.com/api.js?v=1.8 Sage Pay
newrelicnet.com/api.js?v=4.5 Sage Pay
newrelicnet.com/api.js?v=4.6 Westpac PayWay
nr-public.com/api.js?v=2.0 PayFort
nr-public.com/api.js?v=2.1 PayPal
nr-public.com/api.js?v=2.2 Authorize.Net
nr-public.com/api.js?v=2.3 Stripe
nr-public.com/api.js?v=2.4 Primeiro Portal Global de Dados
nr-public.com/api.js?v=2.5 PsiGate
nr-public.com/api.js?v=2.6 Authorize.Net
nr-public.com/api.js?v=2.7 Authorize.Net
nr-public.com/api.js?v=2.8 Monéris
nr-public.com/api.js?v=2.9 Authorize.Net
nr-public.com/api.js?v=3.1 Sage Pay
nr-public.com/api.js?v=3.2 Verisign
nr-public.com/api.js?v=3.3 Monéris
nr-public.com/api.js?v=3.5 PayPal
nr-public.com/api.js?v=3.6 LinkPoint
nr-public.com/api.js?v=3.7 Westpac PayWay
nr-public.com/api.js?v=3.8 Authorize.Net
nr-public.com/api.js?v=4.0 Monéris
nr-public.com/api.js?v=4.0.2 PayPal
nr-public.com/api.js?v=4.0.3 Adyen
nr-public.com/api.js?v=4.0.4 PayPal
nr-public.com/api.js?v=4.0.5 Authorize.Net
nr-public.com/api.js?v=4.0.6 USAePay
nr-public.com/api.js?v=4.0.7 EBizCharge
nr-public.com/api.js?v=4.0.8 Authorize.Net
nr-public.com/api.js?v=4.0.9 Verisign
nr-public.com/api.js?v=4.1.2 Verisign
ordercheckpays.com/api.js?v=2.11 Authorize.Net
ordercheckpays.com/api.js?v=2.12 PayPal
ordercheckpays.com/api.js?v=2.13 Monéris
ordercheckpays.com/api.js?v=2.14 Authorize.Net
ordercheckpays.com/api.js?v=2.15 PayPal
ordercheckpays.com/api.js?v=2.16 PayPal
ordercheckpays.com/api.js?v=2.17 Westpac PayWay
ordercheckpays.com/api.js?v=2.18 Authorize.Net
ordercheckpays.com/api.js?v=2.19 Authorize.Net
ordercheckpays.com/api.js?v=2.21 Sage Pay
ordercheckpays.com/api.js?v=2.22 Verisign
ordercheckpays.com/api.js?v=2.23 Authorize.Net
ordercheckpays.com/api.js?v=2.24 PayPal
ordercheckpays.com/api.js?v=2.25 PayFort
ordercheckpays.com/api.js?v=2.29 Fonte cibernética
ordercheckpays.com/api.js?v=2.4 Fluxo de pagamento Pro do PayPal
ordercheckpays.com/api.js?v=2.7 Authorize.Net
ordercheckpays.com/api.js?v=2.8 Authorize.Net
ordercheckpays.com/api.js?v=2.9 Verisign
ordercheckpays.com/api.js?v=3.1 Authorize.Net
ordercheckpays.com/api.js?v=3.2 Authorize.Net
ordercheckpays.com/api.js?v=3.3 Sage Pay
ordercheckpays.com/api.js?v=3.4 Authorize.Net
ordercheckpays.com/api.js?v=3.5 Stripe
ordercheckpays.com/api.js?v=3.6 Authorize.Net
ordercheckpays.com/api.js?v=3.7 Authorize.Net
ordercheckpays.com/api.js?v=3.8 Verisign
ordercheckpays.com/api.js?v=3.9 PayPal
ordercheckpays.com/api.js?v=4.0 Authorize.Net
ordercheckpays.com/api.js?v=4.1 Authorize.Net
ordercheckpays.com/api.js?v=4.2 Sage Pay
ordercheckpays.com/api.js?v=4.3 Authorize.Net
reactjsapi.com/api.js?v=0.1.0 Authorize.Net
reactjsapi.com/api.js?v=0.1.1 PayPal
reactjsapi.com/api.js?v=4.1.2 Sílex
reactjsapi.com/api.js?v=4.1.4 PayPal
reactjsapi.com/api.js?v=4.1.5 Sage Pay
reactjsapi.com/api.js?v=4.1.51 Verisign
reactjsapi.com/api.js?v=4.1.6 Authorize.Net
reactjsapi.com/api.js?v=4.1.7 Authorize.Net
reactjsapi.com/api.js?v=4.1.8 Stripe
reactjsapi.com/api.js?v=4.1.9 Zebra gorda
reactjsapi.com/api.js?v=4.2.0 Sage Pay
reactjsapi.com/api.js?v=4.2.1 Authorize.Net
reactjsapi.com/api.js?v=4.2.2 Primeiro Portal Global de Dados
reactjsapi.com/api.js?v=4.2.3 Authorize.Net
reactjsapi.com/api.js?v=4.2.4 eWAY Rápido
reactjsapi.com/api.js?v=4.2.5 Adyen
reactjsapi.com/api.js?v=4.2.7 PayPal
reactjsapi.com/api.js?v=4.2.8 Serviços para comerciantes do QuickBooks
reactjsapi.com/api.js?v=4.2.9 Verisign
reactjsapi.com/api.js?v=4.2.91 Sage Pay
reactjsapi.com/api.js?v=4.2.92 Verisign
reactjsapi.com/api.js?v=4.2.94 Authorize.Net
reactjsapi.com/api.js?v=4.3.97 Authorize.Net
reactjsapi.com/api.js?v=4.5 Sage Pay
reactjsapi.com/react.js Authorize.Net
sydneysalonsupplies.com/gtm.js eWAY Rápido
tagsmediaget.com/react.js Authorize.Net
tagstracking.com/tag.js?v=2.1.2 ANZ eGate
tagstracking.com/tag.js?v=2.1.3 PayPal
tagstracking.com/tag.js?v=2.1.5 Fonte cibernética
tagstracking.com/tag.js?v=2.1.7 Authorize.Net
tagstracking.com/tag.js?v=2.1.8 Sage Pay
tagstracking.com/tag.js?v=2.1.9 Realex
tagstracking.com/tag.js?v=2.2.0 Fonte cibernética
tagstracking.com/tag.js?v=2.2.1 PayPal
tagstracking.com/tag.js?v=2.2.2 PayPal
tagstracking.com/tag.js?v=2.2.3 PayPal
tagstracking.com/tag.js?v=2.2.4 Verisign
tagstracking.com/tag.js?v=2.2.5 eWAY Rápido
tagstracking.com/tag.js?v=2.2.7 Sage Pay
tagstracking.com/tag.js?v=2.2.8 Sage Pay
tagstracking.com/tag.js?v=2.2.9 Verisign
tagstracking.com/tag.js?v=2.3.0 Authorize.Net
tagstracking.com/tag.js?v=2.3.1 Authorize.Net
tagstracking.com/tag.js?v=2.3.2 Primeiro Portal Global de Dados
tagstracking.com/tag.js?v=2.3.3 Authorize.Net
tagstracking.com/tag.js?v=2.3.4 Authorize.Net
tagstracking.com/tag.js?v=2.3.5 Monéris
tagstracking.com/tag.js?v=2.3.6 Authorize.Net
tagstracking.com/tag.js?v=2.3.8 PayPal

Sniffer de senha

Uma das vantagens dos sniffers de JavaScript trabalhando no lado cliente de um site é sua versatilidade: códigos maliciosos embutidos em um site podem roubar qualquer tipo de dado, sejam dados de pagamento ou login e senha de uma conta de usuário. Os especialistas do Group-IB descobriram uma amostra de um sniffer pertencente à família ReactGet, projetado para roubar endereços de e-mail e senhas de usuários do site.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online

Interseção com sniffer ImageID

Durante a análise de uma das lojas infectadas, constatou-se que seu site foi infectado duas vezes: além do código malicioso do sniffer da família ReactGet, foi detectado código do sniffer da família ImageID. Essa sobreposição pode ser uma evidência de que os operadores por trás de ambos os sniffers usam técnicas semelhantes para injetar código malicioso.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online

Farejador universal

Uma análise de um dos nomes de domínio associados à infraestrutura do sniffer ReactGet revelou que o mesmo usuário registrou três outros nomes de domínio. Esses três domínios imitavam os domínios de sites da vida real e eram usados ​​anteriormente para hospedar sniffers. Ao analisar o código de três sites legítimos, um sniffer desconhecido foi detectado e análises posteriores mostraram que se tratava de uma versão melhorada do sniffer ReactGet. Todas as versões monitoradas anteriormente desta família de sniffers eram voltadas para um único sistema de pagamento, ou seja, cada sistema de pagamento exigia uma versão especial do sniffer. Porém, neste caso, foi descoberta uma versão universal do sniffer que é capaz de roubar informações de formulários relacionados a 15 sistemas de pagamento diferentes e módulos de sites de comércio eletrônico para realização de pagamentos online.

Assim, no início do trabalho, o farejador buscou campos básicos do formulário contendo informações pessoais da vítima: nome completo, endereço físico, telefone.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
O sniffer pesquisou então mais de 15 prefixos diferentes correspondentes a diferentes sistemas de pagamento e módulos de pagamento online.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Em seguida, os dados pessoais e as informações de pagamento da vítima foram coletados em conjunto e enviados para um site controlado pelo invasor: neste caso específico, foram descobertas duas versões do sniffer universal ReactGet, localizadas em dois sites hackeados diferentes. No entanto, ambas as versões enviaram dados roubados para o mesmo site hackeado zoobashop. com.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
A análise dos prefixos que o sniffer utilizou para procurar campos contendo informações de pagamento da vítima permitiu-nos determinar que esta amostra de sniffer se destinava aos seguintes sistemas de pagamento:

  • Authorize.Net
  • Verisign
  • First Data
  • USAePay
  • Stripe
  • PayPal
  • ANZ eGate
  • Braintree
  • Data Cash (MasterCard)
  • Pagamentos Realex
  • PsiGate
  • Sistemas de pagamento Heartland

Quais ferramentas são usadas para roubar informações de pagamento?

A primeira ferramenta, descoberta durante a análise da infraestrutura dos invasores, é utilizada para ofuscar scripts maliciosos responsáveis ​​pelo roubo de cartões bancários. Um script bash usando a CLI do projeto foi descoberto em um dos hosts do invasor ofuscador de javascript para automatizar a ofuscação do código sniffer.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
A segunda ferramenta descoberta foi projetada para gerar o código responsável por carregar o sniffer principal. Esta ferramenta gera código JavaScript que verifica se o usuário está na página de pagamento, pesquisando strings no endereço atual do usuário checkout, carrinho e assim por diante, e se o resultado for positivo, o código carrega o sniffer principal do servidor do invasor. Para ocultar atividades maliciosas, todas as linhas, incluindo linhas de teste para determinar a página de pagamento, bem como um link para o sniffer, são codificadas usando base64.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online

Ataques de phishing

Uma análise da infraestrutura de rede dos invasores revelou que o grupo criminoso costuma usar phishing para obter acesso ao painel administrativo da loja online alvo. Os invasores registram um domínio que é visualmente semelhante ao domínio de uma loja e, em seguida, implantam nele um formulário de login falso do painel de administração Magento. Se tiverem sucesso, os invasores terão acesso ao painel administrativo do Magento CMS, o que lhes dá a oportunidade de editar componentes do site e implementar um sniffer para roubar dados de cartão de crédito.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Infra-estrutura

Nome de domínio Data da descoberta/aparecimento
mediapack.info 04.05.2017
adsgetapi.com 15.06.2017
simcounter. com 14.08.2017
mageanalytics.com 22.12.2017
maxstatics. com 16.01.2018
reactjsapi.com 19.01.2018
mxcounter. com 02.02.2018
apitstatus.com 01.03.2018
orderracker. com 20.04.2018
tagstracking.com 25.06.2018
adsapigate.com 12.07.2018
trust-tracker.com 15.07.2018
fbstatspartner.com 02.10.2018
billgetstatus. com 12.10.2018
www.aldenmlilhouse.com 20.10.2018
balletbeautlful.com 20.10.2018
bargalnjunkie.com 20.10.2018
payselector. com 21.10.2018
tagsmediaget.com 02.11.2018
hs-payments.com 16.11.2018
ordercheckpays. com 19.11.2018
geisseie. com 24.11.2018
gtmproc.com 29.11.2018
livegetpay. com 18.12.2018
sydneysalonsupplies.com 18.12.2018
www.newrelicnet.com 19.12.2018
nr-public. com 03.01.2019
cloudodesc.com 04.01.2019
ajaxstatic. com 11.01.2019
livecheckpay. com 21.01.2019
asianfoodgracer.com 25.01.2019

Família G-Analytics

Esta família de farejadores é usada para roubar cartões de clientes de lojas online. O primeiro nome de domínio utilizado pelo grupo foi registado em abril de 2016, o que pode indicar que o grupo iniciou atividade em meados de 2016.

Na campanha atual, o grupo utiliza nomes de domínio que imitam serviços da vida real, como Google Analytics e jQuery, mascarando a atividade de sniffers com scripts legítimos e nomes de domínio semelhantes aos legítimos. Sites que executam o Magento CMS foram atacados.

Como o G-Analytics é implementado no código de uma loja online

Uma característica distintiva desta família é o uso de vários métodos para roubar informações de pagamento dos usuários. Além da clássica injeção de código JavaScript no lado cliente do site, o grupo criminoso também utilizou técnicas de injeção de código no lado servidor do site, nomeadamente scripts PHP que processam dados inseridos pelo utilizador. Essa técnica é perigosa porque dificulta a detecção de códigos maliciosos por pesquisadores terceirizados. Especialistas do Group-IB descobriram uma versão de um sniffer embutido no código PHP do site, usando um domínio como porta dittm.org.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Também foi descoberta uma versão inicial de um sniffer que usa o mesmo domínio para coletar dados roubados dittm.org, mas esta versão se destina à instalação no lado do cliente de uma loja online.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Mais tarde, o grupo mudou de tática e começou a se concentrar mais em ocultar atividades maliciosas e camuflar-se.

No início de 2017, o grupo passou a utilizar o domínio jquery-js.com, disfarçado de CDN para jQuery: ao acessar o site dos invasores, o usuário é redirecionado para um site legítimo jquery. com.

E em meados de 2018, o grupo adotou o nome de domínio g-analytics.com e começou a disfarçar as atividades do sniffer como um serviço legítimo do Google Analytics.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Quatro farejadores de JavaScript que estão à sua espera nas lojas online

Análise de Versão

Durante a análise dos domínios utilizados para armazenar código sniffer, constatou-se que o site contém um grande número de versões, que se diferenciam pela presença de ofuscação, bem como pela presença ou ausência de código inacessível adicionado ao arquivo para distrair a atenção e ocultar código malicioso.

Total no site jquery-js.com Seis versões de farejadores foram identificadas. Esses farejadores enviam os dados roubados para um endereço localizado no mesmo site do próprio farejador: hxxps://jquery-js[.]com/latest/jquery.min.js:

  • hxxps://jquery-js[.]com/jquery.min.js
  • hxxps://jquery-js[.]com/jquery.2.2.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.8.3.min.js
  • hxxps://jquery-js[.]com/jquery.1.6.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.4.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.12.4.min.js

Domínio posterior g-analytics.com, usado pelo grupo em ataques desde meados de 2018, serve como repositório para mais farejadores. No total, foram descobertas 16 versões diferentes do farejador. Nesse caso, a porta de envio dos dados roubados estava disfarçada como um link para um formato de imagem GIF: hxxp://g-analytics[.]com/__utm.gif?v=1&_v=j68&a=98811130&t=pageview&_s=1&sd=24-bit&sr=2560×1440&vp=2145×371&je=0&_u=AACAAEAB~&jid=1841704724&gjid=877686936&cid
= 1283183910.1527732071
:

  • hxxps://g-analytics[.]com/libs/1.0.1/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.10/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.11/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.12/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.13/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.14/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.15/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.16/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.3/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.4/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.5/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.6/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.7/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.8/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.9/analytics.js
  • hxxps://g-analytics[.]com/libs/analytics.js

Monetização de dados roubados

O grupo criminoso monetiza os dados roubados vendendo cartões por meio de uma loja clandestina especialmente criada que presta serviços aos carteiros. A análise dos domínios utilizados pelos atacantes permitiu-nos determinar que google-analytics.cm foi registrado pelo mesmo usuário do domínio cartãoz.vc. Domínio cartãoz.vc refere-se a uma loja que vende cartões bancários roubados Cardsurfs (Flysurfs), que ganhou popularidade na época da atividade da plataforma de negociação clandestina AlphaBay como uma loja que vendia cartões bancários roubados por meio de um farejador.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Analisando o domínio analítico.is, localizado no mesmo servidor dos domínios usados ​​pelos sniffers para coletar dados roubados, os especialistas do Grupo-IB descobriram um arquivo contendo logs de ladrões de cookies, que parece ter sido posteriormente abandonado pelo desenvolvedor. Uma das entradas no log continha um domínio iozoz.com, que já foi utilizado em um dos farejadores ativos em 2016. Presumivelmente, este domínio foi usado anteriormente por um invasor para coletar cartões roubados usando um sniffer. Este domínio foi registrado em um endereço de e-mail [email protegido], que também foi usado para registrar domínios cardz.su и cartãoz.vc, relacionado à loja de cardados Cardsurfs.

Com base nos dados obtidos, pode-se supor que a família de farejadores G-Analytics e a loja clandestina de venda de cartões bancários Cardsurfs são administradas pelas mesmas pessoas, e a loja é utilizada para vender cartões bancários roubados por meio do sniffer.

Infra-estrutura

Nome de domínio Data da descoberta/aparecimento
iozoz.com 08.04.2016
dittm.org 10.09.2016
jquery-js.com 02.01.2017
g-analytics.com 31.05.2018
google-analytics.is 21.11.2018
analítico.para 04.12.2018
google-analytics.to 06.12.2018
google-analytics.cm 28.12.2018
analítico.is 28.12.2018
google-analytics.cm 17.01.2019

Família Illum

Illum é uma família de farejadores usados ​​para atacar lojas online que executam o CMS Magento. Além de introduzir código malicioso, os operadores deste sniffer também utilizam a introdução de formulários de pagamento falsos completos que enviam dados para portões controlados por invasores.

Ao analisar a infraestrutura de rede utilizada pelos operadores deste sniffer, notou-se um grande número de scripts maliciosos, exploits, formas de pagamento falsas, bem como uma coleção de exemplos com sniffers maliciosos de concorrentes. Com base nas informações sobre as datas de aparecimento dos nomes de domínio utilizados pelo grupo, pode-se presumir que a campanha começou no final de 2016.

Como o Illum é implementado no código de uma loja online

As primeiras versões do sniffer descobertas foram incorporadas diretamente no código do site comprometido. Os dados roubados foram enviados para cdn.illum[.]pw/records.php, a porta foi codificada usando base64.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Mais tarde, foi descoberta uma versão empacotada do sniffer que usa uma porta diferente - records.nstatistics[.]com/records.php.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Conforme reportar Willem de Groot, o mesmo host foi utilizado no sniffer, que foi implementado em site da loja, de propriedade do partido político alemão CSU.

Análise do site dos invasores

Especialistas do Grupo-IB descobriram e analisaram um site utilizado por este grupo criminoso para armazenar ferramentas e coletar informações roubadas.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Entre as ferramentas encontradas no servidor dos invasores estavam scripts e exploits para escalar privilégios no sistema operacional Linux: por exemplo, o Linux Privilege Escalation Check Script desenvolvido por Mike Czumak, bem como um exploit para CVE-2009-1185.

Os invasores usaram duas explorações diretamente para atacar lojas online: primeiro capaz de injetar código malicioso em core_config_data explorando CVE-2016-4010, segundo explora uma vulnerabilidade RCE em plugins para CMS Magento, permitindo que código arbitrário seja executado em um servidor web vulnerável.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Além disso, durante a análise do servidor, foram descobertas diversas amostras de sniffers e formulários de pagamento falsos, usados ​​por invasores para coletar informações de pagamento de sites hackeados. Como você pode ver na lista abaixo, alguns scripts foram criados individualmente para cada site hackeado, enquanto uma solução universal foi usada para determinados CMS e gateways de pagamento. Por exemplo, roteiros segapay_standart.js и segapay_onpage.js projetado para implementação em sites que usam o gateway de pagamento Sage Pay.

Lista de scripts para vários gateways de pagamento

Escrita Gateway de pagamento
sr.illum[.]pw/mjs_special/visiondirect.co.uk.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/topdierenshop.nl.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/tiendalenovo.es.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/pro-bolt.com.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/plae.co.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/ottolenghi.co.uk.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/oldtimecandy.com.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/mylook.ee.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/luluandsky.com.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/julep.com.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/gymcompany.es.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/grotekadoshop.nl.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/fushi.co.uk.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/fareastflora.com.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/compuindia.com.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs/segapay_standart.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/segapay_onpage.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/replace_standart.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs/all_inputs.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/add_inputs_standart.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/magento/payment_standart.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/magento/payment_redirect.js //pagar agora[.]cf/?payment=
sr.illum[.]pw/magento/payment_redcrypt.js //pagar agora[.]cf/?payment=
sr.illum[.]pw/magento/payment_forminsite.js //pagamentoagora[.]tk/?payment=

Host pagamento agora[.]tk, usado como portão em um script pagamento_forminsite.js, foi descoberto como assuntoAltName em diversos certificados relacionados ao serviço CloudFlare. Além disso, o host continha um script mal.js. A julgar pelo nome do script, ele poderia ser utilizado como parte da exploração do CVE-2016-4010, graças ao qual é possível injetar código malicioso no rodapé de um site rodando CMS Magento. O host usou este script como uma porta solicitação.requestnet[.]tkusando o mesmo certificado do host pagamento agora[.]tk.

Formulários de pagamento falsos

A figura abaixo mostra um exemplo de formulário para inserção de dados do cartão. Este formulário foi usado para se infiltrar em uma loja online e roubar dados de cartões.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
A figura a seguir mostra um exemplo de formulário de pagamento falso do PayPal que foi usado por invasores para se infiltrar em sites com esse método de pagamento.
Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Infra-estrutura

Nome de domínio Data da descoberta/aparecimento
cdn.illum.pw 27/11/2016
registros.nstatistics.com 06/09/2018
solicitação.payrightnow.cf 25/05/2018
pagamento agora.tk 16/07/2017
linha de pagamento.tk 01/03/2018
pagamentopal.cf 04/09/2017
requestnet.tk 28/06/2017

Família CoffeeMokko

A família de farejadores CoffeMokko, projetada para roubar cartões bancários de usuários de lojas online, está em uso pelo menos desde maio de 2017. Presumivelmente, os operadores desta família de farejadores são o grupo criminoso Grupo 1, descrito pelos especialistas do RiskIQ em 2016. Sites que executam CMSs como Magento, OpenCart, WordPress, osCommerce e Shopify foram atacados.

Como o CoffeMokko é implementado no código de uma loja online

Os operadores desta família criam farejadores exclusivos para cada infecção: o arquivo do farejador está localizado no diretório src ou js no servidor dos invasores. A incorporação no código do site é feita por meio de um link direto para o sniffer.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
O código sniffer codifica os nomes dos campos do formulário dos quais os dados precisam ser roubados. O sniffer também verifica se o usuário está na página de pagamento, verificando a lista de palavras-chave com o endereço atual do usuário.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Algumas versões descobertas do sniffer foram ofuscadas e continham uma string criptografada na qual o conjunto principal de recursos era armazenado: continha os nomes dos campos de formulário de vários sistemas de pagamento, bem como o endereço do portão para o qual os dados roubados deveriam ser enviados.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
As informações de pagamento roubadas foram enviadas para um script no servidor dos invasores ao longo do caminho /savePayment/index.php ou /tr/index.php. Presumivelmente, este script é usado para enviar dados do portão para o servidor principal, que consolida os dados de todos os farejadores. Para ocultar os dados transmitidos, todas as informações de pagamento da vítima são criptografadas usando base64e, em seguida, ocorrem várias substituições de caracteres:

  • o caractere "e" é substituído por ":"
  • o símbolo "w" é substituído por "+"
  • o caractere "o" é substituído por "%"
  • o caractere "d" é substituído por "#"
  • o caractere "a" é substituído por "-"
  • o símbolo "7" é substituído por "^"
  • o caractere "h" é substituído por "_"
  • o símbolo "T" é substituído por "@"
  • o caractere "0" é substituído por "/"
  • o caractere "Y" é substituído por "*"

Como resultado de substituições de caracteres codificadas usando base64 Os dados não podem ser decodificados sem realizar a conversão reversa.

Esta é a aparência de um fragmento de código sniffer que não foi ofuscado:

Quatro farejadores de JavaScript que estão à sua espera nas lojas online

Análise de Infraestrutura

Nas primeiras campanhas, os invasores registraram nomes de domínio semelhantes aos de sites legítimos de compras online. Seu domínio pode diferir do legítimo por um símbolo ou outro TLD. Domínios registrados foram usados ​​para armazenar código sniffer, cujo link foi incorporado ao código da loja.

Este grupo também usou nomes de domínio que lembram plug-ins jQuery populares (slickjs[.]org para sites que usam o plugin slick.js), gateways de pagamento (sagecdn[.]org para sites que usam o sistema de pagamento Sage Pay).

Posteriormente, o grupo começou a criar domínios cujos nomes nada tinham a ver com o domínio da loja ou com o tema da loja.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Cada domínio correspondia a um site no qual o diretório foi criado / js ou / src. Os scripts do sniffer foram armazenados neste diretório: um sniffer para cada nova infecção. O sniffer foi incorporado ao código do site por meio de um link direto, mas em casos raros, os invasores modificaram um dos arquivos do site e adicionaram código malicioso a ele.

Análise de código

Primeiro algoritmo de ofuscação

Em algumas amostras descobertas de farejadores desta família, o código foi ofuscado e continha dados criptografados necessários para o funcionamento do farejador: em particular, o endereço do portão do farejador, uma lista de campos do formulário de pagamento e, em alguns casos, o código de um falso Formulário de pagamento. No código dentro da função, os recursos foram criptografados usando XOR pela chave que foi passada como argumento para a mesma função.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Ao descriptografar a string com a chave apropriada, exclusiva para cada amostra, você pode obter uma string contendo todas as strings do código sniffer separadas por um caractere separador.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online

Segundo algoritmo de ofuscação

Em amostras posteriores de farejadores desta família, foi utilizado um mecanismo de ofuscação diferente: neste caso, os dados foram criptografados usando um algoritmo auto-escrito. Uma string contendo dados criptografados necessários para o funcionamento do sniffer foi passada como argumento para a função de descriptografia.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Usando o console do navegador, você pode descriptografar os dados criptografados e obter uma matriz contendo recursos do sniffer.

Quatro farejadores de JavaScript que estão à sua espera nas lojas online

Conexão com os primeiros ataques MageCart

Durante a análise de um dos domínios utilizados pelo grupo como gateway para coleta de dados roubados, constatou-se que esse domínio hospedava uma infraestrutura para roubo de cartões de crédito idêntica à utilizada pelo Grupo 1, um dos primeiros grupos, descoberto por especialistas do RiskIQ.

Dois arquivos foram encontrados no host da família de farejadores CoffeMokko:

  • mago.js — arquivo contendo código sniffer do Grupo 1 com endereço de portão js-cdn.link
  • mag.php — Script PHP responsável por coletar dados roubados pelo sniffer

Conteúdo do arquivo mage.js Quatro farejadores de JavaScript que estão à sua espera nas lojas online
Também foi determinado que os primeiros domínios usados ​​pelo grupo por trás da família de farejadores CoffeMokko foram registrados em 17 de maio de 2017:

  • link-js[.]link
  • info-js[.]link
  • track-js[.]link
  • mapa-js[.]link
  • link inteligente-js[.]

O formato desses nomes de domínio corresponde aos nomes de domínio do Grupo 1 que foram usados ​​nos ataques de 2016.

Com base nos fatos apurados, pode-se presumir que existe uma ligação entre os operadores dos farejadores CoffeMokko e o grupo criminoso Grupo 1. Presumivelmente, os operadores da CoffeMokko poderiam ter emprestado ferramentas e software dos seus antecessores para roubar cartões. No entanto, é mais provável que o grupo criminoso por trás do uso da família de farejadores CoffeMokko sejam as mesmas pessoas que realizaram os ataques do Grupo 1. Após a publicação do primeiro relatório sobre as atividades do grupo criminoso, todos os seus nomes de domínio foram bloqueado e as ferramentas foram estudadas detalhadamente e descritas. O grupo foi forçado a fazer uma pausa, refinar suas ferramentas internas e reescrever o código do sniffer para continuar seus ataques e permanecer sem ser detectado.

Infra-estrutura

Nome de domínio Data da descoberta/aparecimento
link-js.link 17.05.2017
info-js.link 17.05.2017
track-js.link 17.05.2017
map-js.link 17.05.2017
smart-js.link 17.05.2017
adorobeauty.org 03.09.2017
segurança-pagamento.su 03.09.2017
braincdn.org 04.09.2017
sagecdn.org 04.09.2017
slickjs.org 04.09.2017
carvalhoandfort.org 10.09.2017
citywlnery.org 15.09.2017
dobell.su 04.10.2017
kidssplayclothing.org 31.10.2017
jewsondirect. com 05.11.2017
shop-rnib.org 15.11.2017
closetlondon.org 16.11.2017
misshaus.org 28.11.2017
bateria-force.org 01.12.2017
kik-vape.org 01.12.2017
www.greatfurnituretradingco.org 02.12.2017
etradesupply.org 04.12.2017
substituamyremote.org 04.12.2017
tudo sobre tênis.org 05.12.2017
mage-checkout.org 05.12.2017
nililotan.org 07.12.2017
lamooodbighat.net 08.12.2017
walletgear.org 10.12.2017
dahlie.org 12.12.2017
davidsfootwear.org 20.12.2017
blackriverimaging.org 23.12.2017
exrpesso.org 02.01.2018
parques.su 09.01.2018
pmtonline.su 12.01.2018
otocap.org 15.01.2018
www.christohperward.org 27.01.2018
coffetea.org 31.01.2018
energycoffe.org 31.01.2018
energytea.org 31.01.2018
teacoffe.net 31.01.2018
adaptivecss.org 01.03.2018
coffemokko.com 01.03.2018
londontea.net 01.03.2018
ukcoffe. com 01.03.2018
labbe.biz 20.03.2018
baterianart.com 03.04.2018
btosports.net 09.04.2018
chicksaddlery.net 16.04.2018
paypaypay.org 11.05.2018
ar500arnor.com 26.05.2018
autorizecdn.com 28.05.2018
slickmin.com 28.05.2018
bannerbuzz.info 03.06.2018
www.kandypens.net 08.06.2018
mylrendyphone. com 15.06.2018
Freshchat.info 01.07.2018
3lift.org 02.07.2018
abtasty.net 02.07.2018
mechat.info 02.07.2018
zoplm. com 02.07.2018
zapaljs.com 02.09.2018
foodandcot. com 15.09.2018
www.freshdepor.com 15.09.2018
swappastore.com 15.09.2018
verywellfitnesse. com 15.09.2018
elegrina.com 18.11.2018
majsurplus.com 19.11.2018
top5value.com 19.11.2018

Fonte: habr.com

Adicionar um comentário