13 de dezembro de 2024

Sobre esquemas fraudulentos direcionados aos usuários de Huobi, MyEtherWallet e Blockchain.info

Extensões ou páginas maliciosas associadas ao Huobi, embora não sejam muito comuns, não são perigosas.inferior a qualquer outro esquema fraudulento. Recentemente, descobri um site com um lançamento aéreo para Huobi que usava um kit de phishing diferente para o MyEtherWallet, que já me era familiar. O site foi verificado digitando o endereço público se houvesse tokens do Huobi Airdrop nesse endereço (que na verdade são tokens falsos associados a outras fraudes). Se você digitar um endereço no qual não há tokens necessários, o servidor ainda retornará uma resposta com componentes de phishing.

Quando você digita seu endereço público, o servidorum invasor retorna um novo documento HTML, um site de phishing HuobiGlobal com um MyEtherWallet falso. Este documento HTML contém um link para um script PHP que chamou minha atenção.

O script redir.php é um conjunto malicioso de componentes para o MyEtherWallet, projetado para roubar suas chaves.

Este script salva sua chave privada em um cookie e executa outro script PHP.

Uma solicitação de rede que armazena uma chave privada em um cookie e a envia para postback.php

Se você digitar sua chave secreta, ela ficará disponível para os atacantes e você perderá seu dinheiro.

*   *   *

Desde que eu não encontrei um grande númeroDomínios de phishing / fraude em Huobi, decidi pesquisar mais. Me deparei com um token ERC20 anunciando um site de lançamento aéreo no qual ~ 20.000 endereços Ethereum participaram.

Com capital suficiente, isso é usado como uma maneira de avançar na esfera da blockchain.

Token do site

Se você olhar para o endereço de financiamentotransações (através de 19 endereços de proxy, ou seja: 0x0b88a083dc7b8ac2a84eba02e4acb2e5f2d3063c) e criando um contrato a partir do endereço 0x15ccc4ab2cfdb27fc4818bf481f7ed0352d8c6b3, você pode ver que o invasor:

  • criou 18 contratos entre os blocos 6 708 041 e 7 249 374;
  • todos, exceto um dos contratos, anunciam huobiairdrop.com; a exceção é apenas um contrato de teste;
  • O token de publicidade huobiairdrop.com foi enviado para 62.132 endereços.

Aqui está um despejo de endereços 0x15cc…c6b3 criados de contratos com publicidade huobiairdrop.com a partir do bloco 7362119:

0x219b9040eb7d8d8c2e8e84b87ce9ac1c83071980

0xb331728743d45a6470b8798320f2c173d41e4bfb

0x6727816581215d1a7389bb1e9afc7ae7bf2fd5d1

0x596f83e44d6e62fc886222afea468e14f4c3fec7

0x36794518b3ef84c4b1a40af9540a03292f692c38

0x8fa86218ec14bb207b5ae404c60a836c3d7cbb3a

0x7f30f5955b7605b96421e7c170edbbc45b373cd9

0x53e00c6a2887f71bed5340ce369675ddaff4f42a

0x9c6625dc8333b633c40a0c2f2a49379363763ba0

0x6c3bb918a1242ba4e32908d7bf4addd7ef651e74

0x7d4bf678252c1c85aa46e032bf70e76439ee1708

0x697a260ba6365ab241f7aef057da3587f0c255ca

0x7db95f8d8d80a75d768a2f8b0be392ff901d3fc8

0x409de70d8ad0135e6fd91f343899b93d903c998b

0xbd806a9a7ad8ce9d36048861dd63a295a3c9d5f2

0x203daffa152dafaf2a859029f729b364fc8540f8

E aqui está um despejo de endereços proxy usados ​​paralançamento aéreo de tokens - todos eles foram financiados a partir do endereço 0x15cc…c6b3 e valores semelhantes foram armazenados em todos os endereços proxy (após financiamento no valor de 5 ETH e envioxtransações), portanto podemos assumir que todas são relevantes para o cenário descrito.

