SOC Prime Bias: Crítico

22 Jul 2026 07:30 UTC

ChainVeil regresa para atacar el ecosistema Vite

Author Photo
SOC Prime Team linkedin icon Seguir
ChainVeil regresa para atacar el ecosistema Vite
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Un nuevo grupo malicioso de npm identificado como ViteVenom está apuntando al ecosistema de la herramienta de construcción Vite. La campaña utiliza nombres de paquetes cuidadosamente elaborados para hacerse pasar por herramientas legítimas y entrega un troyano de acceso remoto de 77 KB. También se basa en una arquitectura de comando y control resiliente de cuatro niveles basada en blockchain, que abarca Tron, Aptos y Binance Smart Chain.

Investigación

Los investigadores identificaron siete paquetes npm maliciosos que compartían las mismas claves de descifrado XOR y direcciones de billetera blockchain de Nivel 2 previamente vistas en la campaña ChainVeil. Su investigación descubrió una cadena de ejecución en múltiples etapas en la que las ubicaciones de los payloads se resuelven a través de transacciones blockchain, ayudando a los operadores a evitar la eliminación de dominios tradicionales. El malware también utiliza la alteración de cadenas indexadas por arrays para complicar el análisis estático.

Mitigación

Las organizaciones deben revisar los árboles de dependencias en busca de paquetes con ámbitos sospechosos como @vite-pro/*, @vitets/*, y @vite-ts/*. Los pasos de mitigación inmediata incluyen eliminar los paquetes maliciosos identificados, rotar todas las credenciales expuestas como claves SSH, tokens de npm y claves API, y bloquear las direcciones IP de comando y control relacionadas en la capa de red. Los desarrolladores también deben verificar que las dependencias de Vite provengan del namespace oficial de @vitejs/* .

Respuesta

Si se detecta esta actividad, elimine los paquetes maliciosos identificados inmediatamente y realice una revisión exhaustiva de los lockfiles, incluidos package-lock.json, pnpm-lock.yaml, y yarn.lock. Los equipos de seguridad deben terminar cualquier proceso node -e ejecutándose como procesos secundarios desatendidos. Debe seguir una rotación completa de credenciales para cada entorno accedido por los sistemas afectados y se deben inspeccionar archivos de configuración de shell, como .bashrc and .zshrc en busca de código de persistencia inyectado.

Flujo de Ataque

Ejecución de Simulación

Prerequisito: The Telemetry & Baseline Pre-flight Check must have passed.

Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.

  • Narrativa del Ataque y Comandos: El adversario ha desplegado un malware (simulando la campaña ViteVenom) que intenta establecer una conexión de latido/C2 con su servidor de comandos. El malware intenta conectarse a la dirección IP codificada 43.249.154.132. Debido a que esta IP ya está en la lista negra en el firewall corporativo, el firewall descarta el paquete y genera un evento de ‘bloqueo’. Esta simulación utiliza curl para intentar una conexión a una de las IPs específicas identificadas en la lógica de detección para activar la alerta.

  • Script de Prueba de Regresión: [Provide the exact, self-contained, and executable code snippet for the simulation.]

    #!/bin/bash
    # Simulación de un adversario intentando conectar a una IP conocida de ChainVeil C2
    # IP de destino: 43.249.154.132 (de la lógica de detección)
    
    TARGET_IP="43.249.154.132"
    echo "[*] Simulando intento de conexión a $TARGET_IP..."
    
    # Usamos curl para intentar una conexión. 
    # El firewall debería interceptar esto y registrar una acción de 'bloqueo'.
    curl -m 5 http://$TARGET_IP/ping > /dev/null 2>&1
    
    if [ $? -ne 0 ]; then
      echo "[+] Conexión fallida como se esperaba (el firewall debería haberla bloqueado)."
    else
      echo "[!] Advertencia: Conexión exitosa. El firewall no bloqueó la IP."
    fi
  • Comandos de Limpieza:

    # No se realizaron cambios persistentes en el sistema. 
    # Simplemente asegúrese de eliminar cualquier archivo de prueba temporal si se creó.
    rm -f /tmp/sim_test_result.txt