AWS - CodeBuild Post Exploitation

Support HackTricks

CodeBuild

Pour plus d'informations, consultez :

Abus de l'accès au dépôt CodeBuild

Pour configurer CodeBuild, il aura besoin de l'accès 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 soit 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 leak 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 configurés ont accès (notez que le site web aws les listera tous pour vous) :

Et changer 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 peut-être ? Consultez la section suivante

Fuite des jetons d'accès depuis AWS CodeBuild

Vous pouvez leak l'accès donné dans CodeBuild à des plateformes comme Github. Vérifiez si un accès à des plateformes externes a été donné avec :

aws codebuild list-source-credentials

codebuild:DeleteProject

Un attaquant pourrait supprimer un projet CodeBuild entier, entraînant la perte de la configuration du projet et impactant les applications dépendant du projet.

aws codebuild delete-project --name <value>

Impact potentiel : Perte de configuration de projet et interruption de service pour les applications utilisant le projet supprimé.

codebuild:TagResource , codebuild:UntagResource

Un attaquant pourrait ajouter, modifier ou supprimer des balises des ressources CodeBuild, perturbant l'allocation des coûts de votre organisation, le suivi des ressources et les politiques de contrôle d'accès basées sur les balises.

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

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 des balises.

codebuild:DeleteSourceCredentials

Un attaquant pourrait supprimer les identifiants source pour un dépôt Git, impactant le fonctionnement normal des applications s'appuyant sur le dépôt.

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

Impact potentiel : Disruption du fonctionnement normal des applications s'appuyant sur le dépôt affecté en raison de la suppression des identifiants source.

Soutenir HackTricks

Last updated