Cryptojacking: quando a máquina minera para outra pessoa
Como o malware de mineração entra, por que o dono de um rig é o mais preparado e o mais fácil de enganar, e como checar e limpar a máquina direito.
O que é cryptojacking?
Cryptojacking é alguém rodando um programa de mineração num hardware que não é dele e pelo qual ele não paga. Não é raro. É a coisa mais comum que um malware faz com uma máquina depois de tomá-la.
O motivo é simples: o pagamento não depende de enganar a vítima em mais nada depois. A vítima é a conta de luz, e ela chega em silêncio.
Quase sempre é Monero. Essa moeda pode ser minerada com lucro em processadores comuns, então alguns milhares de computadores de escritório valem a pena. A privacidade dela também faz com que o dinheiro não possa ser rastreado.
O programa costuma ser o XMRig, um programa de mineração comum de código aberto. Só o nome e a configuração são alterados.
Uma máquina minerando para outra pessoa não parece infectada do jeito que as pessoas esperam. Nada é criptografado, nenhum arquivo some, nenhum resgate aparece. Ela só esquenta, reduz o desempenho, desgasta as ventoinhas e custa dinheiro.
Por que é diferente quando você já minera?
Os artigos genéricos dizem todos a mesma coisa: procure uso alto do processador, calor e ventoinhas barulhentas. Num rig, as três coisas são normais. Então o conselho de sempre não detecta nada.
Ser minerador faz de você a pessoa mais bem equipada para encontrar isso. Também faz de você a mais fácil de enganar.
A sua vantagem é um segundo registro, independente, do que o seu hardware produziu. O painel do seu pool é medido no servidor de outra pessoa, a partir do trabalho que de fato chegou.
Compare esse número com o que o rig informa. Primeiro desconte os shares stale, que são shares que chegaram tarde demais para contar. Se o painel ainda fica bem abaixo do rig, alguma coisa está consumindo a diferença.
Como um programa de mineração chega a uma máquina?
Os caminhos mudaram pouco. Nenhum deles exige um atacante sofisticado.
- Programas crackeados e piratas. Ainda é a maior fonte isolada. Um keygen ou um instalador modificado é um programa que você aceitou rodar com as suas próprias permissões. O programa de mineração vai junto dentro do pacote.
- Qualquer coisa exposta à internet sem atualização. Falhas antigas e bem conhecidas em programas de servidor são procuradas o tempo todo. Um programa de mineração é a carga preferida, porque gera dinheiro com uma máquina que não guarda nada que valha a pena roubar.
- Pendrives. Campanhas recentes se copiam para drives removíveis. Elas se escondem atrás de um atalho que parece o ícone do drive. É assim que uma rede sem exposição à internet ainda é infectada.
- Imagens de contêiner e de build. Uma imagem base baixada de um registro público pode trazer um programa de mineração. Ela então minera em todo ambiente criado a partir dela.
- Uma aba do navegador, embora muito menos do que antes. Scripts que mineram enquanto uma página está aberta foram uma indústria até o maior fornecedor encerrar as atividades em 2019. Eles ainda existem em sites de streaming e de download, mas param quando a aba é fechada.
Quais são os sinais em uma máquina que deveria estar ociosa?
- Ela nunca fica ociosa de verdade. As ventoinhas continuam aceleradas e o gabinete continua quente sem nada aberto.
- Um processo que você não consegue explicar. Muitas vezes o nome dele imita o de um processo real do sistema. Um único caractere diferente em um nome conhecido é um truque comum.
- Um uso que cai no momento em que você abre o gerenciador de tarefas e volta quando você o fecha. Esse comportamento é proposital e, sozinho, já é quase uma prova.
- Uma tarefa agendada, um serviço ou uma entrada de inicialização que ninguém criou.
- Conexões de saída para um host que você não reconhece, repetidas em um ritmo fixo.
Quais são os sinais em um rig que deveria estar minerando?
Aqui a pergunta não é se algo está minerando. É se tudo o que está minerando é seu.
- O painel fica abaixo do que o rig informa, de forma constante, mais do que os shares stale explicam.
- Dois processos de mineração onde você iniciou um. Em um rig com várias GPUs, vale a pena contar.
- O seu script de inicialização ou flight sheet tem um endereço de carteira ou um host que você não digitou. Leia com atenção, não só dê uma olhada. Um endereço alterado no meio parece idêntico à primeira vista.
- Uma placa esquenta, mas não produz nada no seu pool. É assim que fica um segundo programa de mineração preso a um único dispositivo.
- Ela continua minerando depois que você a parou. Se parar o seu próprio programa de mineração não acalma a máquina, alguma outra coisa está rodando.
O que é a troca de carteira e por que ela custa mais?
Uma família separada de malware faz algo pior e mais simples. Ela vigia a área de transferência. Quando você copia algo com cara de endereço de carteira, ela coloca o endereço do atacante no lugar.
Ela escolhe um endereço que começa e termina com os mesmos caracteres que o seu. Assim, uma conferência rápida passa. Pessoas já perderam grandes quantias desse jeito, sem nenhuma mineração envolvida. Os dois tipos de malware muitas vezes são instalados juntos.
Os mineradores enfrentam uma segunda versão da mesma ideia. O endereço dentro de um script de inicialização ou flight sheet é reescrito uma vez. Todo pagamento depois disso vai para outro lugar.
Nada quebra, e o rig minera perfeitamente. O dinheiro só chega a outra carteira. Normalmente as pessoas descobrem quando se perguntam por que um pagamento nunca chegou.
A defesa é sem graça, e funciona:
- Depois de colar um endereço em qualquer lugar que importe, confira o endereço inteiro, não só as pontas.
- Confirme que o endereço no seu painel é o que você queria.
- Se os seus pagamentos param e o seu hashrate não, confira o endereço antes de qualquer outra coisa.
Como verificar uma máquina, passo a passo?
Siga estes passos em ordem:
- Compare os dois hashrates. Coloque o que o rig informa ao lado do painel do pool, ao longo de um dia e não de um minuto.
- Leia a sua própria configuração. Confira cada endereço de carteira e cada host, caractere por caractere, em cada rig.
- Pare o seu programa de mineração e observe. Uma máquina que continua ocupada depois disso tem outra coisa rodando.
- Liste o que inicia sozinho. No Windows, confira as tarefas agendadas e os serviços. No Linux, confira os timers e o cron. Confira também o que roda no login.
- Olhe as conexões de saída enquanto o seu programa de mineração está parado. Qualquer coisa que continue se comunicando num ritmo merece ser identificada.
- Faça uma varredura com algo confiável, mas não pare num resultado limpo. Programas de mineração muitas vezes são modificados até os antivírus não os reconhecerem mais. Por isso este passo é o último, e não o primeiro.
Por que apagar o arquivo não basta?
Esses programas são feitos para voltar. Apagar o programa enquanto o que o inicia sobrevive só ganha alguns minutos.
Remova as coisas nesta ordem:
- A tarefa agendada, o serviço, a entrada de inicialização, a linha do cron e a chave do registro.
- Depois o próprio arquivo.
- Depois reinicie e confira se nada voltou.
Pense em reinstalar uma máquina que importava. Isso vale em dobro para qualquer uma que já guardou uma carteira ou uma chave privada. O mesmo acesso que instalou um programa de mineração poderia instalar qualquer outra coisa.
Uma campanha moderna também terá coletado senhas pelo caminho. Troque as senhas que essa máquina viu, usando outro dispositivo.
Como se manter limpo?
As regras que evitam isso são chatas. As pessoas as pulam porque minerar significa baixar programas não assinados de estranhos.
- Baixe programas de mineração da página de releases do próprio projeto e confira o checksum publicado. Um programa de mineração de um link de fórum, da descrição de um vídeo ou de um pacote reempacotado é o jeito mais provável de um rig ser infectado. Você esperava um aviso, então o ignorou.
- Nunca rode programas crackeados numa máquina que minera ou guarda uma carteira. Nunca. Os dois hábitos não combinam.
- Atualize tudo o que está exposto à internet. A maioria das infecções é automática e escolhe as máquinas pelo número da versão.
- Mantenha a carteira que recebe os pagamentos separada da máquina que minera. Um rig só precisa de um endereço, nunca de chaves.
- Confira o seu endereço de pagamento depois de qualquer mudança em um rig. Confira de novo depois de qualquer coisa inesperada acontecer com ele.