Australia acusa a dos presuntos miembros de TeamPCP por una campaña que expuso más de 500,000 credenciales

Australia acusa a dos presuntos miembros de TeamPCP por una campaña que expuso más de 500,000 credenciales

La Policía Federal Australiana acusó a dos hombres de Australia Occidental por su presunta participación en TeamPCP, un grupo de ciberdelincuencia vinculado con una cadena de ataques contra herramientas de desarrollo y seguridad de código abierto que terminó alcanzando a organizaciones de distintos sectores alrededor del mundo.

Los dos jóvenes, de 21 y 23 años, fueron detenidos el 26 de agosto después de que la Policía Federal Australiana, la Policía de Australia Occidental y el FBI ejecutaran órdenes de registro en propiedades de Cottesloe, Hamilton Hill y Mandurah, en la zona de Perth. Entre ambos enfrentan 14 cargos relacionados con modificación no autorizada de datos, posesión y suministro de información destinada a cometer delitos informáticos y, en uno de los casos, operaciones con presuntos recursos del crimen.

La investigación comenzó en abril después de que empresas especializadas en inteligencia de amenazas alertaran a las autoridades sobre un grupo que supuestamente había conseguido insertar código malicioso en software de código abierto utilizado posteriormente, sin conocimiento de los desarrolladores, dentro de sistemas de gobiernos, universidades y empresas.

Las autoridades australianas sostienen que los acusados eran participantes relevantes de una organización dedicada a intrusiones informáticas, delitos de identidad y lavado de dinero mediante criptomonedas. El FBI identificó públicamente al grupo como TeamPCP y afirmó que el código utilizado en la campaña pudo haber comprometido a más de 1,000 organizaciones en todo el mundo.

La campaña permitió, según las cifras citadas por las autoridades, el robo de más de 500,000 credenciales y la extracción de al menos 300 gigabytes de información. Las estimaciones policiales no significan necesariamente que las más de mil organizaciones sufrieran una intrusión completa posterior: describen el alcance potencial de los sistemas que ejecutaron componentes comprometidos o quedaron expuestos a ellos.

El ataque comenzó en una herramienta diseñada para encontrar vulnerabilidades

Uno de los episodios centrales de la campaña ocurrió en marzo y afectó a Trivy, una herramienta de código abierto desarrollada por Aqua Security y utilizada para buscar vulnerabilidades y problemas de configuración dentro de software, contenedores e infraestructura.

El 19 de marzo, un actor que había conservado credenciales obtenidas durante un incidente anterior consiguió utilizar la infraestructura legítima del proyecto para publicar una versión maliciosa de Trivy y modificar las referencias utilizadas por sus GitHub Actions.

Aqua Security confirmó posteriormente que el atacante había alterado 76 de las 77 etiquetas de versión de trivy-action y las siete etiquetas de setup-trivy, haciendo que pipelines que confiaban en esas referencias ejecutaran código destinado a recolectar credenciales.

El malware buscaba información especialmente sensible dentro de entornos de desarrollo: claves SSH, credenciales de AWS, Google Cloud y Azure, tokens de Kubernetes y Docker, contraseñas de bases de datos, llaves TLS, configuraciones de VPN, secretos de CI/CD y credenciales almacenadas en variables de entorno.

La peculiaridad del ataque era que Trivy continuaba ejecutando aparentemente su función normal después de activar el código malicioso. Para un equipo de desarrollo, el análisis de seguridad podía concluir sin un error evidente mientras el mismo proceso utilizado para revisar vulnerabilidades extraía los secretos disponibles en el entorno.

Las credenciales robadas permitieron atacar otras herramientas

El compromiso de Trivy no quedó aislado. Checkmarx confirmó que el 23 de marzo detectó una intrusión que afectó a componentes relacionados con KICS, su escáner de infraestructura como código. Según la investigación de la propia compañía, el acceso probablemente se originó en credenciales obtenidas durante el ataque previo contra Trivy.

Los atacantes consiguieron utilizar ese acceso para publicar código malicioso en artefactos asociados con Checkmarx, incluidos GitHub Actions y extensiones utilizadas por desarrolladores. La compañía informó posteriormente de nuevas oleadas de actividad, imágenes Docker comprometidas y extracción de información de repositorios de GitHub.

El incidente muestra cómo un ataque de cadena de suministro puede extenderse sin necesidad de vulnerar independientemente cada nueva organización. El secreto obtenido en un sistema puede convertirse en la credencial necesaria para comprometer el siguiente.

LiteLLM llevó la campaña hasta la infraestructura de inteligencia artificial

