Uma máquina de fazer dinheiro: o malware para extrair Monero

Uma máquina de fazer dinheiro: o malware para extrair Monero

Os cibercriminosos modificaram um software legítimo para extrair Monero por meio de uma vulnerabilidade conhecida no Microsoft IIS 6.0.

Os cibercriminosos modificaram um software legítimo para extrair Monero por meio de uma vulnerabilidade conhecida no Microsoft IIS 6.0.

Enquanto as pessoas em todo o mundo permanecem alerta e se perguntam os famosos grupos de cibercriminosos como Lazarus ou Telebots voltarão a atacar com algum outro ransomware destrutivo ao estilo do WannaCryptor ou Petya, há muitas outras operações menos agressivas, muito mais furtivas e, muitas vezes, muito lucrativas.

Uma dessas operações está ocorrendo pelo menos desde maio de 2017, na qual os cibercriminosos infectam servidores web Windows que não contam com os patches e instalam um software malicioso para extrair uma moeda virtual.  O objetivo é utilizar o poder de computação dos servidores na mineração do Monero (XMR), uma das novas criptomoedas alternativas ao Bitcoin.

Os cibercriminosos modificaram um software legítimo de código aberto para extrair Monero e aproveitaram uma vulnerabilidade conhecida no Microsoft IIS 6.0 para instalar secretamente o mineiro em servidores sem o patche correspondente. Ao longo de três meses, os criminosos por trás da campanha criaram uma botnet de várias centenas de servidores infectados e um lucro no Monero equivalente a mais de USD 63.000.

Os clientes da ESET estão protegidos contra quaisquer tentativas de explorar esta vulnerabilidade específica, mesmo que suas máquinas não tenham instalado o patche, como no caso do EternalBlue, o exploit utilizado para propagar o WannaCryptor.

Por que escolheram o Monero e não o Bitcoin?

Embora esteja muito atrás do Bitcoin em capitalização de mercado, o Monero possui várias características que o tornam uma criptomoeda muito atrativa para extrair com malware: suas transações não podem rastrear e o seu algoritmo de prova de trabalho chamado CryptoNight permite usar a CPU ou GPU de computadores ou servidores comuns, diferente do hardware de mineração especializado que é necessário para extrair bitcoins.

Podemos observar que o tipo de taxa de câmbio passa de 40 USD/XMR a 150 USD/XMR no mês passado, caindo para 100 USD/XMR.

Imagem 1: Gráfico de velas que mostra o tipo de câmbio dólar/Monero em agosto de 2017.

O malware para extrair a moeda virtual

Visto primeiro como in-the-wild em 26 de maio de 2017, este software malicioso foi extraído de um programa de mineração legítimo de código aberto para minar Monero na CPU, que se chama xmrig, versão 0.8.2 (lançado em maio de 2017).

Ao criar o software malicioso de mineração, os criminosos não aplicaram qualquer alteração no código aberto original, apenas adicionaram argumentos de linha de comando codificados de forma rigorosa ao endereço da carteira do cibercriminoso e à URL de mineração (pool), além de alguns comandos para finalizar todas as instâncias previamente em execução para que não pudessem competir com sua nova instância. Fazer essa modificação pode ter levado alguns minutos dos cibercriminosos.

As seguintes imagens mostram o código modificado do cibercriminoso e sua correspondência com o código fonte.

Imagem 2: Comparação de código entre versões originais e adaptadas.

Exploração e aproveitamento de vulnerabilidades

A distribuição do malware de mineração para os computadores das vítimas é a parte mais difícil desta operação, mas inclusive aqui, os cibercriminosos escolheram a alternativa mais fácil. Existem dois endereços IP que identificamos como fonte das explorações de força bruta para a vulnerabilidade CVE-2017-7269, e ambos apontam para o Amazon Web Services. A natureza indiscriminada das varreduras foi evidenciada pelo número de acessos aos endereços IP das mesmas sub-redes e porque as vítimas eram de países diferentes (principalmente do Oriente Médio, Sudeste Asiático e África do Norte).

A vulnerabilidade explorada pelos cibercriminosos foi descoberta em março de 2017 por Zhiniang Peng e Chen Wu. Trata-se de uma vulnerabilidade no serviço WebDAV que faz parte do Microsoft IIS versão 6.0, o servidor web no Windows Server 2003 R2. Um vazamento de buffer perigoso na função ScStoragePathFromUrl é ativado quando o servidor vulnerável está processando uma solicitação HTTP maliciosa. Em particular, um pedido PROPFIND especificamente criado com este objetivo ocasiona um desdobramento de buffer de tamanho duplo ao proporcionar de forma equivocada a recontagem de caracteres Unicode no lugar da recontagem em bytes. Uma análise muito detalhada do mecanismo por Javier M. Mellid pode ser encontrada aqui. Esta vulnerabilidade é especialmente suscetível aos ataques, uma vez que está localizada em um serviço de servidor Web, que na maioria dos casos são visíveis na Internet e, portanto, pode ser facilmente acessado e explorado por qualquer pessoa.

O payload tem formato de cadeia alfanumérica. Os cibercriminosos substituem a cadeia que executa a calculadora Windows por outra que baixa e executa o seu payload malicioso. No entanto, isso não requer muita sofisticação, considerando que existem ferramentas online (como alpha3) que ajudam a transformar qualquer shellcode na cadeia desejada.

