SOC Prime Bias: Médio

28 Apr 2026 15:45 UTC

Crypto Drainers como uma Ameaça Convergente: Insights sobre Ecossistemas de Ataque Híbridos Emergentes

Author Photo
SOC Prime Team linkedin icon Seguir
Crypto Drainers como uma Ameaça Convergente: Insights sobre Ecossistemas de Ataque Híbridos Emergentes
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

O relatório explica como a infraestrutura de crimes cibernéticos estabelecida está cada vez mais convergindo com operações de drenagem de criptomoedas, dando origem a ecossistemas de ataque híbridos que colocam em risco ativos do Web2 e Web3. Os agentes de ameaça confiam em páginas de phishing sofisticadas com temas de ferramentas de IA ou serviços financeiros para convencer as vítimas a conectar suas carteiras, autorizar transações de tokens e transferir fundos sem saber através de várias blockchains. Dois exemplos destacados, StepDrainer e EtherRAT, demonstram como esse modelo abrange tanto a drenagem de carteiras baseadas em navegador quanto o malware em Windows com funcionalidade ciente da blockchain. Como resultado, a ameaça agora se estende bem além dos usuários nativos de criptomoedas e atinge mais profundamente os ambientes empresariais convencionais.

Investigação

Os pesquisadores examinaram a operação StepDrainer como um serviço de malware, incluindo sua infraestrutura de encenação em PHP e JavaScript e seu uso do Web3Modal para exibir prompts convincentes de conexão de carteiras. Eles também analisaram o malware EtherRAT para Windows, que era entregue através de um instalador TFTP trojanizado, mantinha permanência através de uma chave de registro Run e comunicava-se com endpoints RPC de Ethereum e Solana. Durante a investigação, a equipe extraiu indicadores como domínios maliciosos, chaves de registro e artefatos de linha de comando vinculados a ambos os caminhos de ataque.

Mitigação

As organizações devem bloquear o acesso a domínios maliciosos conhecidos, exigir autenticação multifator para extensões de carteiras sempre que possível e monitorar os sistemas em busca de entradas suspeitas no registro Run e processos inesperados do Node.js. As equipes de segurança também devem inspecionar o tráfego para serviços RPC de blockchain pública em busca de comportamentos anômalos e revisar regularmente as extensões do navegador para sinais de adulteração ou abuso.

Resposta

Se esta atividade for detectada, isole imediatamente o host afetado, remova a entrada maliciosa no registro Run, termine os processos não autorizados do Node.js e revogue todas as aprovações de tokens concedidas pelas carteiras impactadas. Os investigadores devem então realizar uma análise forense para identificar quaisquer cargas adicionais ou mecanismos de persistência e atualizar listas de permissão ou bloqueio para evitar mais comunicação com a infraestrutura de comando e controle identificada.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: A Verificação Prévia de Telemetria & Base deve ter passado.

  • Narrativa de Ataque & Comandos

    O adversário já colocou um arquivo JavaScript malicioso (payload.js) no alvo. Para alcançar persistência, eles usam o instalado node.exe binário para iniciar conhost.exe em modo headless, que então carrega a carga útil JavaScript. Esta técnica evita janelas de console visíveis e se mistura ao uso normal node uso.

    1. Coloque a carga útil maliciosa (payload.js) em um local temporário.
    2. Execute node.exe com um comando que cria conhost.exe --headless apontando para a carga útil.
    3. Crie uma tarefa agendada que executa o mesmo comando na inicialização do sistema, fornecendo persistência.
  • Script de Teste de Regressão

    # Simulação de Persistência EtherRAT – PowerShell
    # -------------------------------------------------
    # 1. Prepare a carga útil JavaScript maliciosa
    $payloadPath = "$env:TEMPpayload.js"
    @"
    // JS malicioso minimalista – na realidade isso carregaria o implante EtherRAT
    const { exec } = require('child_process');
    exec('calc.exe'); // Exemplo de efeito colateral
    "@ | Set-Content -Encoding UTF8 $payloadPath
    
    # 2. Localize node.exe (assuma que está no PATH)
    $node = (Get-Command node.exe).Source
    if (-not $node) {
        Write-Error "node.exe não encontrado no PATH."
        exit 1
    }
    
    # 3. Construa a linha de comando conhost
    $conhostCmd = "C:WindowsSystem32conhost.exe --headless `"$payloadPath`""
    
    # 4. Execute via node.exe (isso cria o relacionamento pai-filho)
    $script = "require('child_process').exec(`"$conhostCmd`")"
    & $node -e $script
    
    # 5. OPCIONAL: Crie tarefa agendada para persistência
    $taskName = "SystemUpdate"
    $action = New-ScheduledTaskAction -Execute $node -Argument "-e `"$script`""
    $trigger = New-ScheduledTaskTrigger -AtLogOn
    Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -RunLevel Highest -Force
  • Comandos de Limpeza

    # Remover tarefa agendada
    Unregister-ScheduledTask -TaskName "SystemUpdate" -Confirm:$false
    
    # Excluir carga útil
    Remove-Item -Path "$env:TEMPpayload.js" -Force
    
    # Pare quaisquer processos conhost remanescentes gerados pelo teste
    Get-Process conhost -ErrorAction SilentlyContinue | Where-Object {
        $_.Path -eq 'C:WindowsSystem32conhost.exe' -and $_.CommandLine -match '--headless'
    } | Stop-Process -Force