Noticias
Pymafka: un nuevo ejemplo de repositorios comprometidos
Los repositorios públicos se han convertido, de un tiempo a esta parte, en una herramienta fundamental, y por lo tanto muy presente, en la cadena de suministro de software que muchas organizaciones utilizan para desarrollar sus propias aplicaciones. Y esto es muy comprensible, pues gracias a lo que aportan a los equipos de desarrollo, estos pueden reducir sustancialmente el tiempo necesario para completar cada proyecto.
Claro, esto lleva asociada una consecuencia obvia, tristemente obvia, y es que en los últimos tiempos se han convertido en un objetivo especialmente atractivo para los ciberdelincuentes, que son muy conscientes de que, de este modo, pueden obtener una alto nivel de distribución con un riesgo mínimo y sin la necesidad de emplear sus propios medios para lograr acceder al interior de las infraestructuras que pretenden atacar.
En el último caso de este tipo de ataques nos encontramos con un paquete malicioso capaz de instalar Cobalt Strike en sistemas con Windows, macOS y Linux y que fue subido al popular repositorio Python Package Index (PyPI) para desarrolladores de aplicaciones en este lenguaje de programación. El malware, Pymafka, tiene un nombre muy similar a «PyKafka», un popular cliente de Apache Kafka para Python con más e 4,2 millones de descargas hasta el momento.
El código malicioso fue detectado por los investigadores de Sonatype, y en el momento que dieron la voz de alarma ya había sido descargado por más 300 usuarios. El malware fue eliminado del repositorio pero, claro, queda la duda sobre el uso que puedan haber dado del mismo las personas que lo descargaron y, por lo tanto, de si la seguridad de lo usuarios de sus desarrollo se está viendo comprometida. Y es que, claro, una vez que e ha descargado, resulta terriblemente complejo dar con sus potenciales víctimas.
En este caso nos encontramos con el typo-squatting, una técnica de lo más veterana pero que, aún con el paso de los años, se sigue mostrando de lo más efectiva. La búsqueda de cadenas de texto visualmente semejantes, o al menos muy parecidas, resulta especialmente efectiva en entornos y contextos que consideramos de confianza, como un repositorio público muy popular y bien valorado, o un enlace en un correo electrónico que, en teoría (y en algunos casos puede ser real) proviene de una fuente de confianza.
Este es el segundo incidente de este tipo relacionado con Apache Kafka solo en este mes, y es que recientemente se produjo un caso similar, en esa ocasión en GitHub, con un paquete que tenía el mismo nombre que el proyecto legítimo al que impostaba, pero diseñado para obtener información sobre los sistemas afectados por el mismo y sus usuarios. En ambos casos, el acceso proporcionado por el software malicioso resultaba especialmente útil para acciones de movimiento lateral en la infraestructura comprometida.
Con este caso tenemos un ejemplo más de que no debemos presuponer nada, y menos aún la fiabilidad y la confianza. Los ataques a la cadena de suministro se han mostrado letales en los últimos tiempos, y los repositorios públicos tienen un encaje perfecto en este tipo de acciones. Así, no solo debemos escoger con mucho cuidado los repositorios, también debemos verificar profusamente la seguridad de todo el software descargado de los mismos. De lo contrario nos estaremos exponiendo a un tipo de ataque cada día más común y peligroso.