SOC Prime Bias: Crítico

31 Mar 2026 17:31

Ataque a la Cadena de Suministro en Axios Extrae Dependencia Maliciosa de NPM

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
Ataque a la Cadena de Suministro en Axios Extrae Dependencia Maliciosa de NPM
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Un paquete npm malicioso, plain-crypto-js@4.2.1, fue publicado y luego incluido como una dependencia transitiva a través de versiones comprometidas del ampliamente utilizado cliente HTTP de JavaScript Axios. El paquete utiliza un script post-instalación para entregar un troyano de acceso remoto de múltiples etapas dirigido a Windows, macOS y Linux. El ataque parece haber dependido de tokens npm de larga duración, permitiendo a los actores de amenaza publicar versiones maliciosas fuera del flujo de trabajo habitual de lanzamientos del proyecto. Detectar la dependencia alterada tempranamente puede detener el RAT antes de su ejecución en los sistemas afectados.

Investigación

Socket Research realizó un análisis estático del setup.js dropper y desofuscó cadenas codificadas para exponer el dominio C2, la lógica de entrega de la carga útil y las rutas del sistema de archivos objetivo. Los investigadores identificaron tres versiones comprometidas de Axios y dos paquetes npm adicionales que contenían el mismo código malicioso. También extrajeron indicadores de red, rutas de archivos y cadenas de agente de usuario que pueden usarse para la ingeniería de detección y creación de reglas.

Mitigación

Las organizaciones deben revocar cualquier token npm de larga duración y rotar credenciales para todas las cuentas potencialmente afectadas. Las versiones comprometidas de Axios y cualquier paquete que dependa de plain-crypto-js@4.2.1 deben eliminarse o degradarse inmediatamente. Los equipos también deben revisar los archivos de bloqueo, las canalizaciones CI/CD y los controles de seguridad de la cadena de suministro de software para identificar actividad de publicación no autorizada y reducir la posibilidad de un compromiso futuro del paquete.

Respuesta

Los equipos de seguridad deben monitorear los registros de instalación npm para referencias a plain-crypto-js@4.2.1 y las versiones afectadas de Axios. Se deben crear reglas de detección para la ejecución del gancho postinstalación, el acceso a la red a sfrclak.comy la cadena de agente de usuario malicioso. Si se confirma el compromiso, los sistemas afectados deben ser puestos en cuarentena, la memoria volátil recopilada para análisis, y el host reimaginado si se encuentra el RAT.

