AWS - CodeBuild Post Exploitation
CodeBuild
Para más información, revisa:
AWS - Codebuild EnumAbusar del Acceso al Repo 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 IAM role o con un token o acceso OAuth de github/bitbucket.
Un atacante con permisos elevados sobre un CodeBuild podría abusar de este acceso configurado para filtrar el código del repositorio configurado y otros donde las credenciales establecidas tengan acceso. Para hacer esto, un atacante solo necesitaría cambiar la URL del repositorio a cada repo 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 repo.
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í? Revisa la siguiente sección
Filtrando Tokens de Acceso desde AWS CodeBuild
Puedes filtrar el acceso dado en CodeBuild a plataformas como Github. Verifica si se dio acceso a plataformas externas con:
codebuild:DeleteProject
codebuild:DeleteProject
Un atacante podría eliminar un proyecto completo de CodeBuild, causando la pérdida de la configuración del proyecto y afectando a las aplicaciones que dependen del proyecto.
Impacto Potencial: Pérdida de configuración del proyecto y interrupción del servicio para aplicaciones que usan el proyecto eliminado.
codebuild:TagResource
, codebuild:UntagResource
codebuild:TagResource
, codebuild:UntagResource
Un atacante podría agregar, modificar o eliminar etiquetas de los recursos de CodeBuild, interrumpiendo la asignación de costos, el seguimiento de recursos y las políticas de control de acceso de su organización basadas en etiquetas.
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
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.
Impacto Potencial: Disrupción del funcionamiento normal de las aplicaciones que dependen del repositorio afectado debido a la eliminación de las credenciales de origen.
Last updated