GCP - Cloud Run Enum
Cloud Run
Cloud Run은 Google의 확장 가능한 인프라 위에 직접 컨테이너를 실행할 수 있는 서버리스 관리형 컴퓨팅 플랫폼입니다.
컨테이너를 실행하거나 Go, Node.js, Python, Java, .NET Core 또는 Ruby를 사용하는 경우 소스 기반 배포 옵션을 사용하여 컨테이너를 빌드할 수 있습니다.
Google은 Cloud Run을 Google Cloud의 다른 서비스와 원활하게 작동하도록 구축했으므로 풀 기능의 애플리케이션을 구축할 수 있습니다.
서비스 및 작업
Cloud Run에서 코드는 서비스 또는 _작업_으로 계속 실행할 수 있습니다. 서비스와 작업은 동일한 환경에서 실행되며 Google Cloud의 다른 서비스와 동일한 통합을 사용할 수 있습니다.
Cloud Run 서비스. 웹 요청 또는 이벤트에 응답하는 코드를 실행하는 데 사용됩니다.
Cloud Run 작업. 작업을 수행하는 코드(작업)를 실행하고 작업이 완료되면 종료하는 데 사용됩니다.
Cloud Run 서비스
Google Cloud Run은 환경 변수를 검색할 수 있는 또 다른 서버리스 제공입니다. Cloud Run은 기본적으로 컨테이너 내부의 포트 8080에서 실행되는 작은 웹 서버를 생성하여 HTTP GET 요청을 기다리는 상태로 유지합니다. 요청을 받으면 작업이 실행되고 작업 로그가 HTTP 응답을 통해 출력됩니다.
관련 세부 정보
기본적으로 웹 서버에 대한 액세스는 공개지만 내부 트래픽으로 제한할 수도 있습니다(VPC...) 또한 웹 서버에 연락하기 위한 인증은 모두 허용하거나 IAM을 통한 인증이 필요할 수 있습니다.
기본적으로 암호화는 Google 관리 키를 사용하지만 KMS의 CMEK(고객 관리형 암호화 키)를 선택할 수도 있습니다.
기본적으로 사용되는 서비스 계정은 프로젝트에 대한 Editor 액세스 권한을 갖는 Compute Engine 기본 계정이며
cloud-platform
스코프를 갖습니다.실행을 위해 평문 환경 변수를 정의하거나 클라우드 비밀을 마운트하거나 환경 변수에 추가할 수 있습니다.
또한 Cloud SQL과 연결을 추가하거나 파일 시스템을 마운트할 수 있습니다.
배포된 서비스의 URL은 **
https://<svc-name>-<random>.a.run.app
**와 유사합니다.Run 서비스에는 1개 이상의 버전 또는 리비전이 있을 수 있으며 여러 리비전 사이에서 트래픽을 분할할 수 있습니다.
열거
Cloud Run 작업
Cloud Run 작업은 완료될 때까지 실행되는 컨테이너에 더 적합합니다. 작업은 요청을 처리하거나 포트에서 수신 대기할 수 없습니다. 이는 Cloud Run 서비스와는 달리 작업은 웹 서버를 번들로 포함해서는 안 된다는 것을 의미합니다. 대신, 작업 컨테이너는 완료되면 종료해야 합니다.
열거
권한 상승
다음 페이지에서 클라우드 런 권한을 남용하여 권한 상승하는 방법을 확인할 수 있습니다:
pageGCP - Run Privesc인증되지 않은 액세스
pageGCP - Cloud Run Unauthenticated Enum사후 침투
pageGCP - Cloud Run Post Exploitation지속성
pageGCP - Cloud Run Persistence참고 자료
最終更新