AWS - CodeBuild Enumeración
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
CodeBuild
AWS CodeBuild es reconocido como un servicio de integración continua totalmente gestionado. El propósito principal de este servicio es automatizar la secuencia de compilación del código fuente, ejecución de pruebas y empaquetado del software para fines de despliegue. El beneficio principal que ofrece CodeBuild radica en su capacidad para eliminar la necesidad de que los usuarios provisionen, administren y escalen sus servidores de compilación. Esta comodidad se debe a que el servicio gestiona estas tareas por sí mismo. Las características esenciales de AWS CodeBuild incluyen:
- Servicio gestionado: CodeBuild administra y escala los servidores de compilación, liberando a los usuarios del mantenimiento de estos.
- Integración continua: Se integra con el flujo de trabajo de desarrollo y despliegue, automatizando las fases de compilación y pruebas del proceso de lanzamiento de software.
- Producción de paquetes: Tras las fases de compilación y pruebas, prepara los paquetes de software dejándolos listos para el despliegue.
AWS CodeBuild se integra de forma nativa con otros servicios de AWS, mejorando la eficiencia y fiabilidad de la canalización CI/CD (Integración continua/Despliegue continuo).
Github/Gitlab/Bitbucket Credenciales
Credenciales de origen predeterminadas
Esta es la opción heredada donde es posible configurar algún acceso (como un token de Github o una app) que será compartido entre proyectos de codebuild para que todos los proyectos puedan usar este conjunto de credenciales configuradas.
Las credenciales almacenadas (tokens, contraseñas…) son gestionadas por codebuild y no existe ninguna forma pública de recuperarlas desde las APIs de AWS.
Credencial de origen personalizada
Dependiendo de la plataforma del repositorio (Github, Gitlab y Bitbucket) se ofrecen diferentes opciones. Pero en general, cualquier opción que requiera almacenar un token o una contraseña la almacenará como un secret en el secrets manager.
Esto permite que diferentes proyectos de codebuild utilicen distintos accesos configurados a los proveedores en lugar de usar solo el acceso predeterminado configurado.
Enumeración
# List external repo creds (such as github tokens)
## It doesn't return the token but just the ARN where it's located
aws codebuild list-source-credentials
# Projects
aws codebuild list-shared-projects
aws codebuild list-projects
aws codebuild batch-get-projects --names <project_name> # Check for creds in env vars
# Builds
aws codebuild list-builds
aws codebuild list-builds-for-project --project-name <p_name>
aws codebuild list-build-batches
aws codebuild list-build-batches-for-project --project-name <p_name>
# Reports
aws codebuild list-reports
aws codebuild describe-test-cases --report-arn <ARN>
Tip
Si tienes
codebuild:StartBuild, recuerda que a menudo puedes sobrescribir env vars en tiempo de build (--environment-variables-override). Esto es suficiente para algunos ataques incluso sinUpdateProjectobuildspecoverrides (por ejemplo: redirecting artifact/upload buckets to exfiltrate secrets, or abusing language/runtime env vars to execute commands).
Privesc
En la siguiente página, puedes ver cómo abusar de los permisos de codebuild para escalar privilegios:
Post Exploitation
AWS - CodeBuild Post Exploitation
Unauthenticated Access
AWS - CodeBuild Unauthenticated Access
Referencias
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

