GCP - Sourcerepos Privesc
Tip
AWS 해킹 배우기 및 연습하기:
HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기:HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
Source Repositories
Source Repositories에 대한 자세한 정보는 다음을 확인하세요:
GCP - Source Repositories Enum
source.repos.get
이 권한이 있으면 리포지토리를 로컬로 다운로드할 수 있습니다:
소스 리포지토리 복제
```bash gcloud source repos clonesource.repos.update
이 권한을 가진 주체는 gcloud source repos clone <repo>로 복제된 저장소 안에 코드를 작성할 수 있습니다. 다만 이 권한은 커스텀 역할에 부여할 수 없으므로 다음과 같은 미리 정의된 역할을 통해서만 부여되어야 합니다:
- Owner
- Editor
- Source Repository Administrator (
roles/source.admin) - Source Repository Writer (
roles/source.writer)
작성하려면 일반적으로 **git push**를 수행하면 됩니다.
source.repos.setIamPolicy
이 권한을 가진 공격자는 자신에게 이전 권한들을 부여할 수 있습니다.
Secret access
공격자가 토큰이 저장된 secrets에 접근할 수 있다면, 해당 토큰을 탈취할 수 있습니다. 시크릿에 접근하는 방법에 대한 자세한 내용은 다음을 확인하세요:
Add SSH keys
웹 콘솔에서 Source Repository 프로젝트에 ssh 키를 추가할 수 있습니다. 이는 **/v1/sshKeys:add**에 대한 POST 요청을 수행하며 https://source.cloud.google.com/user/ssh_keys에서 설정할 수 있습니다.
설정된 ssh 키로 다음과 같이 저장소에 접근할 수 있습니다:
SSH로 저장소 복제
```bash git clone ssh://username@domain.com@source.developers.google.com:2022/p/그리고 그 다음에는 git 명령을 평소처럼 사용하면 됩니다.
Manual Credentials
Source Repositories에 접근하기 위한 수동 자격 증명을 생성할 수 있습니다:
.png)
첫 번째 링크를 클릭하면 https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3 로 이동합니다.
해당 페이지는 Oauth authorization prompt를 표시하여 Google Cloud Development에 대한 접근 권한을 요청합니다. 따라서 이를 위해서는 사용자 자격 증명 또는 브라우저에 열린 세션이 필요합니다.
이 링크는 실행할 bash 스크립트가 있는 페이지로 이동시키며 git 쿠키를 **$HOME/.gitcookies**에 구성합니다.
.png)
스크립트를 실행하면 git clone, push 등을 사용할 수 있습니다.
source.repos.updateProjectConfig
이 권한을 사용하면 Private Keys가 포함된 코드를 업로드하지 못하게 하는 Source Repositories의 기본 보호 기능을 비활성화할 수 있습니다:
pushblock 비활성화 및 pub/sub 구성 수정
```bash gcloud source project-configs update --disable-pushblock ``` 다른 pub/sub topic을 구성하거나 심지어 완전히 비활성화할 수도 있습니다: ```bash gcloud source project-configs update --remove-topic=REMOVE_TOPIC gcloud source project-configs update --remove-topic=UPDATE_TOPIC ```Tip
AWS 해킹 배우기 및 연습하기:
HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기:HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
HackTricks Cloud

