36 paquetes npm maliciosos explotaron Redis y PostgreSQL para implementar implantes persistentes – CYBERDEFENSA.MX

Los investigadores de ciberseguridad han descubierto 36 paquetes maliciosos en el registro npm que están disfrazados de complementos de Strapi CMS pero vienen con diferentes cargas útiles para facilitar la explotación de Redis y PostgreSQL, implementar shells inversos, recopilar credenciales y colocar un implante persistente.

«Cada paquete contiene tres archivos (paquete.json, index.js, postinstall.js), no tiene descripción, repositorio ni página de inicio, y utiliza la versión 3.6.8 para aparecer como un complemento comunitario maduro de Strapi v3», SafeDep dicho.

Todos los paquetes npm identificados siguen la misma convención de nomenclatura, comenzando con «strapi-plugin-» y luego frases como «cron», «base de datos» o «servidor» para engañar a los desarrolladores desprevenidos para que los descarguen. Vale la pena señalar que los complementos oficiales de Strapi tienen su alcance en «@strapi/».

Los paquetes, subidos por cuatro cuentas de títeres de calcetines «umarbek1233», «kekylf12», «tikeqemif26» y «umar_bektembiev1» durante un período de 13 horas, se enumeran a continuación:

  • strapi-plugin-cron
  • strapi-plugin-config
  • servidor-plugin-strapi
  • base de datos-plugin-strapi
  • strapi-plugin-núcleo
  • ganchos-plugin-strapi
  • monitor-plugin-strapi
  • eventos-plugin-strapi
  • registrador-plugin-strapi
  • strapi-plugin-salud
  • sincronización-plugin-strapi
  • semilla-plugin-strapi
  • correa-plugin-locale
  • formulario-plugin-strapi
  • strapi-plugin-notificar
  • strapi-plugin-api
  • strapi-plugin-sitemap-gen
  • complemento-strapi-herramientas-nordicas
  • strapi-plugin-nordica-sync
  • strapi-plugin-nordica-cms
  • complemento-strapi-nordica-api
  • complemento-strapi-nordica-recon
  • strapi-plugin-nordica-stage
  • complemento-strapi-nordica-vhost
  • complemento-strapi-nordica-deep
  • complemento-strapi-nordica-lite
  • complemento-strapi-nordica
  • complemento-strapi-finseven
  • strapi-plugin-hextest
  • complemento-strapi-cms-herramientas
  • strapi-plugin-sincronización-de-contenido
  • herramientas-depuración-plugin-strapi
  • control-de-estado-del-plugin-strapi
  • strapi-plugin-guardarian-ext
  • complemento-strapi-uuid-avanzado
  • complemento-strapi-blurhash

Un análisis de los paquetes revela que el código malicioso está incrustado en el enlace del script postinstalación, que se ejecuta en «npm install» sin requerir ninguna interacción por parte del usuario. Se ejecuta con los mismos privilegios que los del usuario instalador, lo que significa que abusa del acceso raíz dentro de entornos CI/CD y contenedores Docker.

Ciberseguridad

La evolución de las cargas útiles distribuidas como parte de la campaña es la siguiente:

  • Utilice una instancia de Redis accesible localmente para la ejecución remota de código inyectando una entrada crontab (también conocida como tabla cron) para descargar y ejecutar un script de shell desde un servidor remoto cada minuto. El script de shell escribe un shell web PHP y un shell inverso de Node.js a través de SSH en el directorio de cargas públicas de Strapi. También intenta escanear el disco en busca de secretos (por ejemplo, Elasticsearch y frases iniciales de billeteras de criptomonedas) y extraer un módulo API Guardarian.
  • Combine la explotación de Redis con el escape del contenedor Docker para escribir cargas útiles del shell en el host fuera del contenedor. También inicia un shell inverso directo de Python en el puerto 4444 y escribe un activador de shell inverso en el directorio node_modules de la aplicación a través de Redis.
  • Implemente un shell inverso, escriba un descargador de shell a través de Redis y ejecute el archivo resultante.
  • Escanee el sistema en busca de variables de entorno y cadenas de conexión de bases de datos PostgreSQL.
  • Un recolector de credenciales ampliado y una carga útil de reconocimiento para recopilar volcados de entorno, configuraciones de Strapi, extracción de bases de datos de Redis mediante la ejecución de los comandos INFO, DBSIZE y KEYS, mapeo de topología de red y secretos de Docker/Kubernetes, claves criptográficas y archivos de billetera de criptomonedas.
  • Lleve a cabo la explotación de la base de datos PostgreSQL conectándose a la base de datos PostgreSQL del objetivo utilizando credenciales codificadas y consultando tablas específicas de Strapi en busca de secretos. También descarta patrones coincidentes relacionados con criptomonedas (por ejemplo, billetera, transacción, depósito, retiro, activo, frío y saldo) e intenta conectarse a seis bases de datos de Guardarian. Esto indica que el actor de la amenaza ya está en posesión de los datos, obtenidos ya sea mediante un compromiso previo o por algún otro medio.
  • Implementar un implante persistente diseñado para mantener el acceso remoto a un nombre de host específico («prod-strapi»).
  • Facilite el robo de credenciales escaneando rutas codificadas y generando un shell inverso persistente.