Una de las consecuencias más relevantes alcanzó a LiteLLM, una biblioteca y gateway ampliamente utilizado para proporcionar una interfaz común hacia modelos de distintos proveedores, incluidos OpenAI, Anthropic, Google, Azure, AWS y otros servicios de IA.

LiteLLM confirmó el 24 de marzo que las versiones 1.82.7 y 1.82.8 publicadas en PyPI habían sido comprometidas y contenían código destinado al robo de credenciales. El propio equipo señaló que el incidente se originó en la dependencia utilizada para realizar análisis de seguridad con Trivy.

Las versiones maliciosas no procedían del proceso oficial de publicación de LiteLLM en GitHub. Los atacantes consiguieron acceso a una cuenta utilizada para publicar en PyPI y subieron directamente los paquetes alterados. La versión 1.82.7 incluía el código malicioso dentro de proxy_server.py. La 1.82.8 añadía además un archivo .pth capaz de ejecutar el malware durante el arranque de Python, incluso sin que una aplicación importara directamente LiteLLM.

El código buscaba claves SSH, variables de entorno, claves API, credenciales de AWS, Google Cloud, Azure y Kubernetes, contraseñas de bases de datos, llaves privadas y otros secretos que posteriormente eran enviados a infraestructura controlada por el atacante.

La posición de LiteLLM dentro de la infraestructura de IA volvía especialmente sensible ese acceso. La herramienta está diseñada precisamente para permitir que una misma aplicación se comunique con más de cien modelos y proveedores mediante una interfaz común y puede concentrar claves de API y credenciales necesarias para utilizar varios servicios.

Una cascada de confianza

La campaña atribuida a TeamPCP muestra el problema central de los ataques modernos contra cadenas de suministro de software. Los atacantes no necesitan entrar manualmente a cada una de las organizaciones que quieren alcanzar. Pueden buscar una herramienta que esas organizaciones ya ejecutan y en la que confían.

En este caso, una herramienta destinada a mejorar la seguridad de los sistemas se convirtió en el punto de entrada para robar credenciales. Algunas de esas credenciales permitieron después acceder a otros proyectos, desde donde pudieron publicarse nuevos componentes comprometidos. La secuencia fue acumulativa: un proyecto comprometido produjo credenciales → esas credenciales permitieron comprometer otro proyecto → el segundo proyecto distribuyó código hacia nuevos entornos → esos entornos contenían nuevos secretos.

El FBI emitió el 2 de julio una alerta específica sobre TeamPCP y advirtió que las organizaciones afectadas debían considerar las credenciales extraídas como un riesgo persistente, porque podían seguir utilizándose mucho después de que las versiones maliciosas hubieran sido retiradas.  Por eso eliminar un paquete comprometido no es suficiente. Una organización que ejecutó el malware tiene que asumir que todos los secretos accesibles en ese entorno pudieron ser copiados y reemplazarlos.

Los acusados habrían recibido pagos en criptomonedas

La Policía Federal Australiana sostiene que los dos hombres detenidos tuvieron papeles importantes dentro del grupo y recibieron pagos en criptomonedas por su participación. El valor total de esos pagos continúa bajo investigación. El hombre de 21 años enfrenta ocho cargos, incluido uno relacionado con el manejo de presuntos ingresos del crimen por un valor de al menos 100,000 dólares australianos. El de 23 años enfrenta seis cargos relacionados principalmente con posesión, suministro y modificación no autorizada de datos. Ambos comparecieron ante el Tribunal de Magistrados de Perth.

La AFP también dejó abierta la posibilidad de nuevas detenciones mientras continúa el análisis forense de los equipos decomisados. Las autoridades no han demostrado todavía ante un tribunal que los acusados hayan participado en los ataques y ambos conservan la presunción de inocencia.

Un ataque contra la confianza, no únicamente contra el código

La escala del caso ayuda a entender por qué los ataques de cadena de suministro se han convertido en uno de los problemas más difíciles de defender dentro del desarrollo moderno de software. Trivy, KICS y LiteLLM cumplen funciones distintas, pero comparten una característica: las organizaciones los incorporan directamente a procesos automatizados y les conceden acceso a entornos donde existen credenciales valiosas.

Un escáner necesita acceder al código que analiza. Una herramienta de CI/CD necesita permisos para construir y publicar software. Un gateway de IA necesita claves para conectarse con los proveedores de modelos. La confianza necesaria para que esas herramientas funcionen es precisamente lo que vuelve tan dañino su compromiso.

TeamPCP, según las investigaciones publicadas hasta ahora, no consiguió su alcance atacando una por una a más de mil organizaciones. Consiguió algo más eficiente: introducir código en lugares donde esas organizaciones ya habían decidido confiar.