Descoberta e escopo da técnica NullReceiver
Atacantes vinculados à Coreia do Norte estão utilizando uma nova técnica sofisticada para ocultar servidores de comando e controle (C2) dentro de transações de criptomoedas vazias. A técnica, identificada por analistas da OpenSource Malware como NullReceiver, insere o endereço do servidor de comando em uma transação Ethereum que aparenta ser uma transferência normal, mas não possui valor de pagamento. Isso torna a atividade indistinguível de uma transação legítima para ferramentas de segurança convencionais que não monitoram o blockchain em busca de padrões de codificação específicos.
O método foi descoberto em dois pacotes maliciosos do npm, bianira-ui versão 1.27.0 e fluid-type-ui versão 2.0.8. Ambos os pacotes se faziam passar por plugins legítimos de Tailwind CSS, criando um risco significativo de cadeia de suprimentos para desenvolvedores que instalam dependências sem revisar cuidadosamente o código-fonte. A campanha parece estar conectada à operação Contagious Interview, vinculada à Coreia do Norte (DPRK), que tem visado repetidamente desenvolvedores através de projetos e pacotes confiáveis.
Como a técnica NullReceiver funciona tecnicamente
O NullReceiver opera lendo o endereço de destinatário da última transação de saída de uma carteira controlada pelo atacante na rede Ethereum. Esse endereço não é um destino de pagamento genuíno. Os bytes do endereço são escolhidos deliberadamente para que parte do valor seja convertido no endereço IP do servidor de comando e controle do malware. A transferência não contém valor de pagamento nem dados de entrada de transação, o que ajuda a se misturar à atividade blockchain comum, pois não há chamada de contrato inteligente, script oculto ou campo de payload para ferramentas de segurança inspecionarem.
O servidor de comando decodificado direciona os sistemas infectados para a próxima etapa da operação. Este design difere do EtherHiding, onde os atacantes armazenam dados de comando na calldata de uma transação ou em um contrato inteligente. O NullReceiver é mais limitado porque pode transportar apenas uma pequena quantidade de informações, como um endereço IP, mas é mais barato de operar, menos óbvio na cadeia e evita o uso de um endereço de destino previsível que os defensores podem monitorar desde o início.
Riscos de cadeia de suprimentos de software
A descoberta demonstra como as ameaças de cadeia de suprimentos de software estão se tornando mais difíceis de detectar. Em vez de depender de um domínio web visível ou um endereço de servidor fixo, o malware pode recuperar novas instruções de um blockchain público que não pode ser facilmente derrubado ou alterado pelos defensores. Os pacotes afetados usam código Node.js para consultar serviços públicos de chamada remota (RPC) do Ethereum, examinar a transferência mais recente da carteira do atacante, decodificar o endereço de destinatário e entrar em contato com o servidor resultante.
Os pesquisadores não executaram os pacotes; suas descobertas vieram de análise estática e verificações de blockchain apenas leitura. O ataque é especialmente preocupante para desenvolvedores porque dependências maliciosas do npm podem entrar em estações de trabalho, sistemas de build e projetos de software através de comandos de instalação cotidianos. Uma similar grande comprometimento de pacotes npm demonstrou como credenciais de desenvolvedor e nuvem roubadas podem expandir rapidamente um incidente de cadeia de suprimentos através de muitos pacotes.
Medidas de mitigação recomendadas
As equipes de segurança devem revisar atualizações de dependência antes da implantação, investigar tráfego de RPC blockchain de saída inesperado e monitorar aplicativos que inspecionam endereços de destinatário de transações. Uma vez que uma carteira maliciosa seja conhecida, os defensores podem rastrear suas transferências e identificar infraestrutura recém-codificada antes que os sistemas infectados se conectem. As organizações também devem restringir o acesso desnecessário a provedores de RPC de criptomoedas, isolar máquinas que instalaram os pacotes identificados e girar credenciais de desenvolvedor expostas.
Essas precauções são importantes à medida que o direcionamento de desenvolvedores norte-coreano continua a depender de iscas de software convincentes em vez de apenas vulnerabilidades de software. Administradores devem considerar a implementação de soluções de segurança de cadeia de suprimentos que verifiquem assinaturas de pacotes e comportamentos de rede anômalos, especialmente consultas a serviços RPC de blockchain.
Indicadores de comprometimento (IoCs)
Os seguintes indicadores foram identificados e devem ser monitorados em sistemas de detecção de intrusão e plataformas de inteligência de ameaças:
- Pacote npm malicioso:
bianira-ui@1.27.0efluid-type-ui@2.0.8 - Carteira Ethereum:
0xa322e5f3d311d3080e6f0121063e9adc2490ef1a - Endereço de destinatário codificado:
0xa658863ea658863e68656c6c6f6970626f742121 - Endereço IP C2:
166.88.134.62 - URLs RPC Blockchain:
https://1rpc.io/ethehttps://eth.drpc.org
Nota: Endereços IP e domínios são intencionalmente defanged para prevenir resolução acidental. Re-fang apenas dentro de plataformas controladas de inteligência de ameaças.
Implicações para o setor de tecnologia
Este incidente reforça a necessidade de uma vigilância aprimorada sobre dependências de software de terceiros. A capacidade dos atacantes de usar infraestrutura descentralizada para C2 representa uma mudança significativa na tática de operações de ameaças persistentes avançadas (APTs). Organizações devem revisar suas políticas de aprovação de pacotes npm e considerar o uso de repositórios privados ou espelhos que validem a integridade dos pacotes antes da instalação.