0xb179778356bebad15bd4b238f1384288cb477378

0x65d471996e4925e0acd113c6bb47cbf96fbc581f

0x2e5b15ea47129fdcc351360c896563ff0aa5b2fc

0x0e464ba1d597ac772b86fb5a93a82bb397e8c438

0x0b19448105c56dc68244e5715b5a78b5e06ccc9d

0x24e55688d74f902e478e638b8bf4339cd92adc8b

0x0ef221408918939419e03f48b126436fd72051ca

0x5ed89913028bb07d3c0b0cb68a78234027563ef8

0xe82ac313c98be7c7f921fee5ef52da868fdb79dd

0x348413142a330edc6e8f4fb932ab656a63a1a9b4

0x4fbf7701b3078b5bed6f3e64df3ae09650ee7de5

0x691da2826ac32bbf2a4b5d6f2a07ce07552a9a8e

0xa33b95ea28542ada32117b60e4f5b4cb7d1fc19b

0xe06ed65924db2e7b4c83e07079a424c8a36701e5

0x1b1b391d1026a4e3fb7f082ede068b25358a61f2

0xbbfd8041ebde22a7f3e19600b4bab4925cc97f7d

0xecd91d07b1b6b81d24f2a469de8e47e3fe3050fd

0x2ef1b70f195fd0432f9c36fb2ef7c99629b0398c

0x0b88a083dc7b8ac2a84eba02e4acb2e5f2d3063c

0xc2e90df58f0d93d677f0d8e7e5afe3b1584bb5ab

Procurando por huobiairdrop.com

Resumo (se houver muitas letras): O site oferece a instalação de uma extensão do navegador que, capturando cabeçalhos CSP e solicitações de rede, adiciona scripts maliciosos às páginas MyEtherWallet.com e Blockchain.com.

Então inicializei a máquina virtual, fui paradomínio e vi um aviso do Google semelhante ao real, o que, no entanto, me confundiu um pouco - eu não sabia que o Google detectava esse tipo de cryptojacking…

Aviso falso de criptomoeda

Tentei ativar o MetaMask, e a notificação mudou a aparência para um aviso falso do MetaMask, embora eu saiba que o MetaMask não avisa sobre o uso de criptografia.

Aviso falso de MetaMask

De uma forma ou de outra, decidi procurar a fonte e vi que ela estava relacionada à extensão do Google Chrome; ID da extensão: coigcglbjbcoklkkfnombicaacmkphcm (NoCoin - Block Coin Miners)

No início de março, quando conduzi meu experimento, essa extensão maliciosa tinha 230 usuários

Eu pensei que os links para esta extensão das páginas de aviso do Google e MetaMask parecem muito estranhos e decidi investigar esse problema com mais detalhes.

Olhando para "NoCoin - Block Coin Miners"

Iniciei uma nova máquina virtual (porque não sabia o que a extensão faria, além disso, mudei de uma fonte não confiável / suspeita).

A princípio, a extensão parecia fazer exatamenteo que é reivindicado - ele detecta vários scripts de criptografia (CoinHive, MinerAlt, WebminerPool) e relata os resultados por meio de uma interface de usuário clara.

A julgar pela interface do usuário, a extensão faz seu trabalho corretamente

Eu acreditava que é improvável que a atividade da extensão se limite a isso, dada a suspeita de que eu a pratiquei.

Analisando o código fonte, notei duas coisas:

  • a extensão monitora e captura todas as solicitações da web, anexando um EventListener a onBeforeRequest e onHeadersReceived;
  • dependendo da atividade da rede, ele criou um domínio em .top (um domínio de nível superior conhecido por muito spam, de acordo com a Spamhaus).

Isso confirmou minha impressão de que a função do código de extensão está além do escopo da detecção de criptografia e eu decidi tentar fazer experiências com esse código.

Primeiro, eu queria saber o que o EventListener estava fazendo pelo onHeadersReceived porque estava substituindo o valor da Política de Segurança de Conteúdo.

A lógica usada para alterar o CSP para solicitações específicas

Decidi modificar o código para que ele reproduz essa lógica a cada solicitação.

Descobriu-se que a extensão substitui o CSP para poder fazer «com segurança» insira código de fontes não verificadas.

Agora vamos ver o que EventListener faz com onBeforeRequest. Ele verifica se o URL é igual a um hash específico e, em seguida, informa ao navegador para carregar um recurso separado usando redirectUrl.

A lógica usada para carregar recursos externos por meio do redirectUrl

No entanto, essa lógica é executada apenas se o hash da URL tiver um dos dois valores, mas quais são esses hashes?

eco -n blockchain.com | md5sum

425d95e3b753c1afb3871c66a858a4c9

 

eco -n myetherwallet.com | md5sum

5fd0d2c183e9184f63409aee2371700e

Ok, isso significa que a extensão captura solicitações para os domínios blockchain.com e myetherwallet.com.

Aqui está uma lista de domínios controlados por um invasor:

blockchainanalyticscdn.com

5b0c4f7f0587346ad14b9e59704c1d9a.top

925e40815f619e622ef71abc6923167f.top

Olhando para MyEtherWallet.com

Portanto, agora sabemos que o destino é myetherwallet.com e que a extensão modifica a política CSP para substituir solicitações de entrada por endereços de recursos externos. Vamos ver o que faz.

Como o código procura o mestre ou a parte da substring no recurso, o destino principal é o domínio vintage.myetherwallet.com para substituir o arquivo etherwallet-master.js.

Podemos dar uma olhada nisso sem permitir a captura de CSP.

Portanto, agora que sabemos que uma extensão maliciosa está substituindo o JS principal, vamos inserir nossa chave secreta e ver para onde a envia.

O script envia a chave secreta para outro script PHP como parte da string de consulta

Aqui está, nossa chave secreta foi enviada aos atacantes.

Observe que desde que o CSP foicapturada, não recebemos notificações sobre uma tentativa de baixar recursos externos e, do ponto de vista do usuário, a extensão funciona conforme o esperado e o certificado EV permanece intocado. O fato de a extensão ao mesmo tempo cumprir sua alegada função de detectar criptojacking também é uma decisão bastante inteligente, pois sua atividade indesejada passará despercebida por usuários não paranóicos por algum tempo.

Olhando para Blockchain.com

Sabemos que o blockchain.com é outro alvo, então vamos modificar um pouco o script para capturar o CSP e ver o que ele tenta carregar.

Vimos que a extensão está tentando baixar versões maliciosas do manifest.1550618679966.js, vendor.b18ffdf080.js e app.46d4854459.js como parte da lógica de logon da conta.

O que pode ser feito para se proteger?

Você precisa se comportar conscientemente e com cuidado. A responsabilidade por nossa segurança está conosco. Tema os dinamarqueses trazendo presentes.

  • Nunca instale extensões que possam alterar o DOM para um não verificado por você ou por uma fonte confiável.
  • Não confie cegamente nos avisos sobreoferta de segurança para instalar algum software; nos avisos do MetaMask (por exemplo, sobre phishing), o endereço do ramal sempre será exibido na barra de endereços do navegador.
  • Nunca insira suas chaves privadas online - sempre use mecanismos de assinatura offline (por exemplo, Ledger Wallet, TREZOR ou Parity Signer).

Os domínios envolvidos na campanha descrita neste artigo estão listados no Ether scatDB:

  • https://etherscamdb.info/domain/huobi-airdrop.org
  • https://etherscamdb.info/domain/huobiairdrop.co
  • https://etherscamdb.info/domain/huobiairdrop.com

Eles também foram incluídos na lista negra no MetaMask e EtherAddressLookup para proteger você de visitá-los.

</p>