AWS - CodeBuild Post Exploitation

Apoya a HackTricks

CodeBuild

Para más información, consulta:

AWS - Codebuild Enum

Abuso de Acceso al Repositorio de CodeBuild

Para configurar CodeBuild, necesitará acceso al repositorio de código que va a utilizar. Varias plataformas podrían estar alojando este código:

El proyecto de CodeBuild debe tener acceso al proveedor de origen configurado, ya sea a través de rol IAM o con un token de github/bitbucket o acceso OAuth.

Un atacante con permisos elevados en un CodeBuild podría abusar de este acceso configurado para filtrar el código del repositorio configurado y otros a los que las credenciales establecidas tienen acceso. Para hacer esto, un atacante solo necesitaría cambiar la URL del repositorio a cada repositorio al que las credenciales de configuración tienen acceso (ten en cuenta que la web de aws listará todos ellos para ti):

Y cambiar los comandos de Buildspec para exfiltrar cada repositorio.

Sin embargo, esta tarea es repetitiva y tediosa y si se configuró un token de github con permisos de escritura, un atacante no podrá (ab)usar esos permisos ya que no tiene acceso al token. ¿O sí? Consulta la siguiente sección

Filtrando Tokens de Acceso desde AWS CodeBuild

Puedes filtrar el acceso otorgado en CodeBuild a plataformas como Github. Verifica si se otorgó algún acceso a plataformas externas con:

aws codebuild list-source-credentials
AWS Codebuild - Token Leakage

codebuild:DeleteProject

Un atacante podría eliminar un proyecto completo de CodeBuild, causando la pérdida de la configuración del proyecto e impactando las aplicaciones que dependen del proyecto.

aws codebuild delete-project --name <value>

Impacto Potencial: Pérdida de la configuración del proyecto y interrupción del servicio para las aplicaciones que utilizan el proyecto eliminado.

codebuild:TagResource , codebuild:UntagResource

Un atacante podría agregar, modificar o eliminar etiquetas de los 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: Disrupción de la asignación de costos, seguimiento de recursos y políticas de control de acceso basadas en etiquetas.

codebuild:DeleteSourceCredentials

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

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

Impacto Potencial: Disrupción del funcionamiento normal de las aplicaciones que dependen del repositorio afectado debido a la eliminación de credenciales de origen.

Apoya a HackTricks

Last updated