ChainVeil Retorna para Alvejar o Ecossistema Vite
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Um recém-identificado cluster malicioso de npm conhecido como ViteVenom está visando o ecossistema da ferramenta de compilação Vite. A campanha utiliza nomes de pacotes escopados cuidadosamente elaborados para personificar ferramentas legítimas e entrega um trojan de acesso remoto de 77 KB. Ela também depende de uma arquitetura resiliente de comando e controle baseada em blockchain de quatro camadas abrangendo Tron, Aptos e Binance Smart Chain.
Investigação
Pesquisadores identificaram sete pacotes npm maliciosos que compartilhavam as mesmas chaves de descriptografia XOR e endereços de carteira de blockchain de Nível-2 anteriormente vistos na campanha ChainVeil. Sua investigação descobriu uma cadeia de execução em múltiplos estágios na qual as localizações dos payloads são resolvidas através de transações em blockchain, ajudando os operadores a evitarem derrubadas de domínios tradicionais. O malware também usa embaralhamento de strings indexado por array para complicar a análise estática.
Mitigação
As organizações devem revisar as árvores de dependências para pacotes escopados suspeitos, como @vite-pro/*, @vitets/*, e @vite-ts/*. As etapas imediatas de mitigação incluem remover os pacotes maliciosos identificados, rotacionar todas as credenciais expostas, como chaves SSH, tokens npm e chaves de API, e bloquear os endereços IP de comando e controle relacionados na camada de rede. Os desenvolvedores também devem verificar se as dependências do Vite são originárias do namespace oficial @vitejs/* .
Resposta
Se essa atividade for detectada, remova imediatamente os pacotes maliciosos identificados e realize uma revisão completa dos lockfiles, incluindo package-lock.json, pnpm-lock.yaml, e yarn.lock. As equipes de segurança devem encerrar qualquer processo node -e que esteja sendo executado como processos filhos destacados. Uma rotação completa de credenciais deve seguir para cada ambiente acessado pelos sistemas afetados e arquivos de configuração do shell, como .bashrc and .zshrc , devem ser inspecionados em busca de código de persistência injetado.
Fluxo de Ataque
Detecções
Possível Tentativa de Abuso do Publicnode Ethereum Como Canal C2 (via dns_query)
Ver
IOCs (HashMd5) para detectar: Sequência ao Malware npm ChainVeil Alvo Ecossistema Vite
Ver
IOCs (SourceIP) para detectar: Sequência ao Malware npm ChainVeil Alvo Ecossistema Vite
Ver
IOCs (DestinationIP) para detectar: Sequência ao Malware npm ChainVeil Alvo Ecossistema Vite
Ver
Detecção de Bloqueio de IP para Campanhas ViteVenom e ChainVeil [Firewall]
Ver
Detecção de Atividade de Rede de Malware ViteVenom [Conexão de Rede do Windows]
Ver
Execução de Simulação
Pré-requisito: A Verificação de Pré-voo de Telemetria e Linha de Base deve ter sido aprovada.
Racional: Esta seção detalha a execução precisa da técnica adversária (TTP) projetada para acionar a regra de detecção. Os comandos e o relato DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.
-
Narrativa e Comandos de Ataque: O adversário implantou uma peça de malware (simulando a campanha ViteVenom) que tenta estabelecer uma conexão de batimento cardíaco/C2 com seu servidor de comando. O malware tenta se conectar ao IP codificado em hard
43.249.154.132. Como este IP já está na lista negra no firewall corporativo, o firewall descarta o pacote e gera um evento ‘bloquear’. Esta simulação usacurlpara tentar uma conexão a um dos IPs específicos identificados na lógica de detecção para acionar o alerta. -
Script de Teste de Regressão: [Provide the exact, self-contained, and executable code snippet for the simulation.]
#!/bin/bash # Simulação de um adversário tentando se conectar a um IP conhecido de C2 do ChainVeil # IP Alvo: 43.249.154.132 (da lógica de detecção) TARGET_IP="43.249.154.132" echo "[*] Simulando a tentativa de conexão ao $TARGET_IP..." # Usamos curl para tentar uma conexão. # O firewall deve interceptar isso e registrar uma ação de 'bloqueio'. curl -m 5 http://$TARGET_IP/ping > /dev/null 2>&1 if [ $? -ne 0 ]; then echo "[+] Conexão falhou conforme esperado (o Firewall deve ter bloqueado)." else echo "[!] Aviso: Conexão sucedida. Firewall não bloqueou o IP." fi -
Comandos de Limpeza:
# Nenhuma alteração persistente feita no sistema. # Apenas certifique-se de que qualquer arquivo de teste temporário seja removido caso tenha sido criado. rm -f /tmp/sim_test_result.txt