En una nueva alerta de ciberseguridad que impacta directamente a la comunidad de desarrolladores de Python, se han identificado siete paquetes maliciosos alojados en el repositorio oficial PyPI (Python Package Index). Estos paquetes estuvieron disponibles públicamente durante años y fueron utilizados por ciberdelincuentes para ejecutar ataques de exfiltración de datos y control remoto de sistemas comprometidos, empleando servidores SMTP de Gmail y conexiones WebSocket cifradas.
PyPI bajo ataque: detalles del descubrimiento
La amenaza fue identificada por el equipo de investigación de seguridad de la empresa Socket, especializada en análisis de paquetes y bibliotecas de código abierto. Tras el descubrimiento, los investigadores notificaron de inmediato al equipo de seguridad de PyPI, lo que resultó en la eliminación de los paquetes comprometidos. Sin embargo, algunos de estos paquetes maliciosos llevaban más de cuatro años activos en el repositorio, acumulando miles de descargas.
Lista de paquetes PyPI maliciosos detectados
Socket compartió públicamente la siguiente lista de paquetes, junto con sus cifras estimadas de descargas:
-
Coffin-Codes-2022 – 18.100 descargas
-
Coffin-Codes-Pro – 9.000 descargas
-
Coffin-Codes-NET2 – 6.200 descargas
-
Coffin-Codes-NET – 6.100 descargas
-
Coffin2022 – 6.500 descargas
-
Coffin-Grave – 6.500 descargas
-
CFC-BSB – 2.900 descargas
La mayoría de estos paquetes imitaban al paquete legítimo Coffin, que actúa como adaptador entre el motor de plantillas Jinja2 y proyectos desarrollados en el framework Django. Esta suplantación es una táctica común utilizada por atacantes para inducir a error a los desarrolladores y lograr instalaciones involuntarias de malware.
¿Cómo funcionaba el ataque?
La funcionalidad maliciosa incorporada en estos paquetes se centraba en establecer acceso remoto no autorizado y exfiltrar datos sensibles del sistema afectado.
-
Uso de Gmail para eludir detecciones:
Los paquetes contenían credenciales codificadas de cuentas de Gmail que se utilizaban para autenticar conexiones SMTP a través del servidor1smtp.gmail.com. Esta técnica permitía a los atacantes enviar información básica de reconocimiento del sistema, sin levantar sospechas de firewalls o soluciones EDR (detección y respuesta de endpoints), debido a la reputación confiable de los servicios de Google.
-
Conexión remota persistente vía WebSockets:
Luego de la señalización inicial por correo electrónico, el malware establecía una conexión WebSocket SSL con un servidor remoto, a través del cual se descargaban instrucciones para crear un túnel cifrado bidireccional. Este túnel permitía a los atacantes ejecutar una amplia gama de acciones en el sistema comprometido, como:-
Acceso remoto al panel de administración y APIs internas
-
Transferencia y exfiltración de archivos
-
Ejecución de comandos de shell
-
Recolección de credenciales
-
Movimiento lateral dentro de la red local
-
¿Un intento de robo de criptomonedas?
Socket también identificó indicios claros de intención de robo de criptodivisas. Algunas de las cuentas de Gmail utilizadas en los paquetes maliciosos incluían direcciones como
, lo que sugiere un enfoque en el robo de claves privadas de billeteras, como ya se ha observado en campañas previas dirigidas a usuarios de Solana y Ethereum.
Otro vector de ataque: npm y robo de billeteras
En paralelo al informe de Socket, el investigador de Sonatype, Ax Sharma, descubrió un paquete malicioso en el ecosistema npm llamado crypto-encrypt-ts, diseñado para suplantar la biblioteca popular pero desactualizada CryptoJS. Este paquete, escrito en TypeScript, fue diseñado específicamente para exfiltrar secretos de billeteras de criptomonedas y variables de entorno sensibles hacia un punto de recopilación controlado en Better Stack.
Además, implementaba tareas programadas (cron jobs) para persistir en el sistema, y solo activaba sus funciones maliciosas en billeteras con más de 1.000 unidades de criptomoneda, maximizando así su ganancia potencial.
Medidas de mitigación recomendadas
Si eres desarrollador o administrador de sistemas y has utilizado alguno de los paquetes listados anteriormente, es imperativo tomar acción inmediata:
-
Elimina todos los paquetes maliciosos identificados.
-
Rota todas las claves y credenciales posiblemente expuestas.
-
Analiza el tráfico saliente hacia servidores SMTP y WebSocket sospechosos.
-
Audita el código fuente y el entorno virtual de tus proyectos.
Además, se recomienda implementar herramientas de análisis de dependencias para detectar comportamiento anómalo en tiempo real, y optar por soluciones de seguridad de código abierto que analicen automáticamente los paquetes antes de su instalación.
En conclusión. este incidente vuelve a poner en el centro del debate la seguridad en los ecosistemas de código abierto como PyPI y npm. Si bien estos entornos son fundamentales para el desarrollo moderno, también se han convertido en blancos recurrentes de actores maliciosos que buscan comprometer cadenas de suministro de software a gran escala.
La comunidad de desarrolladores debe mantenerse alerta, adoptar prácticas seguras de verificación de dependencias y aprovechar herramientas de escaneo de seguridad para reducir la exposición a amenazas.
Fuente: Fuente: Bleeping Computer