Los paquetes npm de AsyncAPI comprometidos generan malware de botnet de múltiples etapas – CYBERDEFENSA.MX

Se han observado cuatro paquetes npm comprometidos en el espacio de nombres @asyncapi distribuyendo un cargador de botnet de varias etapas, según los hallazgos de Seguridad buey, SafeDep, Enchufey PasoSeguridad.

Los paquetes afectados se enumeran a continuación:

  • @asyncapi/generator-helpers@1.1.1
  • @asyncapi/generator-components@0.7.1
  • @asyncapi/generador@3.3.1
  • @asyncapi/specs(v6.11.2, v6.11.2-alpha.1)

«Los paquetes comprometidos implementan una carga útil ofuscada de primera etapa que descarga una carga útil cifrada de segunda etapa, identificada como Miasma, desde IPFS», dijo Socket.

Los paquetes envenenados incluyen un implante de JavaScript oculto, y cada uno de ellos contiene un archivo fuente inyectado que se decodifica en el mismo descargador de segunda etapa. A diferencia de iteraciones anteriores que aprovechaban los ganchos de instalación para activar la ejecución de una carga útil de JavaScript, en este caso el código malicioso se ejecuta cuando Node.js carga el módulo infectado, después de lo cual lanza un nodo en segundo plano independiente que descarga y ejecuta el malware desde IPFS.

Ciberseguridad

La carga útil de la siguiente etapa es un cargador de JavaScript cifrado llamado «sync.js», que se escribe en rutas específicas del sistema operativo y se ejecuta. La URL de descarga es «ipfs[.]io/ipfs/QmQobZSp1wRPrpSEQ56qnyq7ecZh5Bg5k1fnjt4SUwwHb9.» El cargador contiene dos componentes:

  • La carga útil final de JavaScript cifrada, que se decodifica en el marco de tareas de Miasma.
  • Un gran blob cifrado utilizado por el marco de la cadena de generación del tiempo de ejecución.

El marco incluye 744 módulos y está construido como un marco de comando que admite seis canales de comunicación de comando y control (C2) independientes usando HTTP, Nostr Relay, IPFS, BitTorrent DHT, libp2p GossipSub P2P mesh y un contrato inteligente Ethereum.

Además de facilitar el robo de credenciales, el envenenamiento de herramientas de inteligencia artificial, el movimiento lateral de la LAN y la propagación similar a un gusano en los registros npm, PyPI y Cargo, Miasma presenta un mecanismo de persistencia propio, configurando claves de inicio automático systemd, crontab, macOS launchd y Windows Registro.

«Aunque el malware tiene algunas similitudes con las campañas Shai-Hulud y Miasma, y ​​contiene la cadena Miasma varias veces dentro de su código, este malware no es el mismo, ni se atribuye a las campañas Miasma/Shai-Hulud/TeamPCP que hemos visto en el pasado», dijo Moshe Siman Tov Bustan de OX Security.

Además, incorpora un interruptor de hombre muerto que monitorea un token robado y activa un borrado de directorio si el token es revocado, evitando sistemas identificados como sandboxes o entornos virtuales, así como aquellos que tienen su idioma actual configurado en ruso o tienen instaladas herramientas de seguridad de CrowdStrike, SentinelOne, Microsoft Defender, CarbonBlack, Cylance, Osquery, Tanium y Qualys.

Ciberseguridad

«Su camino operativo más claro es C2 basado en REST: el implante apunta a un punto final HTTP, acepta tareas cifradas y publica los resultados de los comandos en la misma infraestructura. Alrededor de ese núcleo, la carga útil también brinda soporte para transporte de carga, cifrado de comandos, firma de nodos, actualizaciones de carga útil, administración de archivos, ejecución de shell y escritura de persistencia».

Según StepSecurity, se dice que el atacante obtuvo acceso push a los repositorios y utilizó el canal de lanzamiento legítimo de GitHub Actions del proyecto para publicar paquetes con certificaciones de procedencia OIDC válidas. El ataque a la cadena de suministro no implicó el robo de un token npm.

«Ambos ataques son compromisos de canalización de CI/CD, no tokens npm robados ni mantenedores maliciosos», dijo el investigador de seguridad Rohan Prabhu. «El atacante impulsó las confirmaciones bajo una identidad git de marcador de posición y dejó que el flujo de trabajo de lanzamiento real de cada repositorio hiciera la publicación a través de la integración de editor confiable GitHub OIDC de npm».

«Los paquetes resultantes llevan certificaciones de procedencia SLSA legítimas, lo que demuestra únicamente que el flujo de trabajo autorizado del proyecto los produjo, no que las confirmaciones desencadenantes fueron legítimas. La procedencia no protege contra una credencial push comprometida».

Desde entonces, las cinco versiones maliciosas no se han publicado en el registro npm. Se recomienda tratar cualquier punto final que haya importado o ejecutado una de las versiones del paquete afectado como potencialmente comprometido. Sin embargo, cabe señalar que la exposición depende de si el módulo infectado se cargó como parte de una compilación o de un flujo de trabajo de desarrollador.

«No hay ningún script de preinstalación/postinstalación/instalación en ninguno de los tres archivos package.json», dijo StepSecurity. «Este cuentagotas se activa cuando se requiere el módulo envenenado () durante el uso normal del generador: en el momento en que un trabajo de compilación o CI realmente llama a la biblioteca, no en el momento de la instalación de npm».

Hackers vinculados a la RPDC utilizan GitHub como C2 en ataques de múltiples etapas dirigidos a Corea del Sur – CYBERDEFENSA.MX

Se ha observado que actores de amenazas probablemente asociados con la República Popular Democrática de Corea (RPDC) utilizan GitHub como infraestructura de comando y control (C2) en ataques de múltiples etapas dirigidos a organizaciones en Corea del Sur.

La cadena de ataque, por Laboratorios Fortinet FortiGuardinvolucra archivos de acceso directo de Windows (LNK) ofuscados que actúan como punto de partida para colocar un documento PDF señuelo y un script de PowerShell que prepara el escenario para la siguiente fase del ataque. Se considera que estos archivos LNK se distribuyen a través de correos electrónicos de phishing.

Tan pronto como se descargan las cargas útiles, a la víctima se le muestra el documento PDF, mientras que el script malicioso de PowerShell se ejecuta silenciosamente en segundo plano. El script de PowerShell realiza comprobaciones para resistir el análisis mediante la búsqueda de procesos en ejecución relacionados con máquinas virtuales, depuradores y herramientas forenses. Si se detecta alguno de esos procesos, el script finaliza inmediatamente.

Ciberseguridad

De lo contrario, extrae un script de Visual Basic (VBScript) y configura la persistencia mediante una tarea programada que inicia la carga útil de PowerShell cada 30 minutos en una ventana oculta para evitar la detección. Esto garantiza que el script de PowerShell se ejecute automáticamente después de cada reinicio del sistema.

Luego, el script de PowerShell perfila el host comprometido, guarda el resultado en un archivo de registro y lo extrae a un repositorio de GitHub creado bajo la cuenta «motoralis» utilizando un token de acceso codificado. Algunas de las cuentas de GitHub creadas como parte de la campaña incluyen «God0808RAMA», «Pigresy80», «entire73», «pandora0009» y «brandonleeodd93-blip».

Luego, el script analiza un archivo específico en el mismo repositorio de GitHub para obtener módulos o instrucciones adicionales, lo que permite al operador utilizar como arma la confianza asociada con una plataforma como GitHub para integrarse y mantener un control persistente sobre el host infectado.

Fortinet dijo que las versiones anteriores de la campaña se basaban en archivos LNK para difundir familias de malware como Xeno RAT. Vale la pena señalar que el uso de GitHub C2 para distribuir Xeno RAT y su variante MoonPeak fue documentado por ENKI y Trellix el año pasado. Estos ataques fueron atribuidos a un grupo patrocinado por el Estado norcoreano conocido como Kimsuky.

«En lugar de depender de un complejo malware personalizado, el actor de amenazas utiliza herramientas nativas de Windows para su implementación, evasión y persistencia», dijo la investigadora de seguridad Cara Lin. «Al minimizar el uso de archivos PE caídos y aprovechar LolBins, el atacante puede apuntar a una audiencia amplia con una tasa de detección baja».

