Un servicio que ayuda a los desarrolladores de código abierto a escribir y probar software está filtrando miles de tokens de autenticación y otros secretos sensibles a la seguridad. Muchas de estas filtraciones permiten a los piratas informáticos acceder a las cuentas privadas de los desarrolladores en Github, Docker, AWS y otros repositorios de código, dijeron expertos en seguridad en un nuevo informe.
La disponibilidad de credenciales de desarrollador de terceros de Travis CI ha sido un problema continuo desde al menos 2015. En ese momento, el servicio de vulnerabilidad de seguridad HackerOne informó que una cuenta de Github usada se vio comprometida cuando el servicio expuesto un token de acceso a uno de los desarrolladores de HackerOne. Una fuga similar se presentó nuevamente en 2019 y nuevamente año pasado.
Los tokens brindan a cualquier persona con acceso a ellos la capacidad de leer o modificar el código almacenado en repositorios que distribuyen innumerables cantidades de aplicaciones de software y bibliotecas de códigos en curso. La capacidad de obtener acceso no autorizado a estos proyectos abre la posibilidad de ataques a la cadena de suministro, en los que los actores de amenazas manipulan el malware antes de distribuirlo a los usuarios. Los atacantes pueden aprovechar su capacidad para manipular la aplicación para atacar una gran cantidad de proyectos dependientes de la aplicación en servidores de producción.
A pesar de ser un problema de seguridad conocido, las filtraciones continuaron, informan los investigadores del equipo Nautilus de Aqua Security. Una serie de dos lotes de datos a los que los investigadores accedieron usando el Interfaz de programación Travis CI arrojó 4,28 millones y 770 millones de registros desde 2013 hasta mayo de 2022. Después de muestrear un pequeño porcentaje de los datos, los investigadores descubrieron lo que creen que son 73 000 tokens, secretos y varias credenciales.
“Estas claves de acceso y credenciales están vinculadas a proveedores de servicios en la nube populares, incluidos GitHub, AWS y Docker Hub”, dijo Aqua Security. «Los atacantes pueden usar estos datos confidenciales para lanzar ciberataques masivos y moverse lateralmente en la nube. Cualquiera que haya usado Travis CI está potencialmente expuesto, por lo que recomendamos cambiar sus claves de inmediato».
Travis CI es un proveedor de una práctica cada vez más común conocida como integración continua. A menudo abreviado como CI, automatiza el proceso de creación y prueba de cada cambio de código que se ha confirmado. Para cada cambio, el código se compila, prueba y fusiona regularmente en un repositorio compartido. Dado el nivel de acceso que necesita CI para funcionar correctamente, los entornos a menudo almacenan tokens de acceso y otros secretos que brindan acceso privilegiado a partes confidenciales dentro de la cuenta en la nube.
Los tokens de acceso encontrados por Aqua Security involucraban cuentas privadas de una amplia variedad de repositorios, incluidos Github, AWS y Docker.
Ejemplos de tokens de acceso que han sido expuestos incluyen:
- Tokens de acceso de GitHub que pueden permitir acceso privilegiado a repositorios de código
- Claves de acceso de AWS
- Conjuntos de credenciales, generalmente un correo electrónico o un nombre de usuario y una contraseña, que permiten el acceso a bases de datos como MySQL y PostgreSQL
- Contraseñas de Docker Hub, que pueden llevar a la toma de control de la cuenta si MFA (autenticación de múltiples factores) no está habilitada
El siguiente gráfico muestra la división:
Los investigadores de Aqua Security agregaron:
Encontramos miles de tokens OAuth de GitHub. Es seguro asumir que al menos el 10-20% de ellos están vivos. Especialmente los encontrados en registros recientes. Simulamos un escenario de movimiento lateral en nuestro laboratorio en la nube, que se basa en este escenario de acceso inicial:
1. Extraer un token OAuth de GitHub de los registros expuestos de Travis CI.
2. Descubrir datos confidenciales (es decir, claves de acceso de AWS) en repositorios de códigos privados utilizando el token expuesto.
3. Intentos de movimiento lateral con claves de acceso de AWS en el servicio de depósito de AWS S3.
4. Descubrimiento de objetos de almacenamiento en la nube a través de la enumeración de depósitos.
5. Exfiltración de datos del S3 del objetivo al S3 del atacante.
Los representantes de Travis CI no respondieron de inmediato a un correo electrónico solicitando comentarios sobre esta publicación. Dada la naturaleza recurrente de esta exposición, los desarrolladores deben rotar proactivamente los tokens de acceso y otras credenciales periódicamente. También deben verificar regularmente sus artefactos de código para asegurarse de que no contengan credenciales. Aqua Security tiene consejos adicionales en su publicación.
«Introvertido. Solucionador de problemas. Aficionado total a la cultura pop. Estudiante independiente. Creador».