GCP - Cloud Run Enum
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Cloud Run
Cloud Run est une plateforme de calcul gĂ©rĂ©e sans serveur qui vous permet de faire fonctionner des conteneurs directement sur lâinfrastructure Ă©volutive de Google.
Vous pouvez exĂ©cuter votre conteneur ou si vous utilisez Go, Node.js, Python, Java, .NET Core ou Ruby, vous pouvez utiliser lâoption de dĂ©ploiement basĂ© sur le code source qui construit le conteneur pour vous.
Google a conçu Cloud Run pour bien fonctionner avec dâautres services sur Google Cloud, afin que vous puissiez crĂ©er des applications complĂštes.
Services et travaux
Sur Cloud Run, votre code peut soit sâexĂ©cuter en continu en tant que service, soit en tant que travail. Les services et les travaux sâexĂ©cutent dans le mĂȘme environnement et peuvent utiliser les mĂȘmes intĂ©grations avec dâautres services sur Google Cloud.
- Services Cloud Run. UtilisĂ©s pour exĂ©cuter du code qui rĂ©pond Ă des requĂȘtes web ou Ă des Ă©vĂ©nements.
- Travaux Cloud Run. Utilisés pour exécuter du code qui effectue un travail (un travail) et se termine lorsque le travail est terminé.
Service Cloud Run
Google Cloud Run est une autre offre sans serveur oĂč vous pouvez Ă©galement rechercher des variables dâenvironnement. Cloud Run crĂ©e un petit serveur web, fonctionnant par dĂ©faut sur le port 8080 Ă lâintĂ©rieur du conteneur, qui attend une requĂȘte HTTP GET. Lorsque la requĂȘte est reçue, un travail est exĂ©cutĂ© et le journal du travail est renvoyĂ© via une rĂ©ponse HTTP.
Détails pertinents
- Par dĂ©faut, lâaccĂšs au serveur web est public, mais il peut Ă©galement ĂȘtre limitĂ© au trafic interne (VPCâŠ)
De plus, lâauthentification pour contacter le serveur web peut ĂȘtre permettre Ă tous ou exiger une authentification via IAM. - Par dĂ©faut, le chiffrement utilise une clĂ© gĂ©rĂ©e par Google, mais une CMEK (Customer Managed Encryption Key) de KMS peut Ă©galement ĂȘtre choisie.
- Par dĂ©faut, le compte de service utilisĂ© est le compte par dĂ©faut de Compute Engine qui a un accĂšs Ăditeur sur le projet et il a le scope
cloud-platform. - Il est possible de dĂ©finir des variables dâenvironnement en texte clair pour lâexĂ©cution, et mĂȘme monter des secrets cloud ou ajouter des secrets cloud aux variables dâenvironnement.
- Il est Ă©galement possible dâajouter des connexions avec Cloud SQL et monter un systĂšme de fichiers.
- Les URLs des services dĂ©ployĂ©s sont similaires Ă
https://<svc-name>-<random>.a.run.app - Un service Run peut avoir plus dâune version ou rĂ©vision, et diviser le trafic entre plusieurs rĂ©visions.
ĂnumĂ©ration
# List services
gcloud run services list
gcloud run services list --platform=managed
gcloud run services list --platform=gke
# Get info of a service
gcloud run services describe --region <region> <svc-name>
# Get info of all the services together
gcloud run services list --format=yaml
gcloud run services list --platform=managed --format=json
gcloud run services list --platform=gke --format=json
# Get policy
gcloud run services get-iam-policy --region <region> <svc-name>
# Get revisions
gcloud run revisions list --region <region>
gcloud run revisions describe --region <region> <revision>
# Get domains
gcloud run domain-mappings list
gcloud run domain-mappings describe <name>
# Attempt to trigger a job unauthenticated
curl <url>
# Attempt to trigger a job with your current gcloud authorization
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" <url>
Cloud Run Jobs
Les jobs Cloud Run sont mieux adaptĂ©s pour des conteneurs qui sâexĂ©cutent jusquâĂ leur achĂšvement et ne servent pas de requĂȘtes. Les jobs nâont pas la capacitĂ© de servir des requĂȘtes ou dâĂ©couter sur un port. Cela signifie quâĂ la diffĂ©rence des services Cloud Run, les jobs ne doivent pas inclure un serveur web. Au lieu de cela, les conteneurs de jobs doivent se terminer lorsquâils ont fini.
Enumeration
gcloud beta run jobs list
gcloud beta run jobs describe --region <region> <job-name>
gcloud beta run jobs get-iam-policy --region <region> <job-name>
Escalade de PrivilĂšges
Dans la page suivante, vous pouvez vérifier comment abuser des permissions de cloud run pour escalader les privilÚges :
AccÚs Non Authentifié
GCP - Cloud Run Unauthenticated Enum
Post Exploitation
GCP - Cloud Run Post Exploitation
Persistance
Références
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

