AWS - CodeBuild Unauthenticated Access

Apoya a HackTricks

CodeBuild

Para más información, consulta esta página:

AWS - Codebuild Enum

buildspec.yml

Si comprometes el acceso de escritura sobre un repositorio que contiene un archivo llamado buildspec.yml, podrías insertar un backdoor en este archivo, que especifica los comandos que se van a ejecutar dentro de un proyecto de CodeBuild y exfiltrar los secretos, comprometer lo que se hace y también comprometer las credenciales del rol IAM de CodeBuild.

Ten en cuenta que incluso si no hay ningún archivo buildspec.yml pero sabes que se está utilizando Codebuild (o un CI/CD diferente), modificar algún código legítimo que se va a ejecutar también puede conseguirte un shell reverso, por ejemplo.

Para información relacionada, puedes consultar la página sobre cómo atacar Github Actions (similar a esto):

Abusing Github Actions

Runners de GitHub Actions autoalojados en AWS CodeBuild

Como se indica en la documentación, es posible configurar CodeBuild para ejecutar acciones de Github autoalojadas cuando se activa un flujo de trabajo dentro de un repositorio de Github configurado. Esto se puede detectar revisando la configuración del proyecto de CodeBuild porque el Tipo de evento necesita contener: WORKFLOW_JOB_QUEUED y en un flujo de trabajo de Github porque seleccionará un runner autoalojado como este:

runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}

Esta nueva relación entre Github Actions y AWS crea otra forma de comprometer AWS desde Github, ya que el código en Github se ejecutará en un proyecto de CodeBuild con un rol IAM adjunto.

Apoya a HackTricks

Last updated