
Una campaña de ciberataques aprovechó cuentas comprometidas de GitHub y funciones de automatización de la plataforma para distribuir malware y robar credenciales. Según investigadores de Aikido, los atacantes utilizaron 4.837 cuentas para abrir solicitudes de cambios —conocidas como *pull requests*— en 61.764 repositorios.
Al menos 1.835 repositorios ejecutaron el código malicioso y sufrieron la exfiltración de credenciales. Entre los datos buscados figuraban tokens de autenticación, credenciales de AWS, Azure y Google Cloud, claves SSH y API, archivos de configuración de Docker y Kubernetes, y secretos empleados por herramientas de desarrollo y servicios de inteligencia artificial.
## Solicitudes de cambios como método de reconocimiento
GitHub permite que los desarrolladores propongan modificaciones a los repositorios mediante *pull requests*. La plataforma también ofrece GitHub Actions, un servicio que automatiza tareas a través de flujos de trabajo (*workflows*), los cuales pueden tener acceso a credenciales sensibles para completar sus funciones.
De acuerdo con Aikido, los atacantes usaron las solicitudes de cambios como sondeo para identificar los proyectos que podían modificar. Las solicitudes llevaban el título “docs: dependency audit notes” y procedían de ramas llamadas “wfx-docs”. Más de 10.000 se dirigieron a repositorios que las cuentas comprometidas no poseían, pero a los que sí tenían acceso de escritura.
Una vez identificados los repositorios vulnerables, los atacantes desplegaron el código mediante distintos métodos: modificaron flujos de trabajo existentes, añadieron un script de shell activado durante la instalación de un paquete npm o incorporaron un nuevo archivo de flujo de trabajo en una rama temporal.
## Búsqueda y robo de secretos
El *payload*, de unas 1.500 líneas, rastreaba los entornos afectados en busca de secretos de GitHub Actions, tokens de autenticación, credenciales de proveedores de nube, claves privadas y archivos `.env`. También buscaba historiales de comandos y credenciales asociadas a herramientas como npm, PyPI, HashiCorp Vault y Terraform, además de claves de API de servicios como OpenAI y Anthropic.
El malware intentaba ampliar y conservar el acceso. Entre otras acciones, intercambiaba tokens robados por sesiones en la nube, suplantaba cuentas de servicio y creaba nuevas credenciales. También modificaba configuraciones de AWS y Azure para mantener el acceso incluso después de que las víctimas cambiaran las credenciales comprometidas.
Aikido señaló que los atacantes revertían los cambios y borraban los registros de ejecución, en ocasiones en menos de un minuto, para dificultar la investigación. La campaña, identificada por los investigadores como “wfx-loot”, también coincidió con la presencia de paquetes PHP comprometidos en Packagist y dos versiones afectadas de módulos de Go. Aikido indicó que estos incidentes podrían haber sido un efecto secundario del abuso de procesos de publicación automatizados, y no necesariamente parte del plan original.
## Qué deben hacer los equipos afectados
Aikido recomienda que cualquier organización cuyo repositorio haya ejecutado el código malicioso considere comprometidos todos los secretos y credenciales de nube a los que sus flujos de trabajo pudieran acceder. Estos datos deben rotarse con urgencia, y los equipos deberían revisar los registros disponibles, los permisos de las cuentas y los flujos de trabajo para detectar cambios no autorizados.
El incidente pone de relieve que las automatizaciones de desarrollo pueden convertirse en una vía de acceso a sistemas y servicios críticos. Limitar los permisos de las cuentas y los flujos de trabajo, proteger los tokens y supervisar cambios inesperados en repositorios son medidas esenciales para reducir el impacto de ataques similares.
from Latest from TechRadar https://ift.tt/TyfPuje
via IFTTT IA