GCP - Cloud Run Enum

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Cloud Run

Cloud Run je serverless upravljana platforma za računanje koja vam omogućava da pokrećete kontejnere direktno na Google-ovoj skalabilnoj infrastrukturi.

Možete pokrenuti svoj kontejner ili ako koristite Go, Node.js, Python, Java, .NET Core ili Ruby, možete koristiti opciju deploying-source-code koja gradi kontejner za vas.

Google je izgradio Cloud Run da dobro funkcioniše zajedno sa drugim uslugama na Google Cloud-u, tako da možete izgraditi aplikacije sa punim funkcionalnostima.

Usluge i poslovi

Na Cloud Run-u, vaš kod može ili da se izvršava kontinuirano kao usluga ili kao posao. Obe usluge i poslovi se izvršavaju u istom okruženju i mogu koristiti iste integracije sa drugim uslugama na Google Cloud-u.

  • Cloud Run usluge. Koriste se za izvršavanje koda koji odgovara na web zahteve ili događaje.

  • Cloud Run poslovi. Koriste se za izvršavanje koda koji obavlja posao i završava kada je posao završen.

Cloud Run Usluga

Google Cloud Run je još jedna serverless ponuda gde možete tražiti env promenljive takođe. Cloud Run kreira mali web server, koji se podrazumevano izvršava na portu 8080 unutar kontejnera, koji čeka HTTP GET zahtev. Kada zahtev bude primljen, posao se izvršava i dnevnik posla se izlazuje putem HTTP odgovora.

Relevantni detalji

  • Podrazumevano, pristup web serveru je javno dostupan, ali može biti ograničen na interni saobraćaj (VPC...) Takođe, autentikacija za kontaktiranje web servera može biti dozvoljena svima ili zahtevati autentikaciju putem IAM.

  • Podrazumevano, enkripcija koristi Google upravljani ključ, ali se može izabrati i CMEK (Customer Managed Encryption Key) iz KMS.

  • Podrazumevano, korišćeni je servisni nalog je podrazumevani Compute Engine koji ima Editor pristup nad projektom i ima scope cloud-platform.

  • Moguće je definisati čiste tekstualne env promenljive za izvršavanje, čak i montirati cloud tajne ili dodati cloud tajne u env promenljive.

  • Takođe je moguće dodati konekcije sa Cloud SQL-om i montirati fajl sistem.

  • URL-ovi deploy-ovanih usluga su slični https://<svc-name>-<random>.a.run.app

  • Run Usluga može imati više od 1 verzije ili reviziju, i podeliti saobraćaj među nekoliko revizija.

Enumeracija

# 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 Poslovi

Cloud Run poslovi su bolje rešenje za kontejnere koji se izvršavaju do kraja i ne obrađuju zahteve. Poslovi nemaju mogućnost da obrađuju zahteve ili slušaju na portu. To znači da za razliku od Cloud Run servisa, poslovi ne bi trebalo da sadrže veb server. Umesto toga, kontejneri poslova treba da se zaustave kada završe sa izvršavanjem.

Enumeracija

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>

Eskalacija privilegija

Na sledećoj stranici možete proveriti kako zloupotrebiti dozvole za Cloud Run da biste eskalirali privilegije:

GCP - Run Privesc

Neautentifikovan pristup

GCP - Cloud Run Unauthenticated Enum

Post eksploatacija

GCP - Cloud Run Post Exploitation

Upornost

GCP - Cloud Run Persistence

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated