El paquete NPM malicioso utiliza una estéganografía unicode para escapar de la detección

Npm

Un paquete malicioso en el índice de administrador de paquetes de nodo utiliza caracteres invisibles Unicode para ocultar el código malicioso y los enlaces del calendario de Google para alojar la URL para la ubicación de control y control.

El paquete, llamado OS-Info-Checker-ES6Aparece como una utilidad de información y se ha descargado más de 1,000 veces desde principios de mes.

Investigadores de VeracodeUna compañía de evaluación de seguridad de código señaló que la primera versión del paquete se agregó al Índice de Administrador de paquetes de nodo (NPM) el 19 de marzo y era benigno, porque solo recopilaba información del sistema operativo del host.

El autor agregó cambios unos días después para incluir binarios específicos de la plataforma y los scripts de instalación oscurecidos.

El 7 de mayo, se publicó una nueva versión del paquete, que incluía el código para “un mecanismo sofisticado C2 (control y control)” que ofrece la carga útil final.

La última versión de ‘OS-Info-Checker-ES6“Disponible en NPM en el momento del personal editorial es de V1.0.8 y es malicioso, advierte Veracode.

Además, el paquete figura como dependencia de otros cuatro paquetes de NPM: saltar, Vista de dev-trerverr, MunicipioY ‘punto de vista – Todos se presentan como herramientas de ingeniería de la plataforma de accesibilidad y desarrollador.

No está claro si estos paquetes son promovidos por el actor de amenaza.

Esteganografía unicode

En la versión maliciosa, el atacante integró datos en lo que parecía ser un ‘|’ | ‘ cadena. Sin embargo, la barra vertical es seguida por una larga secuencia de caracteres invisibles unicode del rango de suplementos del selector de variaciones (U + E0100 a U + E01EF).

Estos caracteres Unicode son normalmente modificadores, generalmente se usan “para proporcionar variaciones en glifos específicos en scripts complejos”. En este caso, su papel es facilitar la estéganografía textual: ocultar información en otros datos.

Veracode ha decodificado y retirado la cadena para encontrar una carga útil para un mecanismo C2 sofisticado que se basó en un breve enlace del calendario de Google para alcanzar la ubicación que aloja la carga útil final.

El investigador explica que después de haber recuperado el enlace del calendario de Google, se verifica un conjunto de redireccionamientos hasta que recibe una respuesta HTTP 200 OK para la solicitud.

Luego se rasca un base de datos Atributo de la página HTML del evento, que contiene una URL64 codificada básica que apunta a la carga útil final.

Usando una función llamada Ymmogvj, La URL se decodifica para obtener una carga útil de malware. Los investigadores afirman que la demanda espera una carga útil de malware en la fase 2 codificada en el cuerpo de respuesta, y probablemente un vector de inicialización y una clave secreta en los encabezados HTTP, una indicación del posible cifrado de la carga útil final.

Veracode también descubrió que la carga útil también se ejecuta utilizando Eval (). El guión incluye un mecanismo de persistencia simple en el repertorio temporal del sistema, que evita varias instancias ejecutadas al mismo tiempo.

En el momento del análisis, los investigadores no pudieron recuperar la carga útil final, lo que sugiere que la campaña podría ser suspendida o siempre en una etapa temprana.

Aunque Veracode ha informado sus resultados en el NPM, los paquetes sospechosos todavía están presentes en la plataforma.

Basado en un análisis de las acciones maliciosas de 14 millones, descubra las 10 técnicas principales ATTR & CK con el 93% de los ataques y cómo defenderse contra ellos.