GCP - Source Repositories Enum
기본 정보
Google Cloud Source Repositories는 완전한 기능을 갖춘 확장 가능한 개인 Git 저장소 서비스입니다. 다른 GCP 도구 및 서비스와 완벽하게 통합되어 소스 코드를 완전히 관리되는 환경에 호스팅하도록 설계되었습니다. 팀이 코드를 저장, 관리 및 추적할 수 있는 협업적이고 안전한 공간을 제공합니다.
Cloud Source Repositories의 주요 기능은 다음과 같습니다:
완전 관리형 Git 호스팅: Git의 익숙한 기능을 제공하여 일반적인 Git 명령어 및 워크플로우를 사용할 수 있습니다.
GCP 서비스와의 통합: 코드부터 배포까지의 종단 간 추적성을 위해 Cloud Build, Pub/Sub 및 App Engine과 같은 다른 GCP 서비스와 통합됩니다.
개인 저장소: 코드가 안전하고 비공개로 저장되도록 보장합니다. Cloud Identity 및 Access Management (IAM) 역할을 사용하여 액세스를 제어할 수 있습니다.
소스 코드 분석: 다른 GCP 도구와 함께 작동하여 소스 코드의 자동 분석을 제공하고 버그, 취약점 또는 잘못된 코딩 관행과 같은 잠재적인 문제를 식별합니다.
협업 도구: 머지 요청, 코멘트 및 리뷰와 같은 도구를 사용하여 협업 코딩을 지원합니다.
미러 지원: GitHub 또는 Bitbucket에 호스팅된 저장소와 Cloud Source Repositories를 연결하여 자동 동기화를 활성화하고 모든 저장소의 통합된 보기를 제공할 수 있습니다.
OffSec 정보
프로젝트 내부의 소스 저장소 구성에는 Cloud Pub/Sub 메시지를 게시하는 데 사용되는 서비스 계정이 있습니다. 기본적으로 사용되는 것은 Compute SA입니다. 그러나 소스 저장소에서 토큰을 도용하는 것은 불가능하다고 생각합니다. 백그라운드에서 실행되기 때문입니다.
GCP Cloud Source Repositories 웹 콘솔(https://source.cloud.google.com/)에서 코드를 보려면 코드가 기본적으로 마스터 브랜치에 있어야 합니다.
Github 또는 Bitbucket의 저장소를 가리키는 미러 클라우드 저장소를 생성할 수도 있습니다(해당 플랫폼에 액세스 권한 부여).
GCP 내부에서 코드 및 디버깅이 가능합니다.
기본적으로 소스 저장소는 커밋에 개인 키를 푸시하는 것을 방지하지만, 이를 비활성화할 수 있습니다.
클라우드 셸에서 열기
클라우드 셸에서 저장소를 열 수 있으며, 다음과 같은 프롬프트가 나타납니다:
이를 통해 클라우드 셸에서 코드를 작성하고 디버깅할 수 있습니다(클라우드 셸이 침해당할 수 있음).
열거
권한 상승 및 공격 후
GCP - Sourcerepos Privesc인증되지 않은 열거
GCP - Source Repositories Unauthenticated EnumLast updated