«Las ocho cargas útiles muestran una narrativa clara: el atacante comenzó agresivamente (Redis RCE, Docker escape), descubrió que esos enfoques no funcionaban, giró hacia el reconocimiento y la recopilación de datos, utilizó credenciales codificadas para el acceso directo a la base de datos y finalmente se decidió por el acceso persistente con robo de credenciales dirigido», dijo SafeDep.

La naturaleza de las cargas útiles, combinada con el enfoque en los activos digitales y el uso de credenciales de bases de datos y nombres de host codificados, plantea la posibilidad de que la campaña fuera un ataque dirigido contra una plataforma de criptomonedas. Se recomienda a los usuarios que hayan instalado cualquiera de los paquetes antes mencionados que asuman un compromiso y roten todas las credenciales.

El descubrimiento coincide con el descubrimiento de varios ataques a la cadena de suministro dirigidos al ecosistema de código abierto.

  • Una cuenta de GitHub llamada «ezmtebo» ha enviado más de 256 solicitudes de extracción en varios repositorios de código abierto que contienen una carga útil de exfiltración de credenciales. «Roba secretos a través de registros de CI y comentarios de relaciones públicas, inyecta flujos de trabajo temporales para volcar valores secretos, aplica automáticamente etiquetas para evitar las puertas pull_request_target y ejecuta un escáner de fondo/procesamiento durante 10 minutos después de que sale el script principal», dijo SafeDep.
  • Un secuestro de «protocolo de desarrollo,» una organización verificada de GitHub, para distribuir robots comerciales maliciosos de Polymarket con dependencias npm con errores tipográficos («ts-bign» y «levex-refa» o «big-nunber» y «lint-builder») que roban claves privadas de billetera, filtran archivos confidenciales y abren una puerta trasera SSH en la máquina de la víctima. Mientras que «levex-refa» funciona como un ladrón de credenciales, «lint-builder» instala el SSH backdoor. Tanto «ts-bign» como «big-nunber» están diseñados para entregar «levex-refa» y «lint-builder», respectivamente, como una dependencia transitiva.
  • Un compromiso del popular paquete Emacs «.kubernetes-el/kubernetes-el,» que explotó la vulnerabilidad Pwn Request en su flujo de trabajo de GitHub Actions usando el disparador pull_request_target para robar el GITHUB_TOKEN del repositorio, filtrar secretos de CI/CD, desfigurar el repositorio e inyectar código destructivo para eliminar casi todos los archivos del repositorio.
  • Un compromiso de lo legítimo «xygeni/xygeni-acción» Flujo de trabajo de GitHub Actions que utiliza credenciales de mantenedor robadas para colocar una puerta trasera de shell inverso. Desde entonces, Xygeni ha implementaron nuevos controles de seguridad para abordar el incidente.
  • Un compromiso del paquete npm legítimo «.mgc,» mediante una apropiación de cuenta para impulsar cuatro versiones maliciosas (1.2.1 a 1.2.4) que contienen un script dropper que detecta el sistema operativo y recupera una carga útil específica de la plataforma (un troyano Python para Linux y una variante de PowerShell para Windows llamada WAVESHAPER.V2) de un Gist de GitHub. El ataque se superpone directamente con el reciente ataque a la cadena de suministro dirigido a Axios, que se ha atribuido a un grupo de amenazas de Corea del Norte rastreado como UNC1069.
  • Un paquete npm malicioso llamado «sesión-exprés-js» que escribe «express-session» y contiene un cuentagotas que recupera un troyano de acceso remoto (RAT) de siguiente etapa de JSON Keeper para realizar el robo de datos y el acceso persistente conectándose a «216.126.237[.]71» usando la biblioteca Socket.IO.
  • Un compromiso del paquete PyPI legítimo «.billetera-bittensor» (versión 4.0.2), para implementar una puerta trasera que se activa durante una operación de descifrado de billetera para exfiltrar claves de billetera usando HTTPS, túnel DNS y TLS sin formato como canales de exfiltración a un dominio codificado o uno creado usando un algoritmo de generación de dominio (DGA) que se rota diariamente.
  • Un paquete PyPI malicioso llamado «pironut» que escribe «pyrogram», un popular marco API de Python Telegram, para incorporar una puerta trasera sigilosa que se activa cada vez que un cliente de Telegram inicia y toma el control de la sesión de Telegram y el sistema host subyacente. «La puerta trasera registra controladores de mensajes ocultos de Telegram que permiten que dos cuentas controladas por atacantes codificadas ejecuten código Python arbitrario (a través del comando /e y la biblioteca meval) y comandos de shell arbitrarios (a través del comando y subproceso /shell) en el servidor de la víctima. máquina», afirmó Endor Labs.
  • Un conjunto de tres extensiones maliciosas de Microsoft Visual Studio Code (VS Code) publicadas por «IolitaLabs» – «solidity-macos», «solidity-windows» y «solidity-linux» – que originalmente estaban inactivos desde 2018, pero se actualizaron el 25 de marzo de 2026 para lanzar una puerta trasera de varias etapas dirigida a los sistemas Windows y macOS al iniciar la aplicación para establecer la persistencia. En conjunto, las extensiones tenían 27,500 instalaciones antes de ser eliminadas.
  • Múltiples versiones del «KhangNghiem/borrador rápido» Extensión VS Code en Open VSX (0.10.89, 0.10.105, 0.10.106 y 0.10.112) que ejecuta un descargador alojado en GitHub para implementar un Socket.IO RAT de segunda etapa, un ladrón de información, un módulo de exfiltración de archivos y un monitor de portapapeles desde un repositorio de GitHub. Curiosamente, las versiones 0.10.88, 0.10.111 y 0.10.129-135 se han encontrado limpios. «Ese no es el patrón de lanzamiento que se espera de una sola compilación comprometida o de un mantenedor que ha cambiado por completo a un comportamiento malicioso», dijo Aikido. «Parece más bien dos flujos de lanzamiento competitivos que comparten la misma identidad de editor».
