AWS - CodeBuild Post Exploitation

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

CodeBuild

Para más información, consulta:

pageAWS - 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 alojar este código:

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

Un atacante con permisos elevados sobre un CodeBuild podría abusar de este acceso configurado para filtrar el código del repositorio configurado y de otros donde las credenciales establecidas tengan acceso. Para hacer esto, un atacante solo necesitaría cambiar la URL del repositorio a cada repositorio al que las credenciales de configuración tengan acceso (ten en cuenta que la web de aws los listará todos 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ó acceso a plataformas externas con:

aws codebuild list-source-credentials
pageAWS 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 en las aplicaciones que dependen del proyecto.

aws codebuild delete-project --name <value>

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

codebuild:TagResource, codebuild:UntagResource

Un atacante podría agregar, modificar o eliminar etiquetas de los recursos de CodeBuild, lo que podría interrumpir la asignación de costos, el seguimiento de recursos y las políticas de control de acceso de su organización 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 fuente 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 credenciales fuente.

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización