19 paquetes envenenados para ejecutar automáticamente el ladrón de credenciales de bollos – CYBERDEFENSA.MX

La campaña de la cadena de suministro de Miasma ha provocado una nueva ola de ataques llamada infiernoesta vez involucrando 37 artefactos de rueda maliciosos en 19 paquetes en el registro Python Package Index (PyPI), mientras los ataques estilo Mini Shai-Hulud continúan refinándose y dividiéndose para apuntar a ecosistemas específicos.

«Las versiones comprometidas enviaron un archivo *-setup.pth que intenta ejecutarse automáticamente durante el inicio de Python, descargar el tiempo de ejecución de Bun JavaScript y ejecutar una carga útil de JavaScript ofuscada llamada _index.js», Socket dicho en un nuevo análisis.

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

  • bramina 0.0.2, 0.0.3, 0.0.4
  • cmd2func 0.2.2, 0.2.3
  • nevera portátil 0.4.1, 0.4.2
  • lanzamiento dinamo 1.5.4
  • motor-ejecutor 0.3.4, 0.3.5
  • ejecutor-http 0.1.3, 0.1.4
  • funcióndesc 0.2.2, 0.2.3
  • mágico 0.6.8, 0.6.9
  • magia-ai 0.4.4, 0.4.5
  • mrbios 0.1.1, 0.1.2
  • napari-ufish 0.0.2, 0.0.3
  • caja nuc 0.1.2, 0.1.3
  • okita 0.0.7, 0.0.8
  • agentes-panteón 0.6.1, 0.6.2
  • conjuntos de herramientas pantheon 0.5.5, 0.5.6
  • spateo-liberación 1.1.2
  • sinago 0.1.1, 0.1.2
  • ufish 0.1.2, 0.1.3
  • uprobe 0.1.3, 0.1.4

Al igual que en las campañas anteriores de Shai-Hulud y Miasma, la carga maliciosa descarga e instala el tiempo de ejecución Bun JavaScript, que luego se utiliza para lanzar un ladrón de JavaScript muy ofuscado que puede recopilar una amplia gama de datos de los sistemas de los desarrolladores.

Ciberseguridad

Esto incluye secretos asociados con GitHub, npm, PyPI, RubyGems, JFrog, CircleCI, Anthropic, AWS, GCP, Azure y Kubernetes, junto con configuraciones de Docker, tokens de Vault, claves SSH, historiales de shell, archivos .env, archivos .npmrc, archivos .pypirc, configuraciones de Claude/MCP y otras credenciales locales o accesibles para corredores.

Lo que ha cambiado esta vez es el marcador de campaña. Mientras que las iteraciones anteriores exportaban los datos recopilados a un repositorio público de GitHub con la descripción «Miasma: The Spreading Blight», «Miasma: The Spreading Blight» y «Miasma – The Spreading Blight», la última ola incluye las descripciones del repositorio –

  • Hades – El fin de los condenados
  • Hades * El fin de los condenados

«Eso hace que Hades se entienda mejor como una rama PyPI del mismo linaje Mini Shai-Hulud/Miasma, no como un incidente de malware Python independiente», dijo la compañía de seguridad de aplicaciones. «El manual principal sigue siendo el mismo: abusar de los canales de paquetes confiables, ejecutar antes del uso normal del paquete, preparar una carga útil de JavaScript impulsada por Bun, robar credenciales de desarrollador y CI/CD, y usar lógica de exfiltración y propagación centrada en GitHub».

Lo que ha cambiado esta vez es el uso de un archivo *-setup.pth que es procesado por el módulo «site» de Python durante el inicio del intérprete, lo que resulta en la ejecución de la carga útil maliciosa después de la instalación sin necesidad de que la víctima importe el paquete envenenado. La carga útil, a su vez, descarga y ejecuta Bun desde GitHub y ejecuta el ladrón, no sin antes comprobar si el sistema corresponde a la configuración regional rusa.

