AWS - Enumeração do Codebuild
Reading time: 4 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
CodeBuild
AWS CodeBuild é reconhecido como um serviço de integração contínua totalmente gerenciado. O principal objetivo deste serviço é automatizar a sequência de compilação do código-fonte, execução de testes e empacotamento do software para fins de implantação. O benefício predominante oferecido pelo CodeBuild reside em sua capacidade de aliviar a necessidade de os usuários provisionarem, gerenciarem e escalarem seus servidores de build. Essa conveniência se deve ao fato de que o próprio serviço gerencia essas tarefas. As características essenciais do AWS CodeBuild incluem:
- Serviço Gerenciado: O CodeBuild gerencia e escala os servidores de build, liberando os usuários da manutenção do servidor.
- Integração Contínua: Ele se integra ao fluxo de trabalho de desenvolvimento e implantação, automatizando as fases de build e teste do processo de liberação de software.
- Produção de Pacotes: Após as fases de build e teste, ele prepara os pacotes de software, tornando-os prontos para implantação.
O AWS CodeBuild se integra perfeitamente com outros serviços da AWS, aumentando a eficiência e a confiabilidade do pipeline de CI/CD (Integração Contínua/Implantação Contínua).
Credenciais do Github/Gitlab/Bitbucket
Credenciais de fonte padrão
Esta é a opção legada onde é possível configurar algum acesso (como um token ou aplicativo do Github) que será compartilhado entre os projetos do codebuild, para que todos os projetos possam usar esse conjunto de credenciais configurado.
As credenciais armazenadas (tokens, senhas...) são gerenciadas pelo codebuild e não há nenhuma maneira pública de recuperá-las das APIs da AWS.
Credencial de fonte personalizada
Dependendo da plataforma do repositório (Github, Gitlab e Bitbucket), diferentes opções são fornecidas. Mas, em geral, qualquer opção que requer armazenar um token ou uma senha será armazenada como um segredo no gerenciador de segredos.
Isso permite que diferentes projetos do codebuild usem diferentes acessos configurados aos provedores em vez de apenas usar o padrão configurado.
Enumeração
# List external repo creds (such as github tokens)
## It doesn't return the token but just the ARN where it's located
aws codebuild list-source-credentials
# Projects
aws codebuild list-shared-projects
aws codebuild list-projects
aws codebuild batch-get-projects --names <project_name> # Check for creds in env vars
# Builds
aws codebuild list-builds
aws codebuild list-builds-for-project --project-name <p_name>
aws codebuild list-build-batches
aws codebuild list-build-batches-for-project --project-name <p_name>
# Reports
aws codebuild list-reports
aws codebuild describe-test-cases --report-arn <ARN>
Privesc
Na página a seguir, você pode verificar como abusar das permissões do codebuild para escalar privilégios:
Post Exploitation
AWS - CodeBuild Post Exploitation
Unauthenticated Access
AWS - CodeBuild Unauthenticated Access
References
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.