AWS - CodeBuild Post Exploitation
Last updated
Last updated
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)
Para más información, consulta:
Si se han configurado credenciales en Codebuild para conectarse a Github, Gitlab o Bitbucket en forma de tokens personales, contraseñas o acceso a tokens OAuth, estas credenciales se almacenarán como secretos en el administrador de secretos. Por lo tanto, si tienes acceso para leer el administrador de secretos, podrás obtener estos secretos y pivotar a la plataforma conectada.
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 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
Puedes filtrar el acceso otorgado en CodeBuild a plataformas como Github. Verifica si se otorgó acceso a plataformas externas con:
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.
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.
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.
Impacto Potencial: Disrupción del funcionamiento normal de las aplicaciones que dependen del repositorio afectado debido a la eliminación de credenciales de origen.
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)