«Este es el equivalente en Python del problema del gancho de instalación de npm que Shai-Hulud y Miasma explotan repetidamente», explicó Socket. «La sintaxis es diferente, pero la consecuencia de seguridad es la misma: la instalación de dependencias crea una ventaja de ejecución antes de que se revise o invoque el código de la aplicación».

Hades Cluster intenta engañar a los escáneres de seguridad de IA

También están comprometidos, como parte de la campaña Hades, una serie de paquetes relacionados con la biología computacional, la bioinformática y el ecosistema de análisis genotipo-fenotipo.

  • aumentar 0.11.97
  • achicar 0.8.101
  • gpsea 0.9.14
  • mflux-streamlit 0.0.3, 0.0.4
  • nhmpy 2.4.7
  • ppkt2synergy 0.1.1
  • herramientas pyphetools 0.9.120

Curiosamente, este clúster emplea un enfoque diferente en el que el punto de entrada está incrustado dentro del archivo «__init__.py» del paquete como un gancho de importación de una sola línea ofuscado. Sin embargo, el resultado es el mismo: descargar y ejecutar el tiempo de ejecución de Bun, seguido de la ejecución de la carga útil de JavaScript.

«El uso del tiempo de ejecución Bun sigue siendo un tema constante», StepSecurity dicho. «La descarga de Bun como un archivo ZIP independiente permite que el malware ejecute tareas complejas de JavaScript en entornos que carecen de una instalación de Node.js, evitando los controles tradicionales del administrador de paquetes y los registros de proxy de red».

En lo que se ha caracterizado como una novedosa técnica de evasión de defensa de inteligencia artificial (IA), el malware también incorpora una inyección de texto sin formato que intenta engañar a las herramientas de análisis de paquetes basadas en Large Language Model (LLM) para indicar al modelo que clasifique el paquete como seguro.

Además de eso, el malware consulta las confirmaciones de GitHub para la palabra clave «TheBeautifulSnadsOfTime» para extraer una cadena codificada en Base64 que contiene una carga útil de JavaScript. También sondea GitHub en busca de confirmaciones que coincidan con la palabra clave «firedalazer» para buscar un cuentagotas basado en Python y ejecutarlo.

Algunas de las características importantes integradas en el malware Hades se enumeran a continuación:

  • Replica y distribuye lateralmente a través de redes de desarrolladores a través de SSH o SCP, envía versiones troyanizadas de paquetes PyPI desde sistemas comprometidos explotando las configuraciones de confianza OpenID Connect (OIDC) de los desarrolladores.
  • Apunte a los repositorios de GitHub para extraer secretos de la organización utilizando los ejecutores de GitHub Actions si el token de GitHub recolectado tiene los permisos de escritura adecuados.
  • Carpetas del espacio de trabajo local de puerta trasera para activar la ejecución de código cuando los asistentes de IA lo analizan o lo abren en IDE. Los objetivos incluyen Anthropic Claude, OpenAI Codex, Google Gemini, Microsoft Copilot, Cline, Aider, Tabby, Amazon Q, Cody, Bolt y Continuar.
  • Instale un servicio en segundo plano llamado «gh-token-monitor» que actúa como un limpiador eliminando todos los datos («rm -rf ~/; rm -rf ~/Documents») si el desarrollador revoca el token de GitHub robado.

«Una capacidad clave del actor Miasma es leer la memoria del proceso del ejecutor de GitHub Actions (el proceso Runner.Worker) para extraer secretos», dijo el investigador de seguridad Rohan Prabhu. «En campañas anteriores, esto se limitaba a los sistemas Linux que usaban /proc/{pid}/mem. La campaña Hades presenta raspadores de memoria personalizados para macOS y Windows».

Ciberseguridad

El desarrollo se produce cuando StepSecurity reveló que un atacante desconocido comprometió la cuenta de GitHub («LeonOstrez») vinculada a «Pythagora-io/gpt-pilot», una popular herramienta de desarrollo de inteligencia artificial de código abierto, y forzó una variante del gusano de robo de credenciales Shai-Hulud a la rama principal. El malware está diseñado para activarse silenciosamente cuando un desarrollador desprevenido ejecuta el proyecto, evitando al mismo tiempo los sistemas con una configuración regional rusa.

«El malware, una variante del gusano Shai-Hulud, fue detenido por un defensor improbable: ruff, un formateador de código Python», dijo Ashish Kurmi, cofundador y director de tecnología de StepSecurity. dicho. «El atacante intentó dos veces pasar el código malicioso a través de CI y falló en ambas ocasiones porque su archivo Python inyectado no coincidía con las reglas de formato y linting del proyecto».

La empresa de seguridad de la cadena de suministro de software Snyk tiene descrito estos ataques como parte del linaje Shai-Hulud/Miasma, con cada ola aprovechando un ladrón ofuscado en tiempo de ejecución de Bun y combinándolo con «nueva persistencia, nuevas rutas de exfiltración y nuevas formas de activar código automáticamente en el momento de la instalación o compilación».

«La campaña Miasma demuestra que tener claves firmadas y cuentas de mantenedor autenticadas ya no es una garantía absoluta de seguridad», Cloudsmith dicho. «Cuando los registros y repositorios ascendentes se ven comprometidos, el código público se convierte en una de las formas más fáciles y directas de ser pirateado».

Los actores de amenazas aprovechan la falla crítica de FortiClient EMS para implementar el ladrón de credenciales – CYBERDEFENSA.MX

Los actores de amenazas continúan explotando una falla de seguridad crítica, ahora parcheada, que afecta las implementaciones de FortiClient Endpoint Management Server (EMS) para entregar malware de robo de credenciales.

«La campaña abusó de la infraestructura confiable de administración de puntos finales para distribuir malware en los puntos finales administrados», Arctic Wolf dicho. «Los actores de amenazas disfrazaron la carga útil del ladrón de credenciales como una actualización del endpoint de Fortinet, ejecutando silenciosamente el ejecutable malicioso a través de PowerShell».

La actividad, observada por la empresa de ciberseguridad en mayo de 2026, implica la explotación de CVE-2026-35616 (puntuación CVSS: 9,1), una omisión crítica de acceso a la API de autenticación previa que conduce a una escalada de privilegios. Fortinet solucionó el problema en FortiClient EMS 7.4.7 y versiones posteriores.

Ciberseguridad

A un compromiso exitoso le sigue que el actor de la amenaza tome medidas para modificar las configuraciones para aplazar los recordatorios de actualización del firmware, así como también modifique la configuración del perfil de acceso remoto y la política de terminal para insertar un script malicioso para su ejecución en dispositivos de terminal.

«El patrón de ejecución observado sugiere que los actores de amenazas utilizaron la propia vía de administración de FortiClient para enviar comandos maliciosos de PowerShell a los puntos finales administrados de una manera que se asemejaba a operaciones de administración legítimas», dijo Arctic Wolf.

«Una vez que los actores de la amenaza tuvieron una ruta para modificar la configuración administrada por EMS, cada punto final administrado se convirtió en un objetivo de ejecución potencial sin requerir una ruta de intrusión separada para cada dispositivo».

Además, se descubrió que el ataque aprovecha «fortitray.exe», un ejecutable legítimo asociado con FortiClient para iniciar un archivo de script .cmd usando «cmd.exe». El script .cmd está diseñado para invocar un script de PowerShell codificado en Base64 que, a su vez, es responsable de descargar una carga útil maliciosa, ejecutarla y filtrar los resultados a «83.138.53».[.]110″ a través de una solicitud HTTP POST.

El ejecutable, llamado «FortiEndpoint_Patch.exe», se hace pasar por una actualización, pero, en realidad, es un ladrón de información de Windows no reportado anteriormente, capaz de recopilar datos confidenciales, como contraseñas, cookies y detalles de autocompletar, como información de tarjetas de crédito, direcciones y números de teléfono, de navegadores basados ​​en Chromium y Gecko.

