SOC Prime Bias: Crítico

05 Aug 2026 07:20 UTC

NullReceiver Avança EtherHiding com Transferências de Cripto em Branco

Author Photo
SOC Prime Team linkedin icon Seguir
NullReceiver Avança EtherHiding com Transferências de Cripto em Branco
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Atores de ameaça vinculados à DPRK estão usando um novo método de resolução de C2 baseado em blockchain conhecido como NullReceiver. A técnica embute endereços IP de C2 nos bytes de endereços de destinatários de transferências de Ethereum de valor zero, tornando a detecção mais difícil do que com o EtherHiding tradicional. O malware associado é distribuído através de pacotes npm trojanizados.

Investigação

Pesquisadores investigaram a atividade por meio de análise estática de tarballs npm publicados e exame somente leitura de transações controladas por atacantes na blockchain pública. A análise identificou dois pacotes npm maliciosos, bianira-ui and fluid-type-ui, que usam NullReceiver para resolver a infraestrutura de comando e controle.

Mitigação

Os defensores devem monitorar a atividade na blockchain associada a carteiras Ethereum controladas por invasores conhecidos e inspecionar endereços de destinatários usados em transferências de valor zero. As organizações também devem fortalecer os controles da cadeia de suprimentos de software para dependências npm para evitar a instalação de pacotes trojanizados.

Resposta

Se for detectada atividade de NullReceiver, ambientes afetados do Node.js devem ser isolados imediatamente. Investigadores devem identificar a fonte do pacote npm malicioso e bloquear os endereços IP de C2 associados e endereços de carteiras Ethereum em ambas as camadas de rede e aplicação.

Fluxo de Ataque

Execução da Simulação

Pré-requisito: O Check de Pré-vôo de Telemetria & Base Line deve ter sido aprovado.

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 têm como objetivo gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão ao erro de diagnóstico.

  • Narrativa & Comandos do Ataque: O adversário busca estabelecer um canal de C2 furtivo que evite o blacklisting baseado em IP tradicional. Para isso, eles implantam um pacote npm malicioso que utiliza a técnica “NullReceiver”. O script inicializa variáveis globais usando sintaxe específica ofuscada (global.i = "A10-npm3!", global.r = require) e imediatamente se conecta ao https://1rpc.io/eth ponto de extremidade. Isso permite que o malware leia o campo “recipient” de uma transação específica do Ethereum, que contém o endereço IP codificado do servidor C2 real. Este método usa a infraestrutura legítima do blockchain para ocultar a intenção maliciosa.

  • Script de Teste de Regressão:

    #!/bin/bash
    # Script de simulação para detecção da técnica de C2 NullReceiver
    # Crie um script node malicioso que imite os padrões específicos na regra de detecção
    cat << 'EOF' > malicious_npm_payload.js
    // Imita os padrões exatos definidos na regra Sigma
    global.i = "A10-npm3!"; 
    global.r = require;
    const https = require('https');
    // O malware se conecta a um ponto de extremidade RPC específico para buscar instruções
    const url = 'https://1rpc.io/eth';
    console.log("[!] Iniciando busca de C2 baseada em blockchain...");
    https.get(url, (res) => {
      console.log("[!] Conexão bem-sucedida. Analisando estado do blockchain...");
      res.on('data', (d) => {
        // Em um ataque real, isso analisaria o campo 'recipient' para o IP C2
        console.log("[!] Instrução recebida via técnica NullReceiver.");
      });
    }).on('error', (e) => {
      console.error(`[X] Conexão falhou: ${e.message}`);
    });
    EOF
    # Execute o script malicioso usando node
    echo "[*] Executando simulação maliciosa..."
    node malicious_npm_payload.js
    # Limpe o arquivo do script
    rm malicious_npm_payload.js
  • Comandos de Limpeza:

    # Remova quaisquer artefatos criados durante a simulação
    rm -f malicious_npm_payload.js