O shellcode é a ação de download e execução (baixando dasHost.exe de hxxt://postgre[.]tk/ para a pasta %TEMP%):

Imagem 3: Shellcode entregue pela exploração.

De acordo com os nossos dados, o primeiro ataque in-the-wild ocorreu apenas dois dias depois de sua publicação em 26 de março de 2017 e a vulnerabilidade foi aproveitada desde então.

Este malware mineiro em particular foi visto pela primeira vez in-the-wild em 26 de maio de 2017. Desde então, vem ocorrendo em ondas, semanalmente ou com menos frequência, o que implica que o cibercriminoso analisa a rede em busca de máquinas vulneráveis.

Imagem 4: Gráfico de ondas de infecção ao longo do tempo.

A exploração é sempre realizada a partir de um endereço IP, que parece ser de uma máquina hospedada em um servidor da Amazon na nuvem, que o cibercriminoso deve ter alugado para desenvolver o software de exploração.

Mitigação

A ESET detecta os binários maliciosos do mineiro como Win32/CoinMiner.AMW  e as tentativas de aproveitamento de vulnerabilidades na camada de rede como webDAV/ExploidingCan. Este é um exemplo real de um pacote que bloqueado pela ESET:

Imagem 5: Solicitação HTTP especificamente criada com um shellcode codificado.

A Microsoft cancelou as atualizações periódicas para o Windows Server 2003 em julho de 2015 e não liberou nenhum patche para esta vulnerabilidade até junho de 2017, quando várias foram descobertas várias vulnerabilidades dos sistemas e atraíram à atenção dos criadores do malware. A boa notícia é que, apesar do sistema estar obsoleto e ter deixado de receber atualizações, a Microsoft decidiu corrigir essas vulnerabilidades críticas para evitar ataques destrutivos em larga escala semelhantes ao surto WannaCryptor (também conhecido como WannaCry). No entanto, manter o Windows Server 2003 atualizado pode ser difícil, considerando que as atualizações automáticas nem sempre funcionam de forma adequada (por exemplo, esta publicação no blog do Clint Boessen confirma nossas próprias dúvidas sobre a atualização do sistema). Consequentemente, uma grande parte destes sistemas continuam sendo vulneráveis atualmente. Recomendamos aos usuários do Windows Server 2003 que instalem o patche KB3197835 e atualizações críticas o mais rápido possível (se as atualizações automáticas falharem, baixe e instale a atualização de segurança manualmente).

Estatísticas

Graças às estatísticas do pool mineiro, disponíveis publicamente, pudemos ver a taxa de hash combinada de todas as vítimas, o que representa o poder de computação total dedicado à conta de mineração. O valor parecia atingir consistentemente cerca de 100 kH/s, com um aumento de até 160 kH/s no final de agosto de 2017, que atribuímos às campanhas lançadas nos dias 23 e 30 de agosto.

No geral, as máquinas infectadas estavam fazendo aproximadamente 5,5 XMR diariamente até o final de agosto e chegaram a mais de 420 XMR no total ao longo de três meses. De acordo com a taxa de câmbio de 150 USD/XMR no momento, estes valores eram iguais a USD825 por dia e acima de US$ 63.000 no total, respectivamente.

Os atacantes foram muito ativos no final de agosto, mas em setembro não foram detectadas novas infecções. Além disso, como o malware de mineração não possui mecanismo de persistência, os cibercriminosos começaram lentamente a perder máquinas já comprometidas e a taxa de hash total caiu para 60 kH/s. Esta não é a primeira vez que os atacantes tomaram tal intervalo e é provável que uma nova campanha seja lançada no futuro.

Embora não possamos conhecer o número total de vítimas, podemos estimar essa quantidade a partir da taxa de hash total produzida pelo cibercriminoso. De acordo com os parâmetros de referência para as CPUs, um processador Intel i7 de alta gama tem uma taxa de hash por volta de 0.3-0.4 kH/s. No entanto, considerando o fato de que a exploração é limitada para os sistemas que executam o Windows Server 2003, que provavelmente funcionam em equipamentos de hardware mais antigos com unidades CPUs mais lentas, a taxa de hash média por vítima será muito menor e o número total de máquinas infectadas provavelmente muito maior.

Imagem 6: Estatísticas da carteira dos atacantes fornecidas pelo grupo de mineração.

Conclusão

Neste post vimos que um conhecimento técnico mínimo, custos operacionais muito baixos e pouco risco de ser pego (neste caso, o uso indevido do software legítimo de código aberto para a mineração de criptomoedas e o aproveitamento de sistemas operacionais antigos que não possuem os patches necessários instalados) podem ser suficientes para que o cibercriminoso garanta um bom resultado.

Às vezes, é preciso pouco para ganhar muito e isso é especialmente certo no atual mundo da cibersegurança, onde até mesmo as vulnerabilidades bem documentadas e conhecidas continuam sendo uma oportunidade muito eficaz para os cibercriminosos devido à imprudência de muitos usuários.

IoCs

Download Site:
hxxp://postgre.tk
hxxp://ntpserver.tk
Source IPs:
54.197.4.10
52.207.232.106
18.220.190.151
Hashes:
31721AE37835F792EE792D8324E307BA423277AE
A0BC6EA2BFA1D3D895FE8E706737D490D5FE3987
37D4CC67351B2BD8067AB99973C4AFD7090DB1E9
0902181D1B9433B5616763646A089B1BDF428262
0AB00045D0D403F2D8F8865120C1089C09BA4FEE
11D7694987A32A91FB766BA221F9A2DE3C06D173
9FCB3943660203E99C348F17A8801BA077F7CB40
52413AE19BBCDB9339D38A6F305E040FE83DEE1B

Leia também: Mineração de criptomoedas em navegadores: a união faz a força (e o lucro)

Créditos da imagem: © Markéta Fialová

and

Discussão