GCP - Cloudbuild Privesc
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 sur Cloud Build, consultez :
GCP - Cloud Build Enumcloudbuild.builds.create
Avec cette permission, vous pouvez soumettre un cloud build. La machine cloudbuild aura dans son système de fichiers par défaut un token du Service Account cloudbuild : <PROJECT_NUMBER>@cloudbuild.gserviceaccount.com
. Cependant, vous pouvez indiquer n'importe quel service account à l'intérieur du projet dans la configuration cloudbuild.
Par conséquent, vous pouvez simplement faire exfiltrer le token vers votre serveur ou obtenir un reverse shell à l'intérieur et récupérer le token (le fichier contenant le token peut changer).
Vous pouvez trouver le script d'exploitation original ici sur GitHub (mais l'emplacement d'où il prend le token n'a pas fonctionné pour moi). Par conséquent, consultez un script pour automatiser la création, l'exploitation et le nettoyage d'un environnement vulnérable ici et un script python pour obtenir un reverse shell à l'intérieur de la machine cloudbuild et le voler ici (dans le code, vous pouvez trouver comment spécifier d'autres service accounts).
Pour une explication plus approfondie, visitez https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/
cloudbuild.builds.update
Potentiellement, avec cette permission, vous serez en mesure de mettre à jour un cloud build et simplement voler le token du service account comme cela a été effectué avec la permission précédente (mais malheureusement, au moment de la rédaction de ce document, je n'ai pas pu trouver de moyen d'appeler cette API).
TODO
cloudbuild.repositories.accessReadToken
Avec cette permission, l'utilisateur peut obtenir le token d'accès en lecture utilisé pour accéder au dépôt :
cloudbuild.repositories.accessReadWriteToken
Avec cette autorisation, l'utilisateur peut obtenir le jeton d'accès en lecture et écriture utilisé pour accéder au dépôt :
cloudbuild.connections.fetchLinkableRepositories
Avec cette autorisation, vous pouvez obtenir les dépôts auxquels la connexion a accès :
Apprenez et pratiquez le hacking AWS :HackTricks Formation Expert Red Team AWS (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Formation Expert Red Team GCP (GRTE)