Ciberseguridad

En un informe publicado en febrero de 2026, Group-IB reveló que los ataques a la cadena de suministro de software se han convertido en «la fuerza dominante que está remodelando el panorama global de amenazas cibernéticas», y agregó que los actores de amenazas persiguen a proveedores confiables, software de código abierto, plataformas SaaS, extensiones de navegador y proveedores de servicios administrados para obtener acceso heredado a cientos de organizaciones posteriores.

La amenaza a la cadena de suministro puede escalar rápidamente de una sola intrusión localizada a algo que tiene un impacto transfronterizo a gran escala, con atacantes industrializando los compromisos de la cadena de suministro y convirtiéndola en un ecosistema «auto-reforzado», ya que ofrece alcance, velocidad y sigilo.

«Los repositorios de paquetes como npm y PyPI se han convertido en objetivos principales, credenciales de mantenimiento robadas y gusanos de malware automatizados para comprometer bibliotecas ampliamente utilizadas, convirtiendo los canales de desarrollo en canales de distribución a gran escala de código malicioso», Group-IB dicho

La campaña fantasma utiliza paquetes de 7 npm para robar carteras y credenciales criptográficas – CYBERDEFENSA.MX

Investigadores de ciberseguridad han descubierto un nuevo conjunto de paquetes npm maliciosos diseñados para robar billeteras de criptomonedas y datos confidenciales.

ReversingLabs está rastreando la actividad como Fantasma campaña. La lista de paquetes identificados, todos publicados por un usuario llamado mikilanjillo, se encuentra a continuación:

  • reaccionar-rendimiento-suite
  • reaccionar-estado-optimizador-núcleo
  • reaccionar-rápido-utilsa
  • ai-fast-auto-trader
  • pkgnewfefame1
  • clonador-copia-carbon-mac
  • coinbase-escritorio-sdk

«Los paquetes en sí son phishing para la contraseña sudo con la que se ejecuta la última etapa, y están tratando de ocultar su funcionalidad real y evitar la detección de una manera sofisticada: mostrando registros de instalación de npm falsos», Lucija Valentić, investigadora de amenazas de software en ReversingLabs, dicho en un informe compartido con The Hacker News.

Las bibliotecas Node.js identificadas, además de afirmar falsamente que descargan paquetes adicionales, insertan retrasos aleatorios para dar la impresión de que el proceso de instalación está en marcha. En un momento durante este paso, se alerta al usuario de que la instalación se está ejecutando con un error debido a que faltan permisos de escritura en «/usr/local/lib/node_modules», que es la ubicación predeterminada para los paquetes Node.js instalados globalmente en sistemas Linux y macOS.

