O script é empacotado com o empacotador do Java Script, Dean Edwards – provavelmente o mais popular para JavaScript. No entanto, ele pode ser desempacotado de forma simples, resultando no código de script que será executado, como pode ser visto logo abaixo.
Essa parte do código primeiro verifica se o URL contém myaccount/withdraw/BTC. Desta forma, podemos supor que o objetivo dos cibercriminosos é direcionar o ataque a uma plataforma de bitcoin. Se a revisão for positiva, o script continua e adiciona um novo script à página web e incorpora o código em https://www.statconuter[.]com/c.php.
Observe que os cibercriminosos registraram um domínio muito semelhante ao site legítimo StatCounter[.]com. Eles apenas mudaram a ordem de duas letras, que são difíceis de serem notadas ao revisar os logs por qualquer atividade incomum. É interessante notar que, ao analisar o DNS passivo do domínio, percebemos que esse domínio já estava suspenso em 2010 devido ao uso abusivo.
Conforme explicado acima, o script é direcionado para um URI (Uniform Resource Identifier) ​​específico: myaccount/withdraw/BTC. Acontece que entre as diferentes exchange de criptomoedas disponíveis no momento da produção deste texto, apenas o gate.io conta com uma página válida com este URI. Portanto, essa exchange parece ser o alvo principal deste ataque. Deve-se notar que esta exchange é muito popular, e que está classificada no Alexa na posição 26.251 e na 8.308 na China.
Além disso, de acordo com a página coinmarketcap.com, vários milhões de dólares, incluindo 1,6 milhões de dólares apenas em transações bitcoin, passam por essa plataforma todos os dias. Com isso, pode ser muito lucrativo para os cibercriminosos roubar criptomoedas em grande escala nesta plataforma.
O site https://www.gate[.]io/myaccount/withdraw/BTC, apresentado abaixo, é usado para transferir bitcoin da conta gate.io para um endereço bitcoin externo.
Pode não ser surpreendente, mas acontece que o payload da segunda fase, do statconuter[.]com/c.php, é projetado para roubar bitcoins. Com o qual, faz sentido injetar o script no site gate.io. Este script também é empacotado com Dean Edwards. Em seguida, mostramos a versão desempacotada.
Na página genuína do gate.io, há atualmente uma função doSubmit, que é chamada quando o usuário clica no botão “enviar”, mas aqui os cibercriminosos a redefiniram.
O script substitui automaticamente o endereço bitcoin de destino com um endereço pertencente aos atacantes, por exemplo, 1JrFLmGVk1ho1UcMPq1WYirHptcCYr2jad. O servidor malicioso gera um novo endereço bitcoin toda vez que um visitante carrega o script statconuter[.]com/c.php. Desta forma, é difícil detectar quantos bitcoins foram transferidos para os cibercriminosos.
Dependendo se a vítima digitar um valor maior que 10 BTC ou não, será usado o script dos cibercriminosos ou o limite diário de retirada da conta da vítima. Em nosso teste, o limite de retirada é definido por padrão como 100 BTC. Finalmente, o script malicioso envia o formulário, que executa a transferência da conta da vítima para a carteira do cibercriminoso.