MCCrash: botnet DDoS de plataforma cruzada visa servidores privados do Minecraft

Compartilhe

As operações de malware continuam a evoluir rapidamente à medida que os agentes de ameaças adicionam novos recursos às botnets existentes, visando e recrutando cada vez mais novos tipos de dispositivos. Os invasores atualizam o malware para atingir sistemas operacionais adicionais, variando de PCs a dispositivos IoT, aumentando rapidamente sua infraestrutura. A equipe de pesquisa do Microsoft Defender para IoT analisou recentemente uma botnet de plataforma cruzada que se origina de downloads de software mal-intencionado em dispositivos Windows e consegue se propagar para uma variedade de dispositivos baseados em Linux.

O botnet se espalha enumerando credenciais padrão em dispositivos habilitados para Secure Shell (SSH) expostos à Internet. Como os dispositivos IoT são comumente habilitados para configuração remota com configurações potencialmente inseguras, esses dispositivos podem estar em risco de ataques como este botnet. O mecanismo de disseminação do botnet o torna uma ameaça única, porque embora o malware possa ser removido do PC de origem infectado, ele pode persistir em dispositivos IoT não gerenciados na rede e continuar a operar como parte do botnet.

A Microsoft rastreia esse cluster de atividade como DEV-1028, um botnet de plataforma cruzada que infecta dispositivos Windows, dispositivos Linux e dispositivos IoT. O botnet DEV-1028 é conhecido por lançar ataques distribuídos de negação de serviço (DDoS) contra servidores privados do Minecraft.

Nossa análise da botnet DDoS revelou funcionalidades especificamente projetadas para atingir servidores Java privados do Minecraft usando pacotes criados, provavelmente como um serviço vendido em fóruns ou sites darknet. Um detalhamento dos sistemas afetados pela botnet ao longo dos três meses a partir do momento desta análise também revelou que a maioria dos dispositivos estava na Rússia:

Um mapa geográfico que apresenta os países onde estão localizados os dispositivos afetados pela botnet.  Os países com dispositivos afetados são destacados no mapa em azul.
Figura 1. Distribuição IP dos dispositivos infectados pela botnet

Esse tipo de ameaça enfatiza a importância de garantir que as organizações gerenciem, mantenham-se atualizadas e monitorem não apenas os endpoints tradicionais, mas também os dispositivos IoT que geralmente são menos seguros. Nesta postagem do blog, compartilhamos detalhes sobre como esse botnet afeta várias plataformas, seus recursos de DDoS e recomendações para organizações evitarem que seus dispositivos se tornem parte de um botnet. Também compartilhamos informações da versão do servidor Minecraft para que os proprietários de servidores privados atualizem e garantam que estejam protegidos contra essa ameaça.

Botnet de plataforma cruzada tem como alvo dispositivos habilitados para SSH

Os pesquisadores da Microsoft observaram que os pontos iniciais de infecção relacionados ao botnet eram dispositivos infectados por meio da instalação de ferramentas de cracking maliciosas que pretendem adquirir licenças ilegais do Windows.

Duas capturas de tela das interfaces de usuário das ferramentas de cracking usadas para espalhar o botnet MCCrash.
Figura 2. Ferramentas de cracking usadas para espalhar a botnet.

As ferramentas de cracking contêm código adicional que baixa e inicia uma versão falsa do svchost.exe por meio de um comando do PowerShell. Em alguns casos, o arquivo baixado é denominado svchosts.exe .

Uma captura de tela do código de malware de uma ferramenta de análise, especificamente a função em que o malware baixa e executa o arquivo malicioso, svchost.exe.
Figura 3. O código do executável .NET que baixa e executa svchost.exe

Em seguida, o svchost.exe lança malicioso.py , o principal script Python que contém toda a lógica do botnet, que então verifica a Internet em busca de dispositivos baseados em Linux habilitados para SSH (Debian, Ubuntu, CentOS e cargas de trabalho de IoT, como Raspbian, que são comumente habilitados para configuração remota) e lança um ataque de dicionário para se propagar. Depois que um dispositivo é encontrado, ele baixa o arquivo Updater.zip de repo[.]ark—event[.]net para o dispositivo, o que cria o arquivo fuse. O arquivo fuse então baixa uma cópia do malicioso.py no dispositivo. Tanto o svchost.exe quanto o fuse são compilados usando o PyInstaller, que agrupa todo o tempo de execução do Python e as bibliotecas necessárias para iniciar o malicioso.py .

