AWS - CodeBuild Post Exploitation

Suporte ao HackTricks

CodeBuild

Para mais informações, confira:

Abusar do Acesso ao Repositório CodeBuild

Para configurar o CodeBuild, ele precisará de acesso ao repositório de código que irá utilizar. Várias plataformas podem estar hospedando esse código:

O projeto CodeBuild deve ter acesso ao provedor de origem configurado, seja via papel IAM ou com um token ou acesso OAuth do github/bitbucket.

Um atacante com permissões elevadas em um CodeBuild poderia abusar desse acesso configurado para vazar o código do repositório configurado e outros onde as credenciais definidas têm acesso. Para fazer isso, um atacante precisaria apenas mudar a URL do repositório para cada repositório ao qual as credenciais configuradas têm acesso (note que a web da aws listará todos eles para você):

E mudar os comandos do Buildspec para exfiltrar cada repositório.

No entanto, essa tarefa é repetitiva e tediosa e se um token do github foi configurado com permissões de escrita, um atacante não poderá (ab)usar essas permissões pois não tem acesso ao token. Ou tem? Confira a próxima seção

Vazando Tokens de Acesso do AWS CodeBuild

Você pode vazar o acesso dado no CodeBuild para plataformas como Github. Verifique se algum acesso a plataformas externas foi dado com:

aws codebuild list-source-credentials

codebuild:DeleteProject

Um atacante poderia deletar um projeto inteiro do CodeBuild, causando a perda da configuração do projeto e impactando aplicações que dependem do projeto.

aws codebuild delete-project --name <value>

Impacto Potencial: Perda da configuração do projeto e interrupção do serviço para aplicativos que utilizam o projeto excluído.

codebuild:TagResource , codebuild:UntagResource

Um atacante poderia adicionar, modificar ou remover tags dos recursos do CodeBuild, interrompendo a alocação de custos da sua organização, o rastreamento de recursos e as políticas de controle de acesso baseadas em tags.

aws codebuild tag-resource --resource-arn <value> --tags <value>
aws codebuild untag-resource --resource-arn <value> --tag-keys <value>

Impacto Potencial: Interrupção da alocação de custos, rastreamento de recursos e políticas de controle de acesso baseadas em tags.

codebuild:DeleteSourceCredentials

Um atacante poderia deletar credenciais de origem para um repositório Git, impactando o funcionamento normal de aplicações que dependem do repositório.

aws codebuild delete-source-credentials --arn <value>

Impacto Potencial: Interrupção do funcionamento normal para aplicações que dependem do repositório afetado devido à remoção de credenciais de origem.

Support HackTricks

Last updated