GCP - Source Repositories Enum

htARTE (HackTricks AWS Red Team Expert)를 통해 **제로부터 영웅까지 AWS 해킹 배우기**!

HackTricks를 지원하는 다른 방법:

기본 정보

Google Cloud Source Repositories는 완전한 기능을 갖춘 확장 가능한 개인 Git 저장소 서비스입니다. 다른 GCP 도구 및 서비스와 완벽하게 통합되어 소스 코드를 완전히 관리되는 환경에 호스팅하도록 설계되었습니다. 팀이 코드를 저장, 관리 및 추적할 수 있는 협업적이고 안전한 공간을 제공합니다.

Cloud Source Repositories의 주요 기능은 다음과 같습니다:

  1. 완전 관리형 Git 호스팅: Git의 익숙한 기능을 제공하여 일반적인 Git 명령어와 워크플로를 사용할 수 있습니다.

  2. GCP 서비스와 통합: 코드부터 배포까지의 종단 간 추적을 위해 Cloud Build, Pub/Sub 및 App Engine과 같은 다른 GCP 서비스와 통합됩니다.

  3. 개인 저장소: 코드가 안전하고 비공개로 저장되도록 보장합니다. Cloud Identity 및 Access Management (IAM) 역할을 사용하여 액세스를 제어할 수 있습니다.

  4. 소스 코드 분석: 다른 GCP 도구와 함께 작동하여 소스 코드의 자동 분석을 제공하고 버그, 취약점 또는 나쁜 코딩 관행과 같은 잠재적인 문제를 식별합니다.

  5. 협업 도구: 머지 요청, 코멘트 및 리뷰와 같은 도구를 사용하여 협업 코딩을 지원합니다.

  6. 미러 지원: GitHub 또는 Bitbucket에 호스팅된 저장소와 Cloud Source Repositories를 연결하여 자동 동기화를 활성화하고 모든 저장소의 통합된 보기를 제공할 수 있습니다.

OffSec 정보

  • 프로젝트 내부의 소스 저장소 구성에는 Cloud Pub/Sub 메시지를 게시하는 데 사용되는 서비스 계정이 있습니다. 기본적으로 사용되는 것은 Compute SA입니다. 그러나 소스 저장소에서 토큰을 도용하는 것은 불가능하다고 생각합니다. 왜냐하면 이것은 백그라운드에서 실행되기 때문입니다.

  • GCP Cloud Source Repositories 웹 콘솔(https://source.cloud.google.com/)에서 코드를 보려면 코드가 기본적으로 마스터 브랜치에 있어야합니다.

  • Github 또는 Bitbucket의 저장소를 가리키는 미러 클라우드 저장소를 생성할 수도 있습니다(해당 플랫폼에 액세스 권한 부여).

  • GCP 내부에서 코드 및 디버깅이 가능합니다.

  • 기본적으로 Source Repositories는 커밋에 개인 키를 푸시하는 것을 방지하지만 이를 비활성화할 수 있습니다.

클라우드 셸에서 열기

클라우드 셸에서 저장소를 열 수 있으며, 다음과 같은 프롬프트가 나타납니다:

이를 통해 클라우드 셸에서 코드를 작성하고 디버깅할 수 있습니다(클라우드 셸이 침해당할 수 있음).

열거

# Repos enumeration
gcloud source repos list #Get names and URLs
gcloud source repos describe <repo_name>
gcloud source repos get-iam-policy <repo_name>

# gcloud repo clone
gcloud source repos clone <REPO NAME>
gcloud source repos get-iam-policy <REPO NAME>
... git add & git commit -m ...
git push --set-upstream origin master
git push -u origin master

# Access via git
## To add a SSH key go to https://source.cloud.google.com/user/ssh_keys (no gcloud command)
git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>
git add, commit, push...

권한 상승 및 포스트 익스플로잇

pageGCP - Sourcerepos Privesc

인증되지 않은 열거

pageGCP - Source Repositories Unauthenticated Enum
제로부터 영웅이 될 때까지 AWS 해킹 배우기 htARTE (HackTricks AWS Red Team Expert)!

HackTricks를 지원하는 다른 방법:

最終更新