Um gráfico que apresenta todo o fluxo de ataque de botnet DDoS desde a infecção inicial por meio de um software de cracking malicioso até a execução de comandos DDoS de dispositivos infectados.
Figura 4. O fluxo de ataque de botnet DDoS

Embora malicioso.py tenha funcionalidades específicas, dependendo se o arquivo é iniciado em um dispositivo baseado em Windows ou Linux (para Windows, o arquivo estabelece persistência adicionando a chave de registro Software\Microsoft\Windows\CurrentVersion\Run com o executável como o valor) , o executável é compilado para operar em dispositivos baseados em Windows e Linux. O arquivo se comunica com seu servidor de comando e controle (C2) para iniciar os seguintes comandos:

  • Estabeleça conexão TCP com repo[.]ark-event[.]net na porta 4676.
  • Envie a string de conexão inicial.
  • Receba uma chave do servidor para criptografia e descriptografia e, em seguida, criptografe a comunicação adicional usando o algoritmo simétrico Fernet.
  • Envie informações de versão para o servidor:
    • Dispositivo Windows: A versão atual do Windows
    • Dispositivo Linux: Versão codificada (2.19 na amostra que analisamos)
  • Continue recebendo comandos criptografados do servidor

Com base em nossa análise, o botnet é usado principalmente para lançar ataques DDoS contra servidores privados do Minecraft usando comandos DDoS de servidor conhecidos e comandos exclusivos do Minecraft. Abaixo está a lista de comandos estabelecidos no código:

ComandoDescrição
SINCRONIZARVerifique se o malware está em execução
PROXY_<url>Definir servidores proxy
DOWNLOAD_<url>⇬ Fazer download do arquivo
EXEC_<comando>Executar linha de comando específica
SCANNER [LIGADO|DESLIGADO]Ataque de credenciais padrão em servidores SSH para se espalhar
ATAQUE_TCPEnviar cargas TCP aleatórias
ATAQUE_[HOLD|HANDSHAKE]Enviar cargas TCP aleatórias por meio de proxy
ATTACK_UDPEnviar payload UDP aleatório
ATTACK_VSEAtaque ao protocolo Valve Source Engine
ATTACK_RAKNETAtaque no protocolo RakNet (usado por servidores Minecraft)
ATTACK_NETTYMinecraft – Pacote de aperto de mão de login
ATAQUE_[MCBOT|MINA]Minecraft – Pacote inicial de login
ATAQUE_[MCPING|PING]Minecraft – Pacote de sucesso de login
ATTACK_MCDATAMinecraft – Aperto de mão de login, início de login e pacotes de janelas fechadas
ATTACK_MCCRASHMinecraft – pacotes Login Handshake e Login Start, usando nome de usuário com env variável
ATTACK_JUNKEnviar pacote Tab-Complete
ATTACK_HTTP-GETEnviar solicitação GET
ATTACK_HTTP-FASTEnviar solicitação HEAD
STOP_ATTACKPare o ataque anterior

Embora a maioria dos comandos sejam métodos de DDoS, o comando mais notável executado pela botnet é ATTACK_MCCRASH. O comando envia ${env:carga aleatória de tamanho específico:-a} como o nome de usuário para esgotar os recursos do servidor e fazê-lo travar.

Uma captura de tela dos resultados da captura de pacotes que apresenta detalhes da carga TCP do malware.
Figura 5. Carga TCP MCCrash vista em uma captura de pacote

As cargas TCP na porta 25565 têm a seguinte estrutura binária:

  • Bytes [0:1] – Tamanho do pacote
  • Bytes [1:2] – Comando Iniciar Login
  • Bytes [2:3] – Tamanho do nome de usuário
  • Bytes [3:18] – String de nome de usuário

O uso da variável env desencadeia o uso da biblioteca Log4j 2, que causa consumo anormal de recursos do sistema (não relacionado à vulnerabilidade Log4Shell), demonstrando um método DDoS específico e altamente eficiente.

Uma ampla gama de versões do servidor Minecraft pode ser afetada

Ao testar o impacto do malware, os pesquisadores descobriram que o próprio malware foi codificado para atingir uma versão específica do servidor Minecraft, 1.12.2. No entanto, todas as versões entre 1.7.2 e 1.18.2 podem ser afetadas por este método de ataque. Há uma pequena modificação no protocolo do Minecraft na versão 1.19 do servidor, lançada no início de 2022, que impede o uso dos comandos específicos do Minecraft, o ATTACK_MCCRASH , ATTACK_[MCBOT|MINE] e ATTACK_MCDATA , sem modificação do código de ataque.

