AWS - CodeBuild Post Exploitation
CodeBuild
Pour plus d'informations, consultez :
pageAWS - Codebuild EnumAbus d'accès au dépôt CodeBuild
Pour configurer CodeBuild, il aura besoin d'accéder au dépôt de code qu'il va utiliser. Plusieurs plateformes pourraient héberger ce code :
Le projet CodeBuild doit avoir accès au fournisseur de source configuré, soit via un rôle IAM ou avec un jeton github/bitbucket ou un accès OAuth.
Un attaquant avec des permissions élevées sur un CodeBuild pourrait abuser de cet accès configuré pour divulguer le code du dépôt configuré et d'autres où les identifiants configurés ont accès. Pour ce faire, un attaquant aurait juste besoin de changer l'URL du dépôt pour chaque dépôt auquel les identifiants de configuration ont accès (notez que le site web aws les listera tous pour vous) :
Et modifier les commandes Buildspec pour exfiltrer chaque dépôt.
Cependant, cette tâche est répétitive et fastidieuse et si un jeton github a été configuré avec des permissions d'écriture, un attaquant ne pourra pas (ab)user de ces permissions car il n'a pas accès au jeton. Ou l'a-t-il ? Consultez la section suivante
Fuite de jetons d'accès depuis AWS CodeBuild
Vous pouvez divulguer l'accès donné dans CodeBuild à des plateformes comme Github. Vérifiez si un accès à des plateformes externes a été accordé avec :
codebuild:DeleteProject
codebuild:DeleteProject
Un attaquant pourrait supprimer un projet CodeBuild entier, entraînant la perte de la configuration du projet et impactant les applications qui dépendent du projet.
Impact potentiel : Perte de la configuration du projet et perturbation du service pour les applications utilisant le projet supprimé.
codebuild:TagResource
, codebuild:UntagResource
codebuild:TagResource
, codebuild:UntagResource
Un attaquant pourrait ajouter, modifier ou supprimer des balises des ressources CodeBuild, perturbant ainsi la répartition des coûts, le suivi des ressources et les politiques de contrôle d'accès de votre organisation basées sur les balises.
Impact potentiel : Perturbation de l'allocation des coûts, du suivi des ressources et des politiques de contrôle d'accès basées sur les balises.
codebuild:DeleteSourceCredentials
codebuild:DeleteSourceCredentials
Un attaquant pourrait supprimer les informations d'identification source pour un dépôt Git, impactant le fonctionnement normal des applications reposant sur le dépôt.
Impact potentiel : Perturbation du fonctionnement normal des applications reposant sur le référentiel affecté en raison de la suppression des identifiants source.
Dernière mise à jour