GCP - Cloud Run Enum

Support HackTricks

Cloud Run

Cloud Run์€ Google์˜ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ธํ”„๋ผ ์œ„์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„๋ฆฌ์Šค ๊ด€๋ฆฌ ์ปดํ“จํŒ… ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Go, Node.js, Python, Java, .NET Core ๋˜๋Š” Ruby๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ž๋™์œผ๋กœ ๋นŒ๋“œํ•˜๋Š” ์†Œ์Šค ๊ธฐ๋ฐ˜ ๋ฐฐํฌ ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Google์€ Cloud Run์ด Google Cloud์˜ ๋‹ค๋ฅธ ์„œ๋น„์Šค์™€ ์ž˜ ์ž‘๋™ํ•˜๋„๋ก ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ „์ฒด ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Services and jobs

Cloud Run์—์„œ ์ฝ”๋“œ๋Š” _์„œ๋น„์Šค_๋กœ ์ง€์†์ ์œผ๋กœ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ _์ž‘์—…_์œผ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค์™€ ์ž‘์—… ๋ชจ๋‘ ๋™์ผํ•œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋ฉฐ Google Cloud์˜ ๋‹ค๋ฅธ ์„œ๋น„์Šค์™€ ๋™์ผํ•œ ํ†ตํ•ฉ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Cloud Run ์„œ๋น„์Šค. ์›น ์š”์ฒญ์ด๋‚˜ ์ด๋ฒคํŠธ์— ์‘๋‹ตํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • Cloud Run ์ž‘์—…. ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด ์ข…๋ฃŒ๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Cloud Run Service

Google Cloud Run์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ ์„œ๋ฒ„๋ฆฌ์Šค ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. Cloud Run์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ ํฌํŠธ 8080์—์„œ HTTP GET ์š”์ฒญ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ž‘์€ ์›น ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์ด ์ˆ˜์‹ ๋˜๋ฉด ์ž‘์—…์ด ์‹คํ–‰๋˜๊ณ  ์ž‘์—… ๋กœ๊ทธ๊ฐ€ HTTP ์‘๋‹ต์„ ํ†ตํ•ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

Relevant details

  • ๊ธฐ๋ณธ์ ์œผ๋กœ, ์›น ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ๊ณต๊ฐœ๋˜์ง€๋งŒ, ๋‚ด๋ถ€ ํŠธ๋ž˜ํ”ฝ(VPC...)์œผ๋กœ ์ œํ•œํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์›น ์„œ๋ฒ„์— ์—ฐ๋ฝํ•˜๊ธฐ ์œ„ํ•œ ์ธ์ฆ์€ ๋ชจ๋‘ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ IAM์„ ํ†ตํ•œ ์ธ์ฆ ์š”๊ตฌ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ธฐ๋ณธ์ ์œผ๋กœ ์•”ํ˜ธํ™”๋Š” Google ๊ด€๋ฆฌ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, KMS์˜ CMEK(๊ณ ๊ฐ ๊ด€๋ฆฌ ์•”ํ˜ธํ™” ํ‚ค)๋ฅผ ์„ ํƒํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ธฐ๋ณธ์ ์œผ๋กœ, ์‚ฌ์šฉ๋˜๋Š” ์„œ๋น„์Šค ๊ณ„์ •์€ Compute Engine ๊ธฐ๋ณธ ๊ณ„์ •์œผ๋กœ, ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ํŽธ์ง‘์ž ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ฐ€์ง€๋ฉฐ cloud-platform ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

  • ์‹คํ–‰์„ ์œ„ํ•ด ํ‰๋ฌธ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํด๋ผ์šฐ๋“œ ๋น„๋ฐ€์„ ๋งˆ์šดํŠธํ•˜๊ฑฐ๋‚˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ํด๋ผ์šฐ๋“œ ๋น„๋ฐ€์„ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Cloud SQL๊ณผ์˜ ์—ฐ๊ฒฐ ์ถ”๊ฐ€ ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋งˆ์šดํŠธ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐฐํฌ๋œ ์„œ๋น„์Šค์˜ URL์€ **https://<svc-name>-<random>.a.run.app**์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • Run ์„œ๋น„์Šค๋Š” 1๊ฐœ ์ด์ƒ์˜ ๋ฒ„์ „ ๋˜๋Š” ์ˆ˜์ •๋ณธ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์—ฌ๋Ÿฌ ์ˆ˜์ •๋ณธ ๊ฐ„์— ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„ํ• ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Enumeration

# 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

Cloud Run ์ž‘์—…์€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์‹คํ–‰๋˜๊ณ  ์š”์ฒญ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ์ปจํ…Œ์ด๋„ˆ์— ๋” ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…์€ ์š”์ฒญ์„ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ํฌํŠธ๋ฅผ ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” Cloud Run ์„œ๋น„์Šค์™€ ๋‹ฌ๋ฆฌ ์ž‘์—…์€ ์›น ์„œ๋ฒ„๋ฅผ ํฌํ•จํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹ , ์ž‘์—… ์ปจํ…Œ์ด๋„ˆ๋Š” ์™„๋ฃŒ๋˜๋ฉด ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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>

๊ถŒํ•œ ์ƒ์Šน

๋‹ค์Œ ํŽ˜์ด์ง€์—์„œ ํด๋ผ์šฐ๋“œ ๋Ÿฐ ๊ถŒํ•œ์„ ์•…์šฉํ•˜์—ฌ ๊ถŒํ•œ์„ ์ƒ์Šน์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

์ธ์ฆ๋˜์ง€ ์•Š์€ ์ ‘๊ทผ

ํฌ์ŠคํŠธ ์ต์Šคํ”Œ๋กœ์ž‡

์ง€์†์„ฑ

์ฐธ๊ณ ์ž๋ฃŒ

HackTricks ์ง€์›ํ•˜๊ธฐ

Last updated