La divulgación llega como AhnLab detallado una cadena de infección similar basada en LNK de Kimsuky que, en última instancia, resulta en la implementación de una puerta trasera basada en Python.

Los archivos LNK, como antes, ejecutan un script de PowerShell y crean una carpeta oculta en la ruta «C:\windirr» para organizar las cargas útiles, incluido un PDF señuelo y otro archivo LNK que imita un documento de procesador de textos Hangul (HWP). También se implementan cargas útiles intermedias para configurar la persistencia e iniciar un script de PowerShell, que luego usa Dropbox como canal C2 para recuperar un script por lotes.

Luego, el archivo por lotes descarga dos fragmentos de archivos ZIP separados desde un servidor remoto («quickcon[.]store») y los combina para crear un único archivo y extrae de él un programador de tareas XML y una puerta trasera de Python. El programador de tareas se utiliza para iniciar el implante.

Ciberseguridad

El malware basado en Python admite la capacidad de descargar cargas útiles adicionales y ejecutar comandos emitidos desde el servidor C2. Las instrucciones le permiten ejecutar scripts de shell, enumerar directorios, cargar/descargar/eliminar archivos y ejecutar archivos BAT, VBScript y EXE.

Los hallazgos también coinciden con el cambio de ScarCruft de las tradicionales cadenas de ataque basadas en LNK a un dropper basado en HWP OLE para entregar RokRAT, un troyano de acceso remoto utilizado exclusivamente por el grupo de hackers norcoreano, según S2W. Específicamente, el malware está incrustado como un objeto OLE dentro de un documento HWP y se ejecuta mediante carga lateral de DLL.

«A diferencia de cadenas de ataques anteriores que progresaron desde scripts BAT lanzados por LNK hasta shellcode, este caso confirma el uso de malware dropper y downloader recientemente desarrollado para entregar shellcode y la carga útil ROKRAT», dijo la compañía de seguridad de Corea del Sur. dicho.

Malware VOID#GEIST de múltiples etapas que entrega XWorm, AsyncRAT y Xeno RAT – CYBERDEFENSA.MX

Investigadores de ciberseguridad han revelado detalles de una campaña de malware de varias etapas que utiliza secuencias de comandos por lotes como vía para entregar varias cargas útiles de troyanos de acceso remoto (RAT) cifrados que corresponden a XWorm, AsyncRAT y Xeno RAT.

La cadena de ataque sigiloso ha recibido un nombre en clave VACÍO#GEIST por Securonix Threat Research.

En un nivel alto, el script por lotes ofuscado se utiliza para implementar un segundo script por lotes, preparar un tiempo de ejecución de Python incorporado legítimo y descifrar blobs de código shell cifrados, que se ejecutan directamente en la memoria inyectándolos en instancias separadas de «explorer.exe» usando una técnica llamada Inyección de llamada de procedimiento asincrónico (APC) anticipada.

«Las campañas de malware modernas pasan cada vez más de ejecutables independientes a marcos de entrega complejos basados ​​en scripts que imitan fielmente la actividad legítima de los usuarios», afirman los investigadores Akshay Gaikwad, Shikha Sangwan y Aaron Beardslee. dicho en un informe técnico compartido con The Hacker News.

Ciberseguridad

«En lugar de implementar binarios de PE tradicionales, los atacantes aprovechan canales modulares que comprenden secuencias de comandos por lotes para la orquestación, PowerShell para una puesta en escena sigilosa, tiempos de ejecución incorporados legítimos para la portabilidad y código shell sin procesar ejecutado directamente en la memoria para persistencia y control».

Este mecanismo de ejecución sin archivos minimiza las oportunidades de detección basadas en disco, lo que permite a los actores de amenazas operar dentro de sistemas comprometidos sin activar alertas de seguridad. Es más, este enfoque ofrece una ventaja adicional en el sentido de que estas etapas individuales parecen inofensivas de forma aislada y se asemejan a una actividad administrativa normal.