También le indica a la víctima que ingrese su contraseña de root o administrador para continuar con la instalación. Si ingresan la contraseña, el malware recupera silenciosamente el descargador de la siguiente etapa, que luego se comunica con un canal de Telegram para obtener la URL de la carga útil final y la clave necesaria para descifrarla.

El ataque culmina con la implementación de un troyano de acceso remoto que es capaz de recopilar datos, apuntar a billeteras de criptomonedas y esperar más instrucciones de un servidor externo.

Ciberseguridad

ReversingLabs dijo que las actividades compartidas se superponen con un grupo de actividades documentado por JFrog con el nombre de GhostClaw a principios de este mes, aunque actualmente no se sabe si es trabajo del mismo actor de amenazas o de una campaña completamente nueva.

GhostClaw utiliza repositorios de GitHub y flujos de trabajo de IA para ofrecer macOS Stealer

Jamf Threat Labs, en un análisis publicado la semana pasada, dijo que la campaña GhostClaw utiliza repositorios de GitHub y flujos de trabajo de desarrollo asistidos por inteligencia artificial (IA) para entregar cargas útiles de robo de credenciales en macOS.

«Estos repositorios se hacen pasar por herramientas legítimas, incluidos robots comerciales, SDK y utilidades para desarrolladores, y están diseñados para parecer creíbles a primera vista», dijo el investigador de seguridad Thijs Xhaflaire. dicho. «Varios de los repositorios identificados han acumulado un compromiso significativo, en algunos casos superando los cientos de estrellas, lo que refuerza aún más su legitimidad percibida».

En esta campaña, los repositorios se llenan inicialmente con código benigno o parcialmente funcional y se dejan sin cambios durante un período prolongado para generar confianza entre los usuarios antes de introducir componentes maliciosos. Específicamente, los repositorios cuentan con un archivo README que guía a los desarrolladores a ejecutar un script de shell como parte del paso de instalación.

Una variante de estos repositorios presenta un archivo SKILL.md, dirigido principalmente a flujos de trabajo orientados a Al con el pretexto de instalar habilidades externas a través de agentes de IA como OpenClaw. Independientemente del método utilizado, el script de shell inicia un proceso de infección de varias etapas que finaliza con la implementación de un ladrón. La secuencia completa de acciones es la siguiente:

  • Identifica la arquitectura del host y la versión de macOS, verifica si Node.js ya está presente e instala una versión compatible si es necesario. La instalación se realiza en un directorio controlado por el usuario para evitar generar señales de alerta.
  • Invoca «node scripts/setup.js» y «node scripts/postinstall.js», lo que provoca que la ejecución pase a cargas útiles de JavaScript, lo que le permite robar credenciales del sistema, entregar el malware GhostLoader contactando a un servidor de comando y control (C2) y eliminar rastros de actividad maliciosa limpiando la Terminal.

El script también viene con una variable de entorno llamada «GHOST_PASSWORD_ONLY», que, cuando se establece en cero, presenta un flujo de instalación interactivo completo, completo con indicadores de progreso y mensajes para el usuario. Si se establece en 1, el script inicia una ruta de ejecución simplificada centrada principalmente en la recopilación de credenciales sin ningún elemento adicional de la interfaz de usuario.

Curiosamente, al menos en algunos casos, el script «postinstall.js» muestra un mensaje de éxito benigno, indicando que la instalación fue exitosa y que los usuarios pueden configurar la biblioteca en sus proyectos ejecutando el comando «npx reaccionar-state-optimizer».

Según un informe de la compañía de seguridad en la nube Panther el mes pasado, «react-state-optimizer» es uno de varios otros paquetes npm publicados por «mikilanjillo», lo que indica que los dos grupos de actividad son uno y el mismo.

  • reaccionar-consulta-core-utils
  • optimizador de estado de reacción
  • reaccionar-rápido-utils
  • reaccionar-rendimiento-suite
  • ai-fast-auto-trader
  • clonador-copia-carbon-mac
  • clonador-copias-carbon-mac
  • pkgnewfefame
  • barra oscura
Ciberseguridad

«Los paquetes contienen un ‘asistente de configuración’ CLI que engaña a los desarrolladores para que ingresen su contraseña sudo para realizar ‘optimizaciones del sistema’», dijo la investigadora de seguridad Alessandra Rizzo. «La contraseña capturada luego se pasa a una carga útil integral de ladrón de credenciales que recopila credenciales del navegador, billeteras de criptomonedas, claves SSH, configuraciones de proveedores de nube y tokens de herramientas de desarrollador».

