GCP - Cloud Build Enum non authentifié
Reading time: 3 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.
Cloud Build
Pour plus d'informations sur Cloud Build, consultez :
cloudbuild.yml
Si vous compromettez l'accès en écriture sur un dépôt contenant un fichier nommé cloudbuild.yml
, vous pourriez installer une porte dérobée dans ce fichier, qui spécifie les commandes qui vont être exécutées à l'intérieur d'un Cloud Build et exfiltrer les secrets, compromettre ce qui est fait et également compromettre le compte de service Cloud Build.
note
Notez que GCP a l'option de permettre aux administrateurs de contrôler l'exécution des systèmes de build à partir de PR externes via "Comment Control". Comment Control est une fonctionnalité où les collaborateurs/propriétaires de projet doivent commenter “/gcbrun” pour déclencher le build contre la PR et l'utilisation de cette fonctionnalité empêche intrinsèquement quiconque sur Internet de déclencher vos systèmes de build.
Pour des informations connexes, vous pourriez consulter la page sur comment attaquer Github Actions (similaire à cela) :
Approbations de PR
Lorsque le déclencheur est une PR parce que tout le monde peut effectuer des PR sur des dépôts publics, il serait très dangereux de simplement permettre l'exécution du déclencheur avec n'importe quelle PR. Par conséquent, par défaut, l'exécution ne sera automatique que pour les propriétaires et les collaborateurs, et pour exécuter le déclencheur avec d'autres PR d'utilisateurs, un propriétaire ou un collaborateur doit commenter /gcbrun
.
.png)
caution
Par conséquent, si cela est défini sur Not required
, un attaquant pourrait effectuer une PR vers la branche qui déclenchera l'exécution en ajoutant l'exécution de code malveillant au fichier cloudbuild.yml
et compromettre l'exécution de cloudbuild (notez que cloudbuild téléchargera le code DE la PR, donc il exécutera le malveillant cloudbuild.yml
).
De plus, il est facile de voir si une exécution de cloudbuild doit être effectuée lorsque vous envoyez une PR car elle apparaît dans Github :
.png)
warning
Alors, même si le cloudbuild n'est pas exécuté, l'attaquant pourra voir le nom du projet d'un projet GCP qui appartient à l'entreprise.
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.