AWS - CodeBuild Post Exploitation
CodeBuild
Para mais informações, confira:
AWS - Codebuild EnumAbusar 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:
codebuild:DeleteProject
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
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
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.
Last updated