«Los datos robados se enrutan a bots de Telegram específicos de los socios en función de un identificador de campaña integrado en cada cargador, con credenciales almacenadas en el contrato inteligente de BSC y actualizadas sin modificar el malware en sí».

El paquete npm inicial captura las credenciales y recupera la configuración de un canal de Telegram o de una página Teletype.in que está disfrazada de documentación de blockchain para implementar el ladrón. Según Panther, el malware implementa un modelo de ingresos dual, donde el ingreso principal proviene del robo de credenciales transmitido a través de canales asociados de Telegram, y el ingreso secundario proviene de redirecciones de URL de afiliados almacenadas en un contrato inteligente de Binance Smart Chain (BSC) separado.

«Esta campaña destaca un cambio continuo en el arte de los atacantes, donde los métodos de distribución se extienden más allá de los registros de paquetes tradicionales hacia plataformas como GitHub y flujos de trabajo de desarrollo emergentes asistidos por IA», dijo Jamf. «Al aprovechar ecosistemas confiables y prácticas de instalación estándar, los atacantes pueden introducir código malicioso en entornos con mínima fricción».

El ataque de Trivy a la cadena de suministro desencadena un gusano bote que se propaga automáticamente en paquetes de 47 npm – CYBERDEFENSA.MX

Se sospecha que los actores de amenazas detrás del ataque a la cadena de suministro dirigido al popular escáner Trivy están llevando a cabo ataques posteriores que han llevado al compromiso de una gran cantidad de paquetes npm con un gusano autopropagante previamente indocumentado denominado gusano de bote.

El nombre es una referencia al hecho de que el malware utiliza un recipiente de PICque se refiere a contratos inteligentes a prueba de manipulaciones en la cadena de bloques de Internet Computer, como un solucionador de caída muerta. El desarrollo marca el primer abuso documentado públicamente de un recipiente ICP con el propósito explícito de recuperar el servidor de comando y control (C2), según Charlie Eriksen, investigador de seguridad de Aikido. dicho.

La lista de paquetes afectados se encuentra a continuación:

  • 28 paquetes en el ámbito @EmilGroup
  • 16 paquetes en el ámbito @opengov
  • @teale.io/eslint-config
  • @airtm/uuid-base32
  • @pypestream/flotante-ui-dom

El desarrollo se produce un día después de que los actores de amenazas aprovecharan una credencial comprometida para publicar versiones maliciosas de trivy, trivy-action y setup-trivy que contenían un ladrón de credenciales. Un enfoque en la nube operación cibercriminal Se sospecha que el grupo conocido como TeamPCP está detrás de los ataques.

Ciberseguridad

La cadena de infección que involucra los paquetes npm implica aprovechar un gancho posterior a la instalación para ejecutar un cargador, que luego coloca una puerta trasera de Python que es responsable de contactar con el contenedor ICP para recuperar una URL que apunta a la carga útil de la siguiente etapa. El hecho de que la infraestructura de dead drop esté descentralizada la hace resiliente y resistente a los esfuerzos de eliminación.

«El controlador del recipiente puede cambiar la URL en cualquier momento, enviando nuevos archivos binarios a todos los hosts infectados sin tocar el implante», dijo Eriksen.

La persistencia se establece mediante un servicio de usuario systemd, que está configurado para iniciar automáticamente la puerta trasera de Python después de un retraso de 5 segundos si se finaliza por algún motivo mediante el uso de «Reiniciar=siempre» directiva. El servicio systemd se hace pasar por herramientas PostgreSQL («pgmon») en un intento de pasar desapercibido.

La puerta trasera, como se mencionó antes, llama al recipiente de PIC con un agente de usuario del navegador falso cada 50 minutos para recuperar la URL en texto sin formato. Posteriormente, la URL se analiza para buscar y ejecutar el ejecutable.

«Si la URL contiene youtube[.]com, el guión lo omite», explicó Eriksen. «Este es el estado inactivo del recipiente. El atacante arma el implante apuntando el recipiente a un binario real y lo desarma volviendo a un enlace de YouTube. Si el atacante actualiza el contenedor para que apunte a una nueva URL, cada máquina infectada recoge el nuevo binario en su siguiente sondeo. El antiguo binario sigue ejecutándose en segundo plano ya que el script nunca finaliza procesos anteriores».

