10 paquetes de código malicioso se deslizan en el registro de PyPI



Los administradores de Python Bundle Index (PyPI) eliminaron 10 paquetes de código de application malicioso del registro después de que un proveedor de seguridad les informara sobre el problema.

El incidente es el último de una lista en rápido crecimiento de instancias recientes en las que los actores de amenazas colocaron computer software no autorizado en repositorios de software ampliamente utilizados, como PyPI, Node Package Supervisor (npm) y Maven Central, con el objetivo de comprometer a múltiples organizaciones. Los analistas de seguridad han descrito la tendencia como un aumento significativo de la necesidad de que los equipos de desarrollo ejerzan la diligencia debida al descargar código fuente abierto y de terceros de los registros públicos.

Los investigadores de Spectralops.io de Check Issue descubrieron este último conjunto de paquetes maliciosos en PyPI y descubrieron que eran goteros para el malware que roba información. Los paquetes se diseñaron para parecerse a un código legítimo y, en algunos casos, imitaron otros paquetes populares en PyPI.

Código malicioso en scripts de instalación

Los investigadores de Look at Point descubrieron que los atacantes que habían colocado el malware en el registro habían incrustado un código malicioso en el secuencia de comandos de instalación del paquete. Entonces, cuando un desarrollador usó el comando de instalación «pip» para instalar cualquiera de los paquetes maliciosos, el código malicioso pasaría desapercibido en la máquina del usuario e instalaría el cuentagotas de malware.

Por ejemplo, uno de los paquetes falsos, llamado «Ascii2text», contenía código malicioso en un archivo (_init_.py) importado por el script de instalación (setup.py). Cuando un desarrollador intentaba instalar el paquete, el código descargaba y ejecutaba un script que buscaba contraseñas locales, que luego cargaba en un servidor de Discord. El paquete malicioso fue diseñado para parecerse exactamente a un paquete de arte preferred del mismo nombre y descripción, según Check Stage.

Tres de los 10 paquetes maliciosos (Pyg-utils, Pymocks y PyProto2) parecen haber sido desarrollados por el mismo actor de amenazas que recientemente implementó malware para robar credenciales de AWS en PyPI. Durante el proceso de instalación de setup.py, Py-Utils, por ejemplo, se conectó al mismo dominio malicioso que el utilizado en la campaña de robo de credenciales de AWS. Aunque Pymocks y PyProto2 se conectaron a un dominio malicioso diferente durante el proceso de instalación, su código era casi idéntico a Pyg-utils, lo que llevó a Check Position a creer que el mismo autor había creado los tres paquetes.

Los otros paquetes incluyen un possible descargador de malware llamado Take a look at-async que pretendía ser un paquete para probar código uno llamado WINRPCexploit para robar credenciales de usuario durante el proceso de instalación de set up.py y dos paquetes (No cost-web-vpn y Totally free-web-vpn2) para robar variables de entorno.

«Es esencial que los desarrolladores mantengan sus acciones seguras, verificando dos veces cada componente de software program en uso y especialmente los que se descargan de diferentes repositorios», advierte Check Point.

El proveedor de seguridad no respondió de inmediato cuando se le preguntó cuánto tiempo podrían haber estado disponibles los paquetes maliciosos en el registro de PyPI o cuántas personas podrían haberlos descargado.

Exposición creciente de la cadena de suministro

El incidente es el último en resaltar los crecientes peligros de descargar código de terceros de repositorios públicos sin la debida investigación.

La semana pasada, Sonatype informó haber descubierto tres paquetes que contenían ransomware que un pirata informático en edad escolar en Italia había subido a PyPI como parte de un experimento. Más de 250 usuarios descargaron uno de los paquetes, 11 de los cuales terminaron con archivos encriptados en su computadora. En ese caso, las víctimas pudieron obtener la clave de descifrado sin tener que pagar un rescate porque aparentemente el pirata informático había cargado el malware sin malas intenciones.

Sin embargo, ha habido muchos otros casos en los que los atacantes han utilizado repositorios de códigos públicos como plataformas de lanzamiento para la distribución de malware.

A principios de este año, Sonatype también descubrió un paquete malicioso para descargar el package de ataque Cobalt Strike en PyPI. Alrededor de 300 desarrolladores descargaron el malware antes de que fuera eliminado. En julio, los investigadores de Kaspersky descubrieron cuatro ladrones de información altamente ofuscados al acecho en el repositorio npm ampliamente utilizado por los programadores de Java.

Los atacantes han comenzado a apuntar cada vez más a estos registros debido a su amplio alcance. PyPI, por ejemplo, tiene más de 613.000 usuarios y el código del sitio está integrado actualmente en más de 391.000 proyectos en todo el mundo. Las organizaciones de todos los tamaños y tipos, incluidas las empresas de Fortune 500, los editores de application y las agencias gubernamentales, usan código de repositorios públicos para crear su propio software package.



Enlace a la noticia first