AWS - CodeBuild Post Exploitation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Pour plus d'informations, consultez :
Si des identifiants ont été définis dans Codebuild pour se connecter à Github, Gitlab ou Bitbucket sous forme de jetons personnels, mots de passe ou jetons d'accès OAuth, ces identifiants vont être stockés comme secrets dans le gestionnaire de secrets. Par conséquent, si vous avez accès pour lire le gestionnaire de secrets, vous pourrez obtenir ces secrets et pivoter vers la plateforme connectée.
Pour configurer CodeBuild, il aura besoin de l'accès au repo 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 divulguer le code du repo configuré et d'autres où les identifiants définis ont accès. Pour ce faire, un attaquant n'aurait qu'à 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 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
Vous pouvez divulguer l'accès accordé dans CodeBuild à des plateformes comme Github. Vérifiez si un accès à des plateformes externes a été accordé avec :
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.
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.
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.
Impact potentiel : Disruption du fonctionnement normal des applications s'appuyant sur le dépôt affecté en raison de la suppression des identifiants source.
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)