Vale la pena señalar que un youtube similar[.]Wiz también ha señalado el interruptor de apagado basado en com en relación con el binario troyanizado Trivy (versión 0.69.4), que llega al mismo recipiente ICP a través de otro cuentagotas de Python («sysmon.py»). Al momento de escribir, la URL devuelta por el C2 es una vídeo de youtube de rickroll.

The Hacker News descubrió que el recipiente ICP apoya tres métodos (get_latest_link, http_request, update_link), el último de los cuales permite al actor de amenazas modificar el comportamiento en cualquier momento para servir una carga útil real.

En conjunto, los paquetes vienen con un archivo «deploy.js» que el atacante ejecuta manualmente para distribuir la carga maliciosa a cada paquete al que un token npm robado proporciona acceso de forma programática. El gusano, que se considera codificado por vibración mediante una herramienta de inteligencia artificial (IA), no intenta ocultar su funcionalidad.

«Esto no se activa con la instalación de npm», dijo Aikido. «Es una herramienta independiente que el atacante utiliza con tokens robados para maximizar el radio de explosión».

Para empeorar las cosas, se descubrió que una iteración posterior de CanisterWorm detectada en «@teale.io/eslint-config» versiones 1.8.11 y 1.8.12 se autopropaga sin necesidad de intervención manual.

Ciberseguridad

A diferencia de «deploy.js», que era un script autónomo que el atacante tenía que ejecutar con los tokens npm robados para enviar una versión maliciosa de los paquetes npm al registro, la nueva variante incorpora esta funcionalidad en «index.js» dentro de una función findNpmTokens() que se ejecuta durante la fase posterior a la instalación para recopilar tokens de autenticación npm de la máquina de la víctima.

La principal diferencia aquí es que el script postinstalación, después de instalar la puerta trasera persistente, intenta localizar cada token npm del entorno del desarrollador y genera el gusano inmediatamente con esos tokens iniciando «deploy.js» como un proceso en segundo plano completamente independiente.

Curiosamente, se dice que el actor de amenazas cambió la carga útil de la puerta trasera ICP por una cadena de prueba ficticia («hello123»), probablemente para garantizar que toda la cadena de ataque funcione según lo previsto antes de agregar el malware.

«Este es el punto donde el ataque pasa de ‘la cuenta comprometida publica malware’ a ‘el malware compromete más cuentas y se publica a sí mismo’», dijo Eriksen. «Cada desarrollador o canal de CI que instala este paquete y tiene un token npm accesible se convierte en un vector de propagación involuntario. Sus paquetes se infectan, sus usuarios intermedios los instalan y, si alguno de ellos tiene tokens, el ciclo se repite».

(Esta es una historia en desarrollo. Vuelva a consultarla para obtener más detalles).

Paquetes falsos de Laravel en Packagist implementan RAT en Windows, macOS y Linux – CYBERDEFENSA.MX

Los investigadores de ciberseguridad han marcado Paquetes PHP maliciosos de Packagist disfrazados de utilidades de Laravel que actúan como conducto para un troyano de acceso remoto (RAT) multiplataforma que funciona en sistemas Windows, macOS y Linux.

Los nombres de los paquetes se enumeran a continuación –

  • nhattuanbl/lara-helper (37 Descargas)
  • nhattuanbl/simple-queue (29 Descargas)
  • nhattuanbl/lara-swagger (49 Descargas)

Según Socket, el paquete «nhattuanbl/lara-swagger» no incorpora directamente código malicioso, sino que enumera «nhattuanbl/lara-helper» como un Dependencia del compositorprovocando que instale el RAT. Los paquetes todavía están disponibles para descargar desde el registro de paquetes PHP.

Ciberseguridad

Se ha descubierto que tanto lara-helper como simple-queue contienen un archivo PHP llamado «src/helper.php», que emplea una serie de trucos para complicar el análisis estático mediante el uso de técnicas como la ofuscación del flujo de control, la codificación de nombres de dominio, nombres de comandos y rutas de archivos, e identificadores aleatorios para nombres de variables y funciones.

«Una vez cargada, la carga útil se conecta a un servidor C2 en helper.leuleu[.]net:2096, envía datos de reconocimiento del sistema y espera comandos, dándole al operador acceso remoto completo al host», dijo el investigador de seguridad Kush Pandya.

Esto incluye el envío de información del sistema y el análisis de comandos recibidos del servidor C2 para su posterior ejecución en el host comprometido. La comunicación se produce a través de TCP utilizando PHP. flujo_socket_client(). La lista de comandos admitidos se encuentra a continuación:

  • silbidopara enviar un latido automáticamente cada 60 segundos
  • informaciónpara enviar datos de reconocimiento del sistema al servidor C2
  • cmdpara ejecutar un comando de shell
  • powershellpara ejecutar un comando de PowerShell
  • correrpara ejecutar un comando de shell en segundo plano
  • captura de pantallapara capturar la pantalla usando imagegrabscreen()
  • descargarpara leer un archivo del disco
  • subira un archivo en el disco y otorgarle permisos de lectura, escritura y ejecución a todos los usuarios
  • deteneral enchufe y salir