Ciberseguridad

Los datos se escriben en un archivo de registro y se guardan en el directorio ProgramData. Vale la pena señalar que el ladrón carece de capacidades de exfiltración basadas en la red. Es el script de PowerShell el que transmite los datos capturados a la infraestructura controlada por el atacante.

«Al evitar la autenticación API e interactuar con la funcionalidad EMS en un contexto privilegiado, los actores de amenazas pudieron modificar la configuración de administración y enviar scripts maliciosos para su ejecución en puntos finales administrados», dijo Arctic Wolf.

«Las cookies de sesión y las credenciales guardadas del navegador pueden proporcionar a los actores de amenazas un acceso posterior a servicios en la nube, aplicaciones internas y otros recursos autenticados, incluidos los casos en los que la reutilización de sesiones puede eludir las indicaciones de MFA».

Paquetes PHP de Laravel-Lang comprometidos para ofrecer un ladrón de credenciales multiplataforma – CYBERDEFENSA.MX

Los investigadores de ciberseguridad han señalado una nueva campaña de ataque a la cadena de suministro de software que se ha dirigido a múltiples paquetes PHP pertenecientes a Laravel-Lang para ofrecer un marco integral de robo de credenciales.

Los paquetes afectados incluyen:

  • laravel-lang/lang
  • laravel-lang/http-status
  • laravel-lang/atributos
  • laravel-lang/acciones

«El momento y el patrón de las etiquetas recientemente publicadas apuntan a un compromiso más amplio del proceso de lanzamiento de la organización Laravel Lang, en lugar de una única versión de paquete malicioso», Socket dicho. «Las etiquetas se publicaron en rápida sucesión el 22 y 23 de mayo de 2026, y muchas versiones aparecieron con sólo unos segundos de diferencia».

Se han identificado más de 700 versiones asociadas con estos paquetes, lo que indica etiquetado masivo o republicación automatizada. Se sospecha que el atacante pudo haber logrado obtener acceso a credenciales a nivel de organización, automatización de repositorios o infraestructura de lanzamiento.

La principal funcionalidad maliciosa se encuentra en un archivo llamado «src/helpers.php» que está incrustado en las etiquetas de versión. Está diseñado principalmente para tomar huellas digitales del host infectado y contactar con un servidor externo («flipboxstudio[.]info») para recuperar una carga útil multiplataforma basada en PHP que se ejecuta en Windows, Linux y macOS.

Según Aikido Security, el dropper ofrece un iniciador de Visual Basic Script en Windows y lo ejecuta a través de cscript. En Linux y macOS, ejecuta la carga útil del ladrón mediante exec().

Ciberseguridad

«Porque este archivo [‘src/helpers.php’] está registrado en compositor.json bajo autoload.files, la puerta trasera se ejecuta automáticamente en cada solicitud PHP manejada por la aplicación comprometida», explicó Socket.

«El script genera un marcador único por host (un hash MD5 que combina la ruta del directorio, la arquitectura del sistema y el inodo) para garantizar que la carga útil solo se active una vez por máquina. Esto evita ejecuciones redundantes y ayuda a que el malware permanezca sin ser detectado después de la ejecución inicial».