Um gráfico de pizza que apresenta a distribuição dos servidores do Minecraft com base em sua versão.
Figura 6. Distribuição dos servidores do Minecraft por versão
Um mapa geográfico que apresenta os países onde estão localizados os servidores do Minecraft que podem ser afetados pelo MCCrash.  Os países com servidores que podem ser afetados são destacados no mapa em azul.
Figura 7. Distribuição dos servidores do Minecraft que podem ser afetados pelo MCCrash

A ampla variedade de servidores Minecraft em risco destaca o impacto que esse malware poderia ter se tivesse sido codificado especificamente para afetar versões posteriores à 1.12.2. A capacidade exclusiva dessa ameaça de utilizar dispositivos IoT que geralmente não são monitorados como parte da botnet aumenta substancialmente seu impacto e reduz suas chances de ser detectado.

Protegendo endpoints de botnets DDoS de plataforma cruzada como MCCrash

Para proteger as redes de dispositivos contra ameaças como MCCrash, as organizações devem implementar o básico para proteger identidades e seus dispositivos, incluindo limitação de acesso. As soluções devem detectar downloads de programas maliciosos e tentativas maliciosas de obter acesso a dispositivos habilitados para SSH e gerar alertas sobre comportamento anômalo da rede. Abaixo estão algumas de nossas recomendações para organizações:

  • Certifique-se de que os funcionários não estejam baixando ferramentas de cracking, pois elas são usadas como fonte de infecção para espalhar malware.
  • Aumente a segurança da rede aplicando métodos de autenticação multifator (MFA), como Azure Active Directory (agora parte do Microsoft Entra) MFA. Ative a proteção de rede para impedir que aplicativos ou usuários acessem domínios maliciosos e outros conteúdos maliciosos na Internet.

    O Microsoft 365 Defender protege contra ataques relacionados a botnets, coordenando dados de ameaças em identidades, pontos de extremidade, aplicativos de nuvem, email e documentos. Essa visibilidade entre domínios permite que o Microsoft 365 Defender detecte e corrija de forma abrangente as cadeias de ataque de ponta a ponta, desde downloads mal-intencionados até suas atividades subsequentes nos pontos de extremidade. Esse rico conjunto de ferramentas, como a busca avançada, permite que os defensores descubram ameaças e obtenham insights para proteger as redes contra comprometimento.
  • Adote uma solução abrangente de segurança IoT , como o Microsoft Defender para IoT , para permitir visibilidade e monitoramento de todos os dispositivos IoT e OT, detecção e resposta a ameaças e integração com plataformas SIEM/SOAR e XDR, como Microsoft Sentinel e Microsoft 365 Defender. O Defender for IoT é atualizado regularmente com indicadores de comprometimento (IoCs) da pesquisa de ameaças, como o exemplo descrito neste blog, juntamente com regras para detectar atividades maliciosas.

    No nível do dispositivo IoT:
    • Garanta configurações seguras para dispositivos: altere a senha padrão para uma forte e bloqueie o SSH do acesso externo.
    • Mantenha a integridade do dispositivo com atualizações: certifique-se de que os dispositivos estejam atualizados com o firmware e os patches mais recentes.
    • Usar acesso com privilégios mínimos: use um serviço de rede virtual privada (VPN) segura para acesso remoto e restrinja o acesso remoto ao dispositivo.
  • Para usuários que hospedam servidores privados do Minecraft, atualize para a versão 1.19.1 e superior.
  • Adote uma solução abrangente de segurança do Windows
    • Gerencie os aplicativos que seus funcionários podem usar por meio do Windows Defender Application Control e para soluções não gerenciadas, habilitando o Smart App Control.
    • Para clientes comerciais, habilite controles de aplicativo e navegador, como o Microsoft Defender Application Guard, para proteção aprimorada para Office e Edge.
    • Execute a limpeza oportuna de todos os executáveis ​​obsoletos e não utilizados nos dispositivos de sua organização.
    • Proteja-se contra ataques avançados de firmware habilitando a integridade da memória, Secure Boot e Trusted Platform Module 2.0, se não habilitado por padrão, que protege a inicialização usando recursos integrados em CPUs modernas.

