GCP - Bigtable 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을 제출하여 해킹 트릭을 공유하세요.
Bigtable
For more information about Bigtable check:
bigtable.instances.setIamPolicy
권한: bigtable.instances.setIamPolicy (일반적으로 현재 바인딩을 읽기 위해 bigtable.instances.getIamPolicy도 필요합니다).
인스턴스의 IAM 정책을 소유하면 자신에게 roles/bigtable.admin(또는 임의의 custom role)을 부여할 수 있으며, 이는 인스턴스 내 모든 클러스터, 테이블, 백업 및 권한이 부여된 보기로 전파됩니다.
인스턴스에 bigtable.admin 역할을 부여
```bash gcloud bigtable instances add-iam-policy-bindingTip
기존 바인딩을 나열할 수 없다면, 새로운 정책 문서를 작성하여
gcloud bigtable instances set-iam-policy로 적용하세요. 단 자신을 그 정책에 포함시켜 두어야 합니다.
이 권한을 얻은 후에는 Bigtable Post Exploitation section에서 Bigtable 권한을 악용하는 추가 기법들을 확인하세요.
bigtable.tables.setIamPolicy
권한: bigtable.tables.setIamPolicy (optionally bigtable.tables.getIamPolicy).
인스턴스 정책은 잠겨 있는 반면 개별 테이블에는 권한이 위임될 수 있습니다. 테이블의 IAM을 편집할 수 있다면, 다른 워크로드에 손대지 않고도 대상 데이터셋의 owner로 자신을 승격할 수 있습니다.
테이블에 대해 자신에게 bigtable.admin 역할 부여
```bash gcloud bigtable tables add-iam-policy-binding이 권한을 얻은 후에는 Bigtable Post Exploitation section에서 Bigtable 권한을 악용하는 더 많은 기법을 확인하세요.
bigtable.backups.setIamPolicy
권한: bigtable.backups.setIamPolicy
백업은 당신이 제어하는 어떤 프로젝트의 어떤 인스턴스로든 복원할 수 있습니다. 먼저 당신의 identity에 백업 접근 권한을 부여한 다음, Admin/Owner 역할을 가진 샌드박스에 복원하세요.
만약 bigtable.backups.setIamPolicy 권한이 있다면, 자신에게 bigtable.backups.restore 권한을 부여해 오래된 백업을 복원하고 민감한 정보를 열람해볼 수 있습니다.
Take ownership of backup snapshot
```bash # Take ownership of the snapshot gcloud bigtable backups add-iam-policy-binding해당 권한 확인은 Bigtable Post Exploitation section에서 백업을 복원하는 방법을 확인한 후에 진행한다.
Update authorized view
Permissions: bigtable.authorizedViews.update
Authorized Views는 행/열을 가리도록 설계되어 있다. 이를 수정하거나 삭제하면 수비자가 의존하는 세분화된 보호 장치가 제거된다.
authorized view를 업데이트하여 접근 범위 확대
```bash # Broaden the subset by uploading a permissive definition gcloud bigtable authorized-views updateJson example not filtering any row or column
cat <<‘EOF’ > /tmp/permissive-view.json
{
“subsetView”: {
“rowPrefixes”: [“”],
“familySubsets”: {
“
Describe the authorized view to get a family name
gcloud bigtable authorized-views describe
–instance=
</details>
이 권한을 획득한 후 [**Bigtable Post Exploitation section**](../gcp-post-exploitation/gcp-bigtable-post-exploitation.md)에서 authorized view에서 어떻게 읽는지 확인하세요.
### `bigtable.authorizedViews.setIamPolicy`
**권한:** `bigtable.authorizedViews.setIamPolicy`.
이 권한을 가진 공격자는 자신에게 Authorized View 접근 권한을 부여할 수 있으며, 해당 뷰에는 평소에는 접근할 수 없는 민감한 데이터가 포함되어 있을 수 있습니다.
<details><summary>authorized view에 대한 접근 권한을 자신에게 부여</summary>
```bash
# Give more permissions over an existing view
gcloud bigtable authorized-views add-iam-policy-binding <view-id> \
--instance=<instance-id> --table=<table-id> \
--member='user:<attacker@example.com>' \
--role='roles/bigtable.viewer'
이 권한 검사를 수행한 후에는 Bigtable Post Exploitation section에서 권한이 부여된 뷰에서 읽는 방법을 확인하세요.
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

