GCP - Bigtable Privesc
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Bigtable
Детальніше про Bigtable дивіться:
bigtable.instances.setIamPolicy
Дозволи: bigtable.instances.setIamPolicy (зазвичай також bigtable.instances.getIamPolicy щоб прочитати поточні прив’язки).
Володіння політикою IAM інстансу дозволяє надати собі роль roles/bigtable.admin (або будь-яку кастомну роль), яка поширюється на кожен кластер, таблицю, резервну копію і авторизований перегляд в інстансі.
Надати собі роль bigtable.admin на інстансі
```bash gcloud bigtable instances add-iam-policy-bindingTip
Якщо ви не можете перерахувати існуючі bindings, сформуйте новий документ політики і застосуйте його за допомогою
gcloud bigtable instances set-iam-policy, переконавшись, що в ньому збережено ваш доступ.
Після отримання цього дозволу перегляньте техніки в розділі Bigtable Post Exploitation section для додаткових способів зловживання дозволами Bigtable.
bigtable.tables.setIamPolicy
Дозволи: bigtable.tables.setIamPolicy (опціонально bigtable.tables.getIamPolicy).
Політики інстансу можуть бути жорстко налаштовані, одночасно делегуючи окремі таблиці. Якщо ви можете редагувати IAM таблиці, ви можете підвищити себе до власника цільового набору даних без втручання в інші робочі навантаження.
Надайте собі роль bigtable.admin для таблиці
```bash gcloud bigtable tables add-iam-policy-bindingПісля отримання цього дозволу перегляньте розділ Bigtable Post Exploitation section для технік, що показують інші способи зловживання дозволами Bigtable.
bigtable.backups.setIamPolicy
Дозволи: bigtable.backups.setIamPolicy
Резервні копії можна відновити на будь-який instance у будь-якому проєкті, яким ви керуєте. Спочатку надайте вашій ідентичності доступ до резервної копії, після цього відновіть її в sandbox, де у вас є ролі Admin/Owner.
Якщо у вас є дозвіл bigtable.backups.setIamPolicy, ви можете надати собі дозвіл bigtable.backups.restore, щоб відновити старі резервні копії та спробувати отримати доступ до чутливої інформації.
Отримання власності над резервною копією (snapshot)
```bash # Take ownership of the snapshot gcloud bigtable backups add-iam-policy-bindingПісля отримання цього дозволу перегляньте Bigtable Post Exploitation section, щоб дізнатися, як відновити резервну копію.
Оновлення 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) як читати з авторизованого подання.
### `bigtable.authorizedViews.setIamPolicy`
**Дозволи:** `bigtable.authorizedViews.setIamPolicy`.
Зловмисник з цим дозволом може надати собі доступ до авторизованого подання, яке може містити чутливі дані, до яких у нього інакше не було б доступу.
<details><summary>Надайте собі доступ до авторизованого подання</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 Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
HackTricks Cloud