Indicadores de compromisso (IOCs)

  • e3361727564b14f5ee19c40f4e8714fab847f41d9782b157ea49cc3963514c25 (KMSAuto++.exe)
  • 143614d31bdafc026827e8500bdc254fc1e5d877cb96764bb1bd03afa2de2320 (W10DigitalActivation.exe)
  • f9c7dd489dd56e10c4e003e38428fe06097aca743cc878c09bf2bda235c73e30 (dcloader.exe)
  • 4e65ec5dee182070e7b59db5bb414e73fe87fd181b3fc95f28fe964bc84d2f1f (updater.zip)
  • eb57788fd2451b90d943a6a796ac5e79f0faf7151a62c1d07b744a351dcfa382 (svchost s .exe)
  • 93738314c07ea370434ac30dad6569c59a9307d8bbde0e6df9be9e2a7438a251 (fusível)
  • 202ac3d32871cb3bf91b7c49067bfc935fbc7f0499d357efead1e9f7f5fcb9d1 (malicious.py)
  • repo[.]ark-event[.]net

Detecções

Antivírus Microsoft Defender

O Microsoft Defender Antivirus detecta o malware usado neste ataque da seguinte forma:

  • TrojanDownloader:MSIL/MCCrash.NZM!MTB
  • Trojan:Win32/MCCrash.MA!MTB
  • TrojanDownloader:Python/MCCrash!MTB
  • Trojan:Python/MCCrash.A
  • TrojanDownloader:Linux/MCCrash!MTB
  • Trojan:Python/MCCrash.RPB!MTB
  • Trojan:Python/MCCrash.RPC!MTB

Microsoft Defender para ponto de extremidade

Os alertas do Microsoft Defender for Endpoint com os seguintes títulos podem indicar atividade de ameaça em sua rede:

  • Grupo de atividade de ameaça emergente DEV-1028 detectado
  • Máscara de arquivo do sistema
  • Anomalia detectada no registro ASEP
  • Processo suspeito iniciado usando cmd.exe
  • Lançamento de arquivo suspeito

Microsoft Defender para IoT

A atividade relacionada ao MCCrash em dispositivos IoT geraria os seguintes alertas no Microsoft Defender para IoT:

  • Acesso SSH não autorizado
  • Tentativas de login excessivas

Microsoft Defender para nuvem

O Microsoft Defender for Cloud gera o seguinte alerta para atividades relacionadas:

  • VM_SuspectDownload

Consultas de caça avançadas

Microsoft 365 Defender

Execute as seguintes consultas para pesquisar arquivos relacionados em seu ambiente:

DeviceFileEvents
 |  where SHA256 in ("e3361727564b14f5ee19c40f4e8714fab847f41d9782b157ea49cc3963514c25","143614d31bdafc026827e8500bdc254fc1e5d877cb96764bb1bd03afa2de2320","f9c7dd489dd56e10c4e003e38428fe06097aca743cc878c09bf2bda235c73e30","4e65ec5dee182070e7b59db5bb414e73fe87fd181b3fc95f28fe964bc84d2f1f","eb57788fd2451b90d943a6a796ac5e79f0faf7151a62c1d07b744a351dcfa382","93738314c07ea370434ac30dad6569c59a9307d8bbde0e6df9be9e2a7438a251","202ac3d32871cb3bf91b7c49067bfc935fbc7f0499d357efead1e9f7f5fcb9d1")

 DeviceFileEvents
 |  onde FolderPath termina com @":\windows\svchost.exe"

 DeviceRegistryEvents
 |  onde RegistryKey contém "CurrentVersion\\Run"
 |  onde RegistryValueName == "br" ou RegistryValueData contém "svchost.exe" ou RegistryValueData contém "svchosts.exe"

 DeviceProcessEvents
 |  onde FileName in~ ("cmd.exe", "powershell.exe")
 |  onde ProcessCommandLine has_all ("-command", ".downloadfile(", "windows/svchost.exe") 

Sentinela da Microsoft

Os clientes do Microsoft Sentinel podem usar a análise TI Mapping para corresponder automaticamente os indicadores de domínio mal-intencionado mencionados nesta postagem de blog com os dados em seu espaço de trabalho. Se a análise TI Map não estiver implantada no momento, os clientes podem instalar a solução Threat Intelligence do Microsoft Sentinel Content Hub para ter a regra analítica implantada em seu espaço de trabalho do Sentinel. Mais detalhes sobre o Content Hub podem ser encontrados aqui: https://learn.microsoft.com/azure/sentinel/sentinel-solutions-deploy