AWS - Codebuild Enum
Reading time: 4 minutes
tip
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)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
CodeBuild
AWS CodeBuild est reconnu comme un service d'intégration continue entièrement géré. Le principal objectif de ce service est d'automatiser la séquence de compilation du code source, d'exécution des tests et de conditionnement du logiciel pour des fins de déploiement. Le principal avantage offert par CodeBuild réside dans sa capacité à soulager les utilisateurs de la nécessité de provisionner, gérer et faire évoluer leurs serveurs de construction. Cette commodité est due au fait que le service gère lui-même ces tâches. Les fonctionnalités essentielles d'AWS CodeBuild comprennent :
- Service géré : CodeBuild gère et fait évoluer les serveurs de construction, libérant les utilisateurs de la maintenance des serveurs.
- Intégration continue : Il s'intègre au flux de travail de développement et de déploiement, automatisant les phases de construction et de test du processus de publication du logiciel.
- Production de paquets : Après les phases de construction et de test, il prépare les paquets logiciels, les rendant prêts pour le déploiement.
AWS CodeBuild s'intègre parfaitement avec d'autres services AWS, améliorant l'efficacité et la fiabilité du pipeline CI/CD (Intégration Continue/Déploiement Continu).
Identifiants Github/Gitlab/Bitbucket
Identifiants source par défaut
C'est l'option héritée où il est possible de configurer certains accès (comme un token Github ou une application) qui seront partagés entre les projets codebuild afin que tous les projets puissent utiliser cet ensemble d'identifiants configurés.
Les identifiants stockés (tokens, mots de passe...) sont gérés par codebuild et il n'existe aucun moyen public de les récupérer via les API AWS.
Identifiant source personnalisé
Selon la plateforme de dépôt (Github, Gitlab et Bitbucket), différentes options sont fournies. Mais en général, toute option nécessitant de stocker un token ou un mot de passe le stockera comme un secret dans le gestionnaire de secrets.
Cela permet à différents projets codebuild d'utiliser différents accès configurés aux fournisseurs au lieu de simplement utiliser celui par défaut configuré.
Enumeration
# List external repo creds (such as github tokens)
## It doesn't return the token but just the ARN where it's located
aws codebuild list-source-credentials
# Projects
aws codebuild list-shared-projects
aws codebuild list-projects
aws codebuild batch-get-projects --names <project_name> # Check for creds in env vars
# Builds
aws codebuild list-builds
aws codebuild list-builds-for-project --project-name <p_name>
aws codebuild list-build-batches
aws codebuild list-build-batches-for-project --project-name <p_name>
# Reports
aws codebuild list-reports
aws codebuild describe-test-cases --report-arn <ARN>
Privesc
Dans la page suivante, vous pouvez vérifier comment abuser des permissions de codebuild pour escalader les privilèges :
Post Exploitation
AWS - CodeBuild Post Exploitation
Unauthenticated Access
AWS - CodeBuild Unauthenticated Access
References
tip
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)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.