El ladrón está equipado para recopilar una amplia gama de datos de sistemas comprometidos y filtrarlos al mismo servidor. Esto incluye –

  • Roles de IAM y documentos de identidad de instancias mediante la consulta de puntos finales de metadatos en la nube
  • Credenciales predeterminadas de la aplicación Google Cloud
  • Tokens de acceso de Microsoft Azure y perfiles de entidad de servicio
  • Tokens de cuenta de servicio de Kubernetes y configuraciones de registro de Helm
  • Tokens de autenticación para DigitalOcean, Heroku, Vercel, Netlify, Railway y Fly.io
  • Fichas de bóveda de HashiCorp
  • Tokens y configuraciones de Jenkins, GitLab Runners, GitHub Actions, CircleCI, TravisCI y ArgoCD
  • Frases semilla y archivos asociados con carteras de criptomonedas (Electrum, Exodus, Atomic, Ledger Live, Trezor, Wasabi y Sparrow) y extensiones (MetaMask, Phantom, Trust Wallet, Ronin, Keplr, Solflare y Rabby)
  • Historial del navegador, cookies y datos de inicio de sesión de Google Chrome, Microsoft Edge, Mozilla Firefox, Brave y Opera mediante el uso de un ejecutable integrado de Windows codificado en Base64 que evita el cifrado vinculado a aplicaciones de Chromium (ABE) protecciones
  • Bóvedas locales y datos de extensiones de navegador para 1Password, Bitwarden, LastPass, KeePass, Dashlane y NordPass
  • Sesiones guardadas de PuTTY/WinSCP
  • Volcados del Administrador de credenciales de Windows
  • Sesiones guardadas de WinSCP
  • Archivos RDP
  • Tokens de sesión asociados con aplicaciones como Discord, Slack y Telegram
  • Datos de Microsoft Outlook, Thunderbird y clientes FTP populares (FileZilla, WinSCP y CoreFTP)
  • Archivos de configuración y credenciales que contienen tokens de autenticación de Docker, claves privadas SSH, credenciales de Git, archivos de historial de shell, archivos de historial de bases de datos, configuraciones de clúster de Kubernetes, archivos .env, wp-config.php y docker-compose.yml.
  • Variables de entorno cargadas en el proceso PHP
  • Credenciales de control de fuente de archivos .gitconfig, .git-credentials y .netrc globales y locales
  • Configuración de VPN y archivos de inicio de sesión guardados para OpenVPN, WireGuard, NetworkManager y VPN comerciales como NordVPN, ExpressVPN, CyberGhost y Mullvad

«La carga útil recuperada es un ladrón de credenciales PHP de aproximadamente 5900 líneas, organizado en quince módulos recopiladores especializados», dijo el investigador de Aikido Ilyas Makari. dicho. «Después de recopilar todo lo que puede encontrar, cifra los resultados con AES-256 y los envía a flipboxstudio[.]información/exfil. Luego se borra del disco para limitar la evidencia forense».

Consola Nx comprometida 18.95.0 dirigida a desarrolladores de código VS con ladrón de credenciales – CYBERDEFENSA.MX

Los investigadores de ciberseguridad han detectado una versión comprometida de la extensión de la consola Nx que se publicó en el mercado de Microsoft Visual Studio Code (VS Code).

La extensión en cuestión es rwl.angular-consola (versión 18.95.0), una interfaz de usuario y complemento popular para editores de código como VS Code, Cursor y JetBrains. La extensión VS Code tiene más de 2,2 millones de instalaciones. La versión Open VSX no se ha visto afectada por el incidente.

«A los pocos segundos de que un desarrollador abriera cualquier espacio de trabajo, la extensión comprometida buscó y ejecutó silenciosamente una carga útil ofuscada de 498 KB de una confirmación huérfana oculta dentro del repositorio oficial de GitHub nrwl/nx», dijo el investigador de StepSecurity Ashish Kurmi. dicho.

La carga útil es una «herramienta de envenenamiento de la cadena de suministro y ladrón de credenciales de varias etapas» que recopila secretos de los desarrolladores y los filtra a través de HTTPS, la API de GitHub y el túnel DNS. También instala una puerta trasera de Python en sistemas macOS que abusa de la API de búsqueda de GitHub como un solucionador muerto para recibir más comandos.

En un aviso emitido el lunes, los mantenedores de la extensión dicho La causa raíz se remonta a uno de sus desarrolladores, cuya máquina se vio comprometida en un incidente de seguridad reciente que filtró sus credenciales de GitHub. Aunque no se reveló la naturaleza del «incidente» anterior, las credenciales del desarrollador han sido revocadas temporalmente.

