AWS - CodeBuild Post Exploitation
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Para mais informações, confira:
Se credenciais foram configuradas no Codebuild para conectar ao Github, Gitlab ou Bitbucket na forma de tokens pessoais, senhas ou tokens de acesso OAuth, essas credenciais serão armazenadas como segredos no gerenciador de segredos. Portanto, se você tiver acesso para ler o gerenciador de segredos, poderá obter esses segredos e pivotar para a plataforma conectada.
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 github/bitbucket ou acesso OAuth.
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
Você pode vazar o acesso dado no CodeBuild para plataformas como Github. Verifique se algum acesso a plataformas externas foi dado com:
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.
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.
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.
Impacto Potencial: Interrupção do funcionamento normal para aplicações que dependem do repositório afetado devido à remoção de credenciais de origem.
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)