«Para la ejecución del shell, RAT prueba las funciones deshabilitadas y elige el primer método disponible entre: popen, proc_open, exec, shell_exec, system, passthru», dijo Pandya. «Esto lo hace resistente a las configuraciones comunes de refuerzo de PHP».

Ciberseguridad

Si bien el servidor C2 actualmente no responde, el RAT está configurado de manera que reintenta la conexión cada 15 segundos en un bucle persistente, lo que lo convierte en un riesgo para la seguridad. Se recomienda a los usuarios que hayan instalado los paquetes que asuman un compromiso, los eliminen, roten todos los secretos accesibles desde el entorno de la aplicación y auditen el tráfico saliente al servidor C2.

Además de los tres paquetes antes mencionados, el actor de amenazas detrás de la operación ha publicado otras tres bibliotecas («nhattuanbl/lara-media», «nhattuanbl/snooze» y «nhattuanbl/syslog») que están limpias, probablemente en un esfuerzo por generar credibilidad y engañar a los usuarios para que instalen los maliciosos.

«Cualquier aplicación Laravel que instale lara-helper o simple-queue ejecuta una RAT persistente. El actor de la amenaza tiene acceso completo al shell remoto, puede leer y escribir archivos arbitrarios y recibe un perfil de sistema continuo para cada host conectado», dijo Socket.

«Debido a que la activación ocurre en el inicio de la aplicación (a través del proveedor de servicios) o en las cargas automáticas de clases (a través de una cola simple), el RAT se ejecuta en el mismo proceso que la aplicación web con los mismos permisos del sistema de archivos y variables de entorno, incluidas las credenciales de la base de datos, las claves API y los contenidos .env».

Hackers norcoreanos publican paquetes de 26 npm que ocultan Pastebin C2 para RAT multiplataforma – CYBERDEFENSA.MX

Los investigadores de ciberseguridad han revelado una nueva iteración de la actual campaña Contagious Interview, donde los actores de amenazas norcoreanos han publicado un conjunto de 26 paquetes maliciosos en el registro npm.

Los paquetes se hacen pasar por herramientas de desarrollador, pero contienen funcionalidad para extraer el comando y control real (C2) mediante el uso de contenido aparentemente inofensivo de Pastebin como un solucionador de caídas y, en última instancia, eliminan un ladrón de credenciales y un troyano de acceso remoto dirigidos a desarrolladores. La infraestructura C2 está alojada en Vercel en 31 implementaciones.

El campañarastreado por Socket y Kieran Miyamoto de kmsec.uk está siendo rastreado bajo el apodo StegaBin.

«El cargador extrae URL C2 codificadas esteganográficamente dentro de tres pastas de Pastebin, ensayos informáticos inofensivos en los que los caracteres en posiciones uniformemente espaciadas han sido reemplazados para deletrear direcciones de infraestructura ocultas», los investigadores de Socket Philipp Burckhardt y Peter van der Zee dicho.

Ciberseguridad

La lista de paquetes npm maliciosos es la siguiente:

  • argonista@0.41.0
  • bcryptance@6.5.2
  • abeja-quarl@2.1.2
  • núcleo de burbuja@6.26.2
  • corstoken@2.14.7
  • daytonjs@1.11.20
  • ether-lint@5.9.4
  • expressjs-lint@5.3.2
  • fastify-lint@5.8.0
  • formmiderable@3.5.7
  • hapi-lint@19.1.2
  • iosysredis@5.13.2
  • jslint-config@10.22.2
  • jsnwebapptoken@8.40.2
  • kafkajs-lint@2.21.3
  • loadash-lint@4.17.24
  • mqttoken@5.40.2
  • prisma-lint@7.4.2
  • promanage@6.0.21
  • secuela@6.40.2
  • tiporiem@0.4.17
  • undicy-lint@7.23.1
  • uuindex@13.1.0
  • vitetest-lint@4.1.21
  • windowston@3.19.2
  • zoddle@4.4.2

Todos los paquetes identificados vienen con un script de instalación («install.js») que se ejecuta automáticamente durante la instalación del paquete, que, a su vez, ejecuta la carga útil maliciosa ubicada en «vendor/scrypt-js/version.js». Otro aspecto común que une a los 26 paquetes es que declaran explícitamente el paquete legítimo que están escribiendo como una dependencia, probablemente en un intento de hacerlos parecer creíbles.