Ciberseguridad

Se dice que se ha abusado del acceso proporcionado por las credenciales para enviar un compromiso huérfano y sin firmar a nrwl/nx, que introduce el malware ladrón. La acción maliciosa se activa tan pronto como un desarrollador abre cualquier espacio de trabajo en VS Code, lo que lleva a la instalación del tiempo de ejecución Bun JavaScript para ejecutar una carga útil «index.js» ofuscada.

El malware ejecuta comprobaciones para evitar infectar máquinas probablemente ubicadas en las zonas horarias de Rusia/CEI y se lanza como un proceso en segundo plano independiente para iniciar el flujo de trabajo de recolección de credenciales, lo que le permite recuperar secretos de las bóvedas de 1Password y las configuraciones de Anthropic Claude Code, y secretos asociados con npm, GitHub y Amazon Web Services (AWS).

«Una capacidad que se destaca: la carga útil contiene integración completa de Sigstore, incluida la emisión de certificados Fulcio y la generación de procedencia SLSA», dijo StepSecurity. «Combinado con tokens npm OIDC robados, esto significa que el atacante podría publicar paquetes npm posteriores con certificaciones de procedencia válidas y firmadas criptográficamente, haciendo que los paquetes maliciosos parezcan compilaciones legítimas y verificadas».

El equipo de Nx también reconoció que «algunos usuarios se vieron comprometidos» como resultado de esta infracción. Además de instar a los usuarios a actualizar a 18.100.0 o posterior, los mantenedores han publicado los siguientes indicadores de compromiso:

  • La versión 18.95.0 de Nx Console se instaló durante el período de exposición entre el 18 de mayo de 2026, a las 2:36 p. m. CEST y a las 2:47 p. m. CEST.
  • Presencia de archivos como ~/.local/share/kitty/cat.py, ~/Library/LaunchAgents/com.user.kitty-monitor.plist, /var/tmp/.gh_update_state o /tmp/kitty-*.
  • Presencia de cualquiera de los siguientes procesos en ejecución: un proceso de Python que ejecuta cat.py y un proceso con __DAEMONIZED=1 en su entorno.

Se recomienda a los usuarios afectados que finalicen los procesos antes mencionados, eliminen los artefactos en el disco y roten todas las credenciales accesibles desde la máquina afectada, incluidos tokens, secretos y claves SSH.

Este desarrollo marca la segunda vez que se ataca al ecosistema Nx en un año. En agosto de 2025, se lanzaron varios paquetes npm. infectado por un ladrón de credenciales como parte de una campaña de ataque a la cadena de suministro llamada s1ngularity. A diferencia de la iteración anterior, el último ataque tiene como objetivo la extensión VS Code.

Ciberseguridad

Paquetes npm maliciosos en abundancia

