2.0 KiB
AWS - Acesso Não Autenticado ao CodeBuild
{{#include ../../../banners/hacktricks-training.md}}
CodeBuild
Para mais informações, consulte esta página:
{{#ref}} ../aws-services/aws-codebuild-enum.md {{#endref}}
buildspec.yml
Se você comprometer o acesso de escrita a um repositório contendo um arquivo chamado buildspec.yml, você poderia injetar um backdoor neste arquivo, que especifica os comandos que serão executados dentro de um projeto CodeBuild e exfiltrar os segredos, comprometer o que é feito e também comprometer as credenciais do papel IAM do CodeBuild.
Observe que mesmo que não haja nenhum arquivo buildspec.yml, mas você saiba que o Codebuild está sendo usado (ou um CI/CD diferente), modificar algum código legítimo que será executado também pode te dar um shell reverso, por exemplo.
Para algumas informações relacionadas, você pode consultar a página sobre como atacar o Github Actions (semelhante a isso):
{{#ref}} ../../../pentesting-ci-cd/github-security/abusing-github-actions/ {{#endref}}
Runners do GitHub Actions auto-hospedados no AWS CodeBuild
Como indicado na documentação, é possível configurar o CodeBuild para executar ações do Github auto-hospedadas quando um fluxo de trabalho é acionado dentro de um repositório Github configurado. Isso pode ser detectado verificando a configuração do projeto CodeBuild, pois o Tipo de evento precisa conter: WORKFLOW_JOB_QUEUED e em um Fluxo de Trabalho do Github porque ele selecionará um runner auto-hospedado assim:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}
Esse novo relacionamento entre Github Actions e AWS cria outra maneira de comprometer a AWS a partir do Github, já que o código no Github estará sendo executado em um projeto CodeBuild com um papel IAM anexado.
{{#include ../../../banners/hacktricks-training.md}}