graph TB %% Class definitions classDef technique fill:#c2e0ff classDef tool fill:#ffd9b3 classDef malware fill:#f5b7b1 classDef process fill:#d5f5e3 %% Technique nodes tech_t1195_002[«<b>Técnica</b> – <b>T1195.002</b> Compromiso de la cadena de suministro: compromiso del software<br/><b>Descripción</b>: Los adversarios comprometen actualizaciones o distribución de paquetes para entregar código malicioso.»] class tech_t1195_002 technique tech_t1127_003[«<b>Técnica</b> – <b>T1127.003</b> Ejecución proxy mediante utilidades confiables: hook post-install de JamPlus<br/><b>Descripción</b>: Código malicioso ejecutado mediante un script post-install en una utilidad confiable.»] class tech_t1127_003 technique tech_t1059_004[«<b>Técnica</b> – <b>T1059.004</b> Intérprete de comandos y scripts: Unix Shell<br/><b>Descripción</b>: Uso de comandos Unix (curl, chmod, nohup) para descargar y ejecutar cargas.»] class tech_t1059_004 technique tech_t1059_001[«<b>Técnica</b> – <b>T1059.001</b> PowerShell<br/><b>Descripción</b>: Ejecución de comandos PowerShell para cargas en Windows.»] class tech_t1059_001 technique tech_t1059_005[«<b>Técnica</b> – <b>T1059.005</b> Visual Basic<br/><b>Descripción</b>: Ejecución de VBScript.»] class tech_t1059_005 technique tech_t1059_003[«<b>Técnica</b> – <b>T1059.003</b> CMD de Windows<br/><b>Descripción</b>: Ejecución de comandos batch vía cmd.exe.»] class tech_t1059_003 technique tech_t1027_014[«<b>Técnica</b> – <b>T1027.014</b> Ofuscación: código polimórfico<br/><b>Descripción</b>: Uso de Base64 + XOR.»] class tech_t1027_014 technique tech_t1070_004[«<b>Técnica</b> – <b>T1070.004</b> Eliminación de rastros<br/><b>Descripción</b>: Eliminación de archivos para borrar evidencia.»] class tech_t1070_004 technique tech_t1195_001[«<b>Técnica</b> – <b>T1195.001</b> Compromiso de dependencias<br/><b>Descripción</b>: Inyección en dependencias de software.»] class tech_t1195_001 technique tech_t1127[«<b>Técnica</b> – <b>T1127</b> Hooks npm<br/><b>Descripción</b>: Uso de lifecycle hooks para ejecutar código malicioso.»] class tech_t1127 technique tech_t1082[«<b>Técnica</b> – <b>T1082</b> Descubrimiento del sistema<br/><b>Descripción</b>: Recolección de información del sistema.»] class tech_t1082 technique tech_t1219[«<b>Técnica</b> – <b>T1219</b> Acceso remoto<br/><b>Descripción</b>: Uso de RAT.»] class tech_t1219 technique tech_t1102_002[«<b>Técnica</b> – <b>T1102.002</b> Comunicación web bidireccional<br/><b>Descripción</b>: Uso de HTTP POST para C2.»] class tech_t1102_002 technique tech_t1570[«<b>Técnica</b> – <b>T1570</b> Transferencia lateral<br/><b>Descripción</b>: Descarga de binarios.»] class tech_t1570 technique tech_t1036_005[«<b>Técnica</b> – <b>T1036.005</b> Suplantación<br/><b>Descripción</b>: Uso de nombres legítimos.»] class tech_t1036_005 technique tech_t1036_003[«<b>Técnica</b> – <b>T1036.003</b> Renombrado de utilidades<br/><b>Descripción</b>: Renombrar ejecutables.»] class tech_t1036_003 technique process_curl[«<b>Proceso</b> – comando curl»] class process_curl process process_chmod[«<b>Proceso</b> – comando chmod»] class process_chmod process process_nohup[«<b>Proceso</b> – comando nohup»] class process_nohup process malware_rat[«<b>Malware</b> – RAT macOS»] class malware_rat malware %% Connections showing attack flow tech_t1195_002 –>|leads_to| tech_t1127_003 tech_t1127_003 –>|uses| tech_t1059_004 tech_t1059_004 –>|executes| tech_t1059_001 tech_t1059_004 –>|executes| tech_t1059_005 tech_t1059_004 –>|executes| tech_t1059_003 tech_t1059_004 –>|employs| tech_t1027_014 tech_t1059_004 –>|leverages| tech_t1195_001 tech_t1059_004 –>|leverages| tech_t1127 tech_t1059_004 –>|collects| tech_t1082 tech_t1027_014 –>|enables| tech_t1070_004 tech_t1082 –>|enables| tech_t1219 tech_t1219 –>|communicates via| tech_t1102_002 tech_t1102_002 –>|facilitates| tech_t1570 tech_t1570 –>|results in| tech_t1036_005 tech_t1570 –>|results in| tech_t1036_003 tech_t1059_004 –>|downloads| process_curl tech_t1059_004 –>|sets permissions| process_chmod tech_t1059_004 –>|runs background| process_nohup malware_rat –>|is the| tech_t1219

Flujo de Ataque

Detecciones

MacOS Sospechoso – Ubicaciones y Nombres Plist (a través de file_event)

Equipo SOC Prime
31 Mar 2026

Procesos Hijos NodeJS Sospechosos [Windows] (a través de cmdline)

Equipo SOC Prime
31 Mar 2026

Carga y Descarga de Archivos Remotos a través de Herramientas Estándar (a través de cmdline)

Equipo SOC Prime
31 Mar 2026

Modificación de Permisos de Archivos en Carpeta Tmp Sospechosa en MacOS (a través de cmdline)

Equipo SOC Prime
31 Mar 2026

Uso Sospechoso de CURL (a través de cmdline)

Equipo SOC Prime
31 Mar 2026

Posible Ejecución mediante chmod y nohup en un Solo Comando (a través de cmdline)

Equipo SOC Prime
31 Mar 2026

Descargas a Carpetas Sospechosas (a través de cmdline)

Equipo SOC Prime
31 Mar 2026

LOLBAS WScript / CScript (a través de creación de procesos)

Equipo SOC Prime
31 Mar 2026

La Posibilidad de Ejecución a través de Líneas de Comando de PowerShell Ocultas (a través de cmdline)

Equipo SOC Prime
31 Mar 2026

Uso de Nohup (a través de cmdline)

Equipo SOC Prime
31 Mar 2026

IOC (SourceIP) para detectar: Ataque a la Cadena de Suministro en Axios Retira Dependencia Maliciosa desde npm

Reglas de IA SOC Prime
31 Mar 2026

IOC (DestinationIP) para detectar: Ataque a la Cadena de Suministro en Axios Retira Dependencia Maliciosa desde npm

Reglas de IA SOC Prime
31 Mar 2026

IOC (Emails) para detectar: Ataque a la Cadena de Suministro en Axios Retira Dependencia Maliciosa desde npm

Reglas de IA SOC Prime
31 Mar 2026

Tácticas de Evasión de PowerShell y VBScript en Ataque a la Cadena de Suministro [Creación de Procesos de Windows]

Reglas de IA SOC Prime
31 Mar 2026

Detección de Ejecución de Gancho Postinstalación de paquete npm malicioso [Creación de Procesos de Linux]

Reglas de IA SOC Prime
31 Mar 2026

Detección de Script de Python malicioso y Archivo Temporal en Ataque a la Cadena de Suministro de Linux [Evento de Archivo de Linux]

Reglas de IA SOC Prime
31 Mar 2026

Terminal de Windows Renombrada y VBScript Autodestructivo Detectado [Evento de Archivo de Windows]

Reglas de IA SOC Prime
31 Mar 2026

Ejecución de Script de PowerShell con Banderas Ocultas y Bypass [PowerShell de Windows]

Reglas de IA SOC Prime
31 Mar 2026

Ejecución de Simulación

Prerequisito: La Verificación Previa de Telemetría y Baseline debe haber superado.

Rationale: 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 TTP identificados y estar destinados a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa del Ataque y Comandos:

    Un atacante que ha obtenido privilegios de usuario limitados en una estación de trabajo comprometida desea descargar una carga útil maliciosa de VBScript a través de un paquete npm legítimo (escenario de cadena de suministro). Para evitar la detección genérica de PowerShell, el atacante copia powershell.exe a un nuevo archivo nombrado powershell_renamed.exe pero mantiene el subcadena “powershell” en el nombre del archivo (por lo que el Image|contains verificación sigue coincidiendo). Luego, el atacante realiza una búsqueda “where powershell” para enumerar la ruta del binario renombrado y finalmente lanza la carga útil de VBScript con cscript //nologo para suprimir el banner del logo.

  • Script de Prueba de Regresión:

    # -------------------------------------------------
    # Paso 1: Crear una copia renombrada de powershell.exe
    # -------------------------------------------------
    $src = "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe"
    $dst = "$env:Temppowershell_renamed.exe"
    Copy-Item -Path $src -Destination $dst -Force
    
    # -------------------------------------------------
    # Paso 2: Usar 'where' para referenciar el binario renombrado
    # -------------------------------------------------
    $whereOutput = & where.exe powershell_renamed
    Write-Host "Localizado PowerShell renombrado en: $whereOutput"
    
    # -------------------------------------------------
    # Paso 3: Crear una carga útil simple de VBScript maliciosa
    # -------------------------------------------------
    $vbsPath = "$env:Tempmalicious.vbs"
    @"
    Set objShell = CreateObject("WScript.Shell")
    objShell.Run "cmd.exe /c echo pwned > $env:Temppwned.txt", 0, False
    "@ | Set-Content -Path $vbsPath -Encoding ASCII
    
    # -------------------------------------------------
    # Paso 4: Ejecutar el VBScript silenciosamente usando cscript //nologo
    # -------------------------------------------------
    & $dst -Command "cscript //nologo `"$vbsPath`""
    # -------------------------------------------------
    # Fin de la simulación
    # -------------------------------------------------
  • Comandos de Limpieza:

    # Eliminar el binario de PowerShell renombrado
    Remove-Item -Path "$env:Temppowershell_renamed.exe" -Force -ErrorAction SilentlyContinue
    
    # Eliminar el archivo VBScript malicioso
    Remove-Item -Path "$env:Tempmalicious.vbs" -Force -ErrorAction SilentlyContinue
    
    # Remover evidencia de la ejecución
    Remove-Item -Path "$env:Temppwned.txt" -Force -ErrorAction SilentlyContinue