El punto de partida del ataque es un script por lotes que se obtiene de un dominio de TryCloudflare y se distribuye a través de correos electrónicos de phishing. Una vez lanzado, evita deliberadamente tomar medidas para escalar privilegios y aprovecha los derechos de permiso del usuario actualmente conectado para establecer un punto de apoyo inicial, mientras se mezcla con operaciones administrativas aparentemente inocuas.

La etapa inicial sirve como plataforma de lanzamiento para mostrar un PDF señuelo al iniciar Google Chrome en pantalla completa. El documento financiero o la factura mostrados sirven como distracción visual para ocultar lo que sucede detrás de escena. Esto incluye iniciar un comando de PowerShell para volver a ejecutar el script por lotes original, como usar el parámetro -WindowStyle Hidden, para evitar mostrar una ventana de consola.

Para garantizar la persistencia entre reinicios del sistema, se coloca un script por lotes auxiliar en el directorio de inicio del usuario de Windows para que se ejecute automáticamente cada vez que la víctima inicia sesión en el sistema. La ausencia de métodos de persistencia más intrusivos es intencionada, ya que reduce la huella forense.

«Técnicamente, este método de persistencia opera completamente dentro del contexto de privilegios del usuario actual. No modifica las claves de registro de todo el sistema, no crea tareas programadas ni instala servicios», dijeron los investigadores. «En cambio, se basa en un comportamiento de inicio estándar a nivel de usuario, que no requiere elevación y genera una fricción de seguridad mínima. Esta elección de diseño reduce la probabilidad de activar mensajes de escalada de privilegios o alertas de monitoreo de registro».

La siguiente fase comienza cuando el malware llega a un dominio de TryCloudflare para recuperar cargas útiles adicionales en forma de archivos ZIP que contienen varios archivos.

  • runn.pyun script de carga basado en Python responsable de descifrar e inyectar módulos de carga útil de shellcode cifrados en la memoria
  • nuevo.binuna carga útil de shellcode cifrada correspondiente a XWorm
  • xn.binuna carga útil de shellcode cifrada correspondiente a Xeno RAT
  • pul.binuna carga útil de shellcode cifrada correspondiente a AsyncRAT
  • a.json, n.json, y p.jsonarchivos de claves que contienen las claves de descifrado requeridas por el cargador de Python para descifrar dinámicamente el código shell en tiempo de ejecución

Una vez que se extraen los archivos, la secuencia de ataque implementa un tiempo de ejecución de Python integrado legítimo directamente desde Python.[.]org. Este paso ofrece varias ventajas. Para empezar, elimina cualquier dependencia del sistema. Como resultado, el malware puede seguir funcionando incluso si el punto final infectado tiene Python instalado.

Ciberseguridad

«Desde la perspectiva del atacante, los objetivos de esta etapa son la portabilidad, la confiabilidad y el sigilo», dijo Securonix. «Al incorporar un intérprete legítimo en el directorio de preparación, el malware se transforma en un entorno de ejecución totalmente autónomo capaz de descifrar e inyectar módulos de carga útil sin depender de componentes externos del sistema».

El objetivo principal del ataque es aprovechar el tiempo de ejecución de Python para iniciar «runn.py», que luego descifra y ejecuta la carga útil de XWorm mediante la inyección Early Bird APC. El malware también utiliza un binario legítimo de Microsoft, «AppInstallerPythonRedirector.exe», para invocar Python e iniciar Xeno RAT. En la última etapa, el cargador de Python utiliza el mismo mecanismo de inyección para iniciar AsyncRAT.

La cadena de infección culmina cuando el malware transmite una baliza HTTP mínima a la infraestructura C2 controlada por el atacante alojada en TryCloudflare para confirmar la irrupción digital. Actualmente no se sabe quiénes fueron los objetivos del ataque y si hubo algún compromiso exitoso.

«Este patrón de inyección repetida refuerza la arquitectura modular del marco. En lugar de entregar una única carga útil monolítica, el atacante implementa componentes de forma incremental, mejorando la flexibilidad y la resistencia», dijo Securonix. «Desde el punto de vista de la detección, la inyección repetida de procesos en explorer.exe en periodos cortos de tiempo es un fuerte indicador de comportamiento que se correlaciona entre las etapas del ataque».