Operación Navy Ghost: malware en PyPI compromete bots de Telegram en Python

Iniciado por Dragora, Junio 30, 2026, 07:26:47 PM

Tema anterior - Siguiente tema

0 Miembros y 5 Visitantes están viendo este tema.


La seguridad de la cadena de suministro de software vuelve a estar bajo la lupa tras el descubrimiento de Operación Navy Ghost, una campaña maliciosa que ha estado distribuyendo versiones troyanizadas de Pyrogram a través del Python Package Index (PyPI). La operación, activa desde noviembre de 2025, tiene como objetivo a desarrolladores que crean bots de Telegram utilizando Python, permitiendo a los atacantes obtener acceso remoto a servidores comprometidos, ejecutar comandos arbitrarios y robar información confidencial.

La investigación, realizada por Checkmarx, revela que los ciberdelincuentes publicaron múltiples bifurcaciones (forks) aparentemente legítimas de Pyrogram que incorporan una puerta trasera oculta. Una vez instalados estos paquetes, los atacantes pueden controlar completamente los bots infectados y acceder a recursos críticos como bases de datos, variables de entorno, credenciales, tokens de acceso y archivos del sistema.

¿Qué es Pyrogram y por qué los atacantes lo eligieron?

Pyrogram es un popular framework de Python que implementa la API MTProto de Telegram, permitiendo desarrollar bots automatizados y aplicaciones conocidas como userbots. Aunque el proyecto dejó de mantenerse oficialmente y su última actualización se publicó en abril de 2023, continúa siendo ampliamente utilizado por la comunidad de desarrolladores.

Actualmente, Pyrogram registra cerca de 350.000 descargas mensuales en PyPI y cuenta con más de 1.400 bifurcaciones en GitHub, lo que lo convierte en un objetivo atractivo para campañas de ataque contra la cadena de suministro (software supply chain attacks).

Los investigadores consideran que los atacantes aprovecharon precisamente esta popularidad para distribuir versiones modificadas que resultan prácticamente idénticas al proyecto original.

Ocho paquetes maliciosos publicados en PyPI

Checkmarx identificó al menos ocho paquetes maliciosos publicados entre noviembre de 2025 y junio de 2026.

Los paquetes detectados son:

  • VLifeGram (9 versiones y aproximadamente 4.150 descargas).
  • VLife-Gram (5 versiones y unas 1.030 descargas).
  • Pyrogram-Navy (6 versiones con alrededor de 2.530 descargas).
  • Pirogram Style (más de 16 versiones y unas 15.370 descargas).
  • Pyrogram-Zeeb (1 versión con 432 descargas).
  • Kelragram (3 versiones con aproximadamente 1.041 descargas).
  • Sepgram (1 versión con 264 descargas).
  • Pyrogram-Kelra (1 versión con 672 descargas).

Todos estos paquetes incluyen el código legítimo de Pyrogram, lo que dificulta detectar modificaciones sospechosas durante una revisión superficial del código fuente.

Sin embargo, además del código original, incorporan un archivo oculto denominado You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login, ubicado dentro de los módulos auxiliares del proyecto, responsable de instalar la puerta trasera.

Así funciona la puerta trasera oculta

La funcionalidad maliciosa se activa automáticamente cuando el desarrollador importa Pyrogram o cuando el bot de Telegram inicia su ejecución.

En ese momento, el archivo You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login registra de forma invisible varios manejadores de comandos de Telegram que únicamente pueden ser utilizados por los operadores de la campaña.

Estos comandos permiten ejecutar código Python arbitrario directamente sobre el servidor comprometido.

Por ejemplo, cuando el atacante envía el comando:

/asu print(os.environ)

el malware ejecuta el código Python recibido y devuelve información extremadamente sensible, incluyendo:

  • Variables de entorno.
  • Tokens de autenticación.
  • Credenciales almacenadas.
  • Información de configuración.
  • Datos de la sesión activa del bot.

Pero las capacidades del malware van mucho más allá.

Ejecución remota de comandos en Linux

Además del intérprete de Python, la puerta trasera incorpora comandos destinados a ejecutar directamente órdenes del sistema operativo.

Un ejemplo documentado por Checkmarx consiste en el siguiente comando:

/asi cat /etc/passwd

La orden es enviada mediante Telegram, ejecutada utilizando /bin/bash en el servidor comprometido y posteriormente la salida se devuelve automáticamente al atacante.

En la práctica, esto concede al ciberdelincuente las mismas capacidades que tendría un usuario con acceso legítimo a la aplicación.

