Los investigadores han descubierto una serie de paquetes de Python maliciosos en el repositorio oficial de software de terceros que están diseñados para filtrar las credenciales de AWS y las variables de entorno a un punto final expuesto públicamente.
Paquete Malicioso
La lista de paquetes incluye módulos loglib, módulos pyg, pygrata, pygrata-utils y hkg-sol-utils, según el investigador de seguridad de Sonatype, Ax Sharma. Los paquetes y el punto final ahora se han eliminado.
El código malicioso inyectado en «loglib-modules» y «pygrata-utils» le permite recopilar credenciales de AWS, información de interfaz de red y variables de entorno y exportarlas a un punto final remoto: hxxp://graph[.]pygrata[.]com :8000/upload. De manera preocupante, los puntos finales que alojan esta información en forma de cientos de archivos .TXT no estaban protegidos por ninguna barrera de autenticación, lo que permitía efectivamente que cualquier parte en la web accediera a estas credenciales.
Estos paquetes fueron descubiertos por el sistema automatizado de detección de malware de Sonatype. En una revisión posterior, se consideró que estos paquetes eran maliciosos y se informó a PyPI, según mencionan los investigadores de Sonatype. Estos paquetes maliciosos, asignados sonatype-2022-3475 y sonatype-2022-3546 son:
- Módulos loglib: parece apuntar a desarrolladores familiarizados con la biblioteca legítima ‘loglib’.
- Módulos pyg: parece apuntar a desarrolladores familiarizados con la biblioteca legítima ‘pyg’.
- pygrata: objetivo desconocido.
- pygrata-utils: objetivo desconocido; contiene un código malicioso idéntico al visto en ‘loglib-modules.
- hkg-sol-utils: objetivo desconocido.
Análisis de código
Analizados por los investigadores de seguridad de Sonatype, Jorge Cardona y Carlos Fernández, algunos de estos paquetes contienen código que lee y extrae sus secretos o utilizan una de las dependencias que harán el trabajo.
Por ejemplo, los paquetes loglib-modules y pygrata-utils contienen código malicioso, parte del cual se muestra a continuación:
La línea 21 se conecta a una dirección IP 169[.]254[.]169[.]254, que pertenece al rango de IP de enlace local y las instancias de Amazon EC2 la utilizan para proporcionar el servicio de metadatos de la instancia de EC2. Se sabe que la URL ‘hxxp://169[.]254[.]169[.]254/latest/meta-data/iam/security-credentials/’ devuelve información del rol de IAM perteneciente a una instancia de nube EC2.
Las líneas de código posteriores (líneas 22 a 26) examinan las credenciales de AWS, la información de la interfaz de red y las variables de entorno. Luego, el script intenta cargar las credenciales recopiladas y los metadatos en uno o más puntos finales alojados en el dominio PyGrata: hxxp://graph.pygrata[.]com:8000/upload
Para más detalles de los módulos y códigos mencionados, dirigirse a la pagina oficial de Sonatype.
Conclusiones
- Sonatype informó todos estos paquetes, incluidos los problemáticos pygrata-utils, pygrata y otros al equipo de seguridad de PyPI por precaución y estos paquetes fueron eliminados.
Para mayor información