Los hallazgos coinciden con el descubrimiento de varios paquetes maliciosos en los repositorios de código abierto.

  • iceberg-javascript, supabase-javascript, auth-javascript, microsoft-applicationinsights-common y ms-graph-types: Cinco paquetes npm que contienen un binario ELF oculto que bloquea las sesiones de Claude Code para robar credenciales de desarrollador.
  • contratos de mediodía: un paquete npm que se hace pasar por un SDK de contrato inteligente de Noon Protocol para extraer claves SSH, claves privadas de billetera criptográfica, credenciales de AWS, secretos de Kubernetes, todos los archivos .env, historial de shell, tokens Docker/Git/npm y rutas de almacenamiento de billetera del navegador.
  • martinez-polígono-recorte-tonyuna bifurcación troyanizada de martinez-polygon-clipping que usa un gancho postinstalación para descargar un troyano de acceso remoto (RAT) de Windows empaquetado con PyInstaller de 17 MB que usa Telegram para comando y control (C2) para ejecución remota de shell, captura de pantalla, carga/descarga de archivos y ejecución arbitraria de Python.
  • servicio-tg-común: un paquete npm que contiene funcionalidad para hacerse cargo de la cuenta de Telegram de una víctima mientras se hace pasar por «servicio común de Telegram para aplicaciones NestJS».
  • exiosos: un paquete npm que incluye un ladrón de cookies de sesión ChatGPT y OpenAI dirigido a navegadores web como Google Chrome, Microsoft Edge y Brave.
  • k8s-pod-checker, dev-env-setup y node-perf-utils: tres paquetes npm parte del clúster kube-health-tools que instala un servicio proxy de modelo de lenguaje grande (LLM) en la máquina de la víctima, lo que permite al atacante enrutar el tráfico LLM a través del servidor comprometido
  • A campaña coordinada de recolección de credenciales orquestado por un actor de amenazas de habla indonesia que utiliza un conjunto de paquetes de 38 npm que aprovecha la confusión de dependencias como una forma de engañar a los canales de CI/CD para resolver paquetes públicos maliciosos antes que los privados legítimos asociados con Apple, Google y Alibaba, entre otros.
  • Una campaña inusual en la que siete paquetes npm bajo el @ organización del equipo hd Se ha descubierto que actúan como escenario de las configuraciones utilizadas por una plataforma china de apuestas deportivas y transmisión pirata llamada Douqiu para determinar los servidores backend a los que conectarse.
TeamPCP envía versiones maliciosas de Telnyx a PyPI y oculta el ladrón en archivos WAV – CYBERDEFENSA.MX

TeamPCP, el actor de amenazas detrás del ataque a la cadena de suministro dirigido a Trivy, KICS y litellm, ahora ha comprometido la telnyx Paquete Python al impulsar dos versiones maliciosas para robar datos confidenciales.

Las dos versiones, 4.87.1 y 4.87.2, publicadas en el repositorio Python Package Index (PyPI) el 27 de marzo de 2026, ocultaron sus capacidades de recolección de credenciales dentro de un archivo .WAV. Se recomienda a los usuarios que bajen a la versión 4.87.0 inmediatamente. El proyecto PyPI se encuentra actualmente en cuarentena.

Varios informes de Aikido, Laboratorios Endor, Seguridad del águila pescadora, SafeDep, Enchufey PasoSeguridad indicar que el código malicioso es inyectado en «telnyx/_client.py», lo que hace que se invoque cuando el paquete se importa a una aplicación Python. El malware está diseñado para atacar sistemas Windows, Linux y macOS.

Ciberseguridad

«Nuestro análisis revela una cadena de ataque en tiempo de ejecución de tres etapas en Linux/macOS que consiste en la entrega mediante esteganografía de audio, la ejecución en memoria de un recolector de datos y la exfiltración cifrada», dijo Socket. «Toda la cadena está diseñada para operar dentro de un directorio temporal autodestructivo y dejar casi cero artefactos forenses en el host».

En Windows, el malware descarga un archivo llamado «hangup.wav» de un servidor de comando y control (C2) y extrae de los datos de audio un ejecutable que luego se coloca en la carpeta Inicio como «msbuild.exe». Esto le permite persistir durante los reinicios del sistema y ejecutarse automáticamente cada vez que un usuario inicia sesión en el sistema.

En caso de que el host comprometido se ejecute en Linux o macOS, recupera un archivo .WAV diferente («ringtone.wav») del mismo servidor para extraer un script recopilador de tercera etapa y ejecutarlo. El recolector de credenciales está diseñado para capturar una amplia gama de datos confidenciales y exfiltrar los datos en el formato «tpcp.tar.gz» a través de una solicitud HTTP POST al «83.142.209[.]203:8080.»

«La técnica destacada en esta muestra, y el motivo del título de la publicación, es el uso de esteganografía de audio para entregar la carga útil final», dijo Ossprey Security. «En lugar de alojar un ejecutable sin formato o un blob base64 en el C2 (ambos marcados trivialmente por la inspección de red y EDR), el atacante envuelve la carga útil dentro de un archivo .WAV».

Actualmente no se sabe cómo TeamPCP obtuvo el PYPI_TOKEN del paquete, pero es probable que haya sido a través de una operación previa de recolección de credenciales.

«Creemos que el vector más probable es el compromiso del litellm en sí», dijeron los investigadores de Endor Labs Kiran Raj y Rachana Misal. «El recolector de TeamPCP barrió variables de entorno, archivos .env e historiales de shell de cada sistema que importó litellm. Si algún desarrollador o canal de CI tenía litellm instalado y acceso al token PyPI de telnyx, ese token ya estaba en manos de TeamPCP».

Lo notable del ataque es la ausencia de un mecanismo de persistencia en Linux y macOS y el uso de un directorio temporal para realizar acciones maliciosas y eliminar recursivamente todo su contenido una vez que todo esté completo.

«La división estratégica es clara. Windows obtiene persistencia: un binario en la carpeta Inicio que sobrevive a los reinicios, proporcionando al actor de la amenaza un acceso repetible a largo plazo», explicó Socket. «Linux/macOS se vuelve devastador: una única operación de recolección de datos de alta velocidad que recopila todo lo de valor y lo exfiltra inmediatamente, luego desaparece».

El desarrollo se produce unos días después de que el actor de amenazas repartido Versiones troyanizadas del popular paquete Litellm Python para filtrar credenciales de la nube, secretos de CI/CD y claves de un dominio bajo su control.

El incidente de la cadena de suministro también refleja una nueva maduración, donde el actor de la amenaza ha infectado constantemente paquetes legítimos y confiables con bases de usuarios masivas para distribuir malware a usuarios intermedios y ampliar el radio de explosión, en lugar de publicar directamente typosquats maliciosos en repositorios de paquetes de código abierto.

«La selección de objetivos en esta campaña se centra en herramientas con acceso elevado a canalizaciones automatizadas: un escáner de contenedores (Trivy), una herramienta de escaneo de infraestructura (KICS) y una biblioteca de enrutamiento de modelos de IA (litellm)», Snyk dicho. «Cada una de estas herramientas requiere un amplio acceso de lectura a los sistemas en los que opera (credenciales, configuraciones, variables de entorno) por diseño».

Ciberseguridad

Para mitigar la amenaza, se recomienda a los desarrolladores que realicen las siguientes acciones:

  • Audite los entornos Python y los archivos requisitos.txt para telnyx==4.87.1 o telnyx==4.87.2. Si los encuentra, reemplácelos con una versión limpia.
  • Asuma un compromiso y rote todos los secretos.
  • Busque un archivo llamado «msbuild.exe» en la carpeta de inicio de Windows.
  • Bloquear el dominio C2 y de exfiltración («83.142.209[.]203»).

El compromiso es parte de una campaña más amplia y en curso emprendida por EquipoPCP que abarca múltiples ecosistemas, y el actor de amenazas anuncia colaboraciones con otros grupos de ciberdelincuentes como LAPSUS$ y un grupo de ransomware emergente llamado vector para realizar operaciones de extorsión y ransomware.

Esto también indica un cambio en el que las bandas de ransomware, que históricamente se han centrado en métodos de acceso inicial como el phishing y la explotación de fallos de seguridad, ahora están utilizando como arma los ataques a la cadena de suministro dirigidos a la infraestructura de código abierto como punto de entrada para ataques posteriores.

«Esto pone de relieve cualquier cosa en entornos CI/CD que no esté bloqueado», dijo Socket. «A los escáneres de seguridad, las extensiones IDE, las herramientas de construcción y los entornos de ejecución se les otorga amplio acceso porque se espera que lo necesiten. Cuando los atacantes apuntan a las herramientas mismas, cualquier cosa que se ejecute en el proceso debe ser tratada como un punto de entrada potencial».