Entre las acciones posibles destacan:

  • Leer cualquier archivo accesible para la aplicación.
  • Extraer bases de datos completas.
  • Obtener secretos almacenados.
  • Robar claves API.
  • Descargar certificados.
  • Acceder a credenciales cloud.
  • Instalar malware adicional.
  • Crear mecanismos de persistencia.

Cuando la respuesta supera el límite de 4.096 caracteres permitido por Telegram, el malware envía automáticamente el resultado como archivo adjunto.

La puerta trasera solo responde a los atacantes

Uno de los aspectos más sofisticados de Operación Navy Ghost es su sistema de autenticación.

La puerta trasera contiene una lista codificada denominada OWNERS, integrada por varios identificadores de usuarios de Telegram autorizados.

Únicamente estos IDs pueden activar los comandos ocultos.

Este mecanismo ofrece dos ventajas a los operadores:

  • Evita que otros investigadores descubran fácilmente la funcionalidad maliciosa.
  • Desactiva automáticamente la puerta trasera cuando el software se ejecuta en la infraestructura del propio atacante.

Este nivel de detalle demuestra una planificación considerable y un conocimiento avanzado del funcionamiento interno de Telegram y Pyrogram.

Los objetivos principales son entornos de producción

Otro hallazgo relevante del informe es que la puerta trasera solo se activa cuando detecta que está funcionando sobre una cuenta de bot de Telegram, descartando otros escenarios de prueba o desarrollo.

Según Checkmarx, esta decisión parece completamente intencionada.

Los ciberdelincuentes buscan comprometer servidores en producción donde normalmente se almacenan activos de alto valor, entre ellos:

  • Bases de datos corporativas.
  • Credenciales administrativas.
  • Tokens de acceso.
  • Claves API.
  • Infraestructura en la nube.
  • Variables de entorno.
  • Información privada de clientes.

Además del acceso al servidor, el malware también puede consultar conversaciones, contactos, archivos compartidos y cualquier información accesible mediante la sesión activa del bot.

Todo apunta a un único actor de amenazas

Aunque los paquetes fueron publicados utilizando diferentes cuentas dentro de PyPI, los investigadores consideran que detrás de toda la campaña se encuentra un único actor malicioso.

Esta atribución se basa en múltiples evidencias técnicas compartidas entre todos los paquetes:

  • Código de puerta trasera idéntico.
  • Misma lista de usuarios autorizados (OWNERS).
  • Nombres de comandos exactamente iguales.
  • Infraestructura compartida.
  • Técnicas de persistencia similares.

Estos elementos permiten vincular todas las bifurcaciones maliciosas con una única operación organizada, bautizada por Checkmarx como Operación Navy Ghost.

Cómo protegerse frente a este ataque en PyPI

Los desarrolladores que hayan instalado cualquiera de los paquetes identificados deben actuar de inmediato para minimizar el impacto.

Las principales recomendaciones incluyen:

  • Eliminar inmediatamente los paquetes comprometidos.
  • Revisar todas las dependencias instaladas mediante PyPI.
  • Rotar todas las credenciales almacenadas en el servidor.
  • Revocar los tokens de bots de Telegram.
  • Generar nuevas claves API.
  • Revisar los registros del sistema en busca de actividad sospechosa.
  • Buscar mecanismos de persistencia o malware adicional.
  • Actualizar las herramientas de seguridad de la cadena de suministro.

Asimismo, resulta recomendable utilizar herramientas de análisis de dependencias, firmas digitales de paquetes y soluciones de seguridad capaces de detectar modificaciones maliciosas antes de incorporar bibliotecas de terceros a proyectos de producción.

La cadena de suministro sigue siendo uno de los mayores riesgos para Python

Operación Navy Ghost vuelve a demostrar que los repositorios públicos de software continúan siendo uno de los objetivos favoritos de los ciberdelincuentes. Al aprovechar la confianza depositada por los desarrolladores en proyectos populares como Pyrogram, los atacantes logran distribuir malware altamente sofisticado que pasa desapercibido durante largos periodos.

La creciente adopción de Python en proyectos de automatización, inteligencia artificial, DevOps y desarrollo backend convierte a plataformas como PyPI en un objetivo prioritario para campañas de compromiso de la cadena de suministro. Por ello, verificar cuidadosamente el origen de las dependencias, mantener un inventario actualizado de bibliotecas y aplicar controles de seguridad antes de desplegar aplicaciones en producción se ha convertido en una práctica esencial para reducir el riesgo de ataques como Operación Navy Ghost.

Fuente: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login