GCP - Bigtable Privesc
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Bigtable
Pour plus dâinformations sur Bigtable, consultez :
bigtable.instances.setIamPolicy
Autorisations : bigtable.instances.setIamPolicy (et généralement bigtable.instances.getIamPolicy pour lire les bindings actuels).
PossĂ©der la politique IAM de lâinstance vous permet de vous attribuer roles/bigtable.admin (ou tout rĂŽle personnalisĂ©), ce qui se rĂ©percute sur chaque cluster, table, sauvegarde et vue autorisĂ©e de lâinstance.
S'attribuer le rĂŽle bigtable.admin sur l'instance
```bash gcloud bigtable instances add-iam-policy-bindingTip
Si vous ne pouvez pas lister les bindings existants, créez un nouveau document de policy et appliquez-le avec
gcloud bigtable instances set-iam-policy, en veillant Ă y conserver votre propre accĂšs.
AprĂšs avoir obtenu cette permission, consultez la Bigtable Post Exploitation section pour dâautres techniques dâabus des permissions Bigtable.
bigtable.tables.setIamPolicy
Permissions: bigtable.tables.setIamPolicy (optionally bigtable.tables.getIamPolicy).
Instance policies can be locked down while individual tables are delegated. If you can edit the table IAM you can promote yourself to owner of the target dataset without touching other workloads.
Attribuez-vous le rĂŽle bigtable.admin sur la table
```bash gcloud bigtable tables add-iam-policy-bindingAprĂšs avoir obtenu cette permission, consultez la Bigtable Post Exploitation section pour plus de techniques permettant dâabuser des permissions Bigtable.
bigtable.backups.setIamPolicy
Permissions: bigtable.backups.setIamPolicy
Les sauvegardes peuvent ĂȘtre restaurĂ©es sur nâimporte quelle instance dans nâimporte quel projet que vous contrĂŽlez. Dâabord, donnez Ă votre identitĂ© lâaccĂšs Ă la sauvegarde, puis restaurez-la dans un sandbox oĂč vous avez des rĂŽles Admin/Owner.
Si vous avez la permission bigtable.backups.setIamPolicy, vous pouvez vous accorder la permission bigtable.backups.restore pour restaurer dâanciennes sauvegardes et tenter dâaccĂ©der Ă des informations sensibles.
Prendre possession d'un instantané de sauvegarde
```bash # Take ownership of the snapshot gcloud bigtable backups add-iam-policy-bindingAprÚs avoir vérifié cette permission dans la Bigtable Post Exploitation section pour savoir comment restaurer une sauvegarde.
Mettre Ă jour Authorized View
Autorisations: bigtable.authorizedViews.update
Les Authorized Views sont censĂ©es masquer des lignes/colonnes. Les modifier ou les supprimer supprime les garde-fous granulaires sur lesquels sâappuient les dĂ©fenseurs.
Mettre à jour Authorized View pour élargir l'accÚs
```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>
AprĂšs avoir obtenu cette permission, consultez la [**Bigtable Post Exploitation section**](../gcp-post-exploitation/gcp-bigtable-post-exploitation.md) pour savoir comment lire depuis une Authorized View.
### `bigtable.authorizedViews.setIamPolicy`
**Permissions :** `bigtable.authorizedViews.setIamPolicy`.
Un attaquant disposant de cette permission peut s'octroyer l'accÚs à une Authorized View, qui peut contenir des données sensibles auxquelles il n'aurait pas autrement accÚs.
<details><summary>S'octroyer l'accĂšs Ă 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'
AprÚs avoir effectué cette vérification de permission, consultez la Bigtable Post Exploitation section pour savoir comment lire depuis une vue autorisée.
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