La carga útil sirve como un decodificador de esteganografía de texto al contactar una URL de Pastebin y extraer su contenido para recuperar las URL C2 Vercel reales. Si bien los pegados aparentemente contienen un ensayo benigno sobre informática, el decodificador está diseñado para observar caracteres específicos en ciertas posiciones del texto y unirlos para crear una lista de dominios C2.

«El decodificador elimina los caracteres Unicode de ancho cero, lee un marcador de longitud de 5 dígitos desde el principio, calcula las posiciones de los caracteres espaciados uniformemente a lo largo del texto y extrae los caracteres en esas posiciones», dijo Socket. «Los caracteres extraídos luego se dividen en un separador ||| (con un marcador de terminación ===END===) para producir una matriz de nombres de dominio C2».

Luego, el malware llega al dominio decodificado para recuperar cargas útiles específicas de la plataforma para Windows, macOS y Linux, una táctica ampliamente observada en la campaña Contagious Interview. Uno de esos dominios, «ext-checkdin.vercel[.]app» sirve un script de shell, que luego contacta la misma URL para recuperar un componente RAT.

El troyano se conecta a 103.106.67[.]63:1244 a esperar más instrucciones que le permitan cambiar el directorio actual y ejecutar comandos de shell, a través de los cuales se implementa un conjunto integral de recopilación de inteligencia. Contiene nueve módulos para facilitar la persistencia de Microsoft Visual Studio Code (VS Code), el registro de teclas y el robo del portapapeles, la recolección de credenciales del navegador, el escaneo de secretos de TruffleHog y el repositorio Git y la filtración de claves SSH.

  • vsque utiliza un archivo task.json malicioso para contactar un dominio de Vercel cada vez que se abre un proyecto en VS Code aprovechando el disparador runOn: «folderOpen». El módulo escanea específicamente el directorio de configuración de VS Code de la víctima en las tres plataformas y escribe el archivo task.json malicioso directamente en él.
  • acortarque actúa como registrador de teclas, rastreador de mouse y ladrón de portapapeles con soporte para seguimiento activo de ventanas y realiza filtraciones periódicas cada 10 minutos.
  • hermanoque es una carga útil de Python para robar almacenes de credenciales del navegador.
  • jque es un módulo de Node.js utilizado para el robo de navegadores y criptomonedas dirigido a Google Chrome, Brave, Firefox, Opera y Microsoft Edge, y extensiones como MetaMask, Phantom, Coinbase Wallet, Binance, Trust, Exodus y Keplr, entre otras. En macOS, también apunta al llavero de iCloud.
  • zque enumera el sistema de archivos y roba archivos que coinciden con ciertos patrones predefinidos.
  • norteque actúa como RAT para otorgar al atacante la capacidad de controlar de forma remota el host infectado en tiempo real a través de una conexión WebSocket persistente a 103.106.67[.]63:1247 y exfiltrar datos de interés a través de FTP.
  • trufaque descarga el legítimo Escáner de secretos de TruffleHog desde la página oficial de GitHub para descubrir y filtrar los secretos de los desarrolladores.
  • gitque recopila archivos de directorios .ssh, extrae credenciales de Git y escanea repositorios.
  • programadoque es lo mismo que «vendor/scrypt-js/version.js» y se vuelve a implementar como mecanismo de persistencia.
Ciberseguridad

«Mientras que las oleadas anteriores de la campaña Contagious Interview se basaban en scripts maliciosos relativamente sencillos y cargas útiles alojadas en Bitbucket, esta última iteración demuestra un esfuerzo concertado para evitar tanto la detección automatizada como la revisión humana», concluyó Socket.

«El uso de esteganografía a nivel de personaje en Pastebin y el enrutamiento Vercel de múltiples etapas apunta a un adversario que está refinando sus técnicas de evasión e intentando hacer sus operaciones más resistentes».

La divulgación se produce cuando también se ha observado que los actores norcoreanos publican paquetes npm maliciosos (por ejemplo, express-core-validator) para recuperar una carga útil de JavaScript de la siguiente etapa alojada en Google Drive.

«Sólo se ha publicado un paquete con esta nueva técnica», Miyamoto dicho. «Es probable que FAMOUS CHOLLIMA continúe aprovechando múltiples técnicas e infraestructura para entregar cargas útiles de seguimiento. Es poco probable que esto indique una revisión completa de su comportamiento de etapa en npm».