AWS - CodeBuild Post Exploitation

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

CodeBuild

Para m谩s informaci贸n, consulta:

AWS - Codebuild Enum

Revisar Secrets

Si se han establecido credenciales en CodeBuild para conectar con Github, Gitlab o Bitbucket en forma de personal tokens, passwords o OAuth token access, estas credenciales van a almacenarse como secrets en el secret manager.
Por lo tanto, si tienes acceso para leer el secret manager podr谩s obtener esos secrets y pivotar a la plataforma conectada.

AWS - Secrets Manager Privesc

Abusar del acceso al repo de CodeBuild

Para configurar CodeBuild, necesitar谩 acceso al repo de c贸digo que va a usar. Varias plataformas podr铆an alojar ese c贸digo:

El proyecto de CodeBuild debe tener acceso al proveedor de origen configurado, ya sea mediante IAM role o con un github/bitbucket token u OAuth access.

Un atacante con permisos elevados sobre un CodeBuild podr铆a abusar de este acceso configurado para leak el c贸digo del repo configurado y de otros a los que las creds configuradas tengan acceso.
Para hacerlo, el atacante solo necesitar铆a cambiar la URL del repositorio por cada repo al que las credenciales de la configuraci贸n tengan acceso (nota: la web de aws listar谩 todos ellos por ti):

Y cambiar los comandos del Buildspec para exfiltrar cada repo.

Warning

Sin embargo, esta tarea es repetitiva y tediosa y si un github token fue configurado con write permissions, un atacante no podr谩 (ab)usar esos permisos porque no tiene acceso al token.
驴O s铆? Revisa la siguiente secci贸n

Leaking Access Tokens from AWS CodeBuild

You can leak access given in CodeBuild to platforms like Github. Check if any access to external platforms was given with:

aws codebuild list-source-credentials

AWS Codebuild - Token Leakage

Ejecuci贸n de PR no confiable por mala configuraci贸n de filtros de webhook

Si los filtros de webhook son d茅biles, atacantes externos pueden conseguir que sus PRs se construyan en proyectos CodeBuild privilegiados y luego ejecutar c贸digo arbitrario en CI.

AWS CodeBuild - Untrusted PR Webhook Bypass (CodeBreach-style)

codebuild:DeleteProject

Un atacante podr铆a eliminar por completo un proyecto CodeBuild, provocando la p茅rdida de la configuraci贸n del proyecto y afectando a las aplicaciones que dependen de 茅l.

aws codebuild delete-project --name <value>

Impacto potencial: P茅rdida de la configuraci贸n del proyecto e interrupci贸n del servicio para las aplicaciones que usan el proyecto eliminado.

codebuild:TagResource , codebuild:UntagResource

Un atacante podr铆a a帽adir, modificar o eliminar etiquetas de recursos de CodeBuild, interrumpiendo la asignaci贸n de costos de su organizaci贸n, el seguimiento de recursos y las pol铆ticas de control de acceso basadas en etiquetas.

aws codebuild tag-resource --resource-arn <value> --tags <value>
aws codebuild untag-resource --resource-arn <value> --tag-keys <value>

Impacto potencial: Interrupci贸n de la asignaci贸n de costos, el seguimiento de recursos y las pol铆ticas de control de acceso basadas en etiquetas.

codebuild:DeleteSourceCredentials

Un atacante podr铆a eliminar las credenciales de origen de un repositorio Git, afectando el funcionamiento normal de las aplicaciones que dependen del repositorio.

aws codebuild delete-source-credentials --arn <value>

Impacto potencial: Interrupci贸n del funcionamiento normal de las aplicaciones que dependen del repositorio afectado debido a la eliminaci贸n de las credenciales de origen.

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks