GCP - BigQuery Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Для отримання додаткової інформації про BigQuery перегляньте:
GCP - Bigquery EnumЧитання інформації, що зберігається в таблиці BigQuery, може дозволити знайти чутливу інформацію. Для доступу до інформації потрібні дозволи bigquery.tables.get
, bigquery.jobs.create
та bigquery.tables.getData
:
Це ще один спосіб доступу до даних. Експортуйте їх у хмарне сховище і завантажте файли з інформацією.
Для виконання цієї дії потрібні наступні дозволи: bigquery.tables.export
, bigquery.jobs.create
та storage.objects.create
.
Можливо, що ввести певні довірені дані в таблицю Bigquery, щоб зловживати вразливістю в іншому місці. Це можна легко зробити з правами bigquery.tables.get
, bigquery.tables.updateData
та bigquery.jobs.create
:
bigquery.datasets.setIamPolicy
Зловмисник може зловживати цим правом, щоб надати собі додаткові дозволи на набір даних BigQuery:
bigquery.datasets.update
, (bigquery.datasets.get
)Ця дозволяє оновити ваш доступ до набору даних BigQuery, змінюючи ACL, які вказують, хто може отримати доступ до нього:
bigquery.tables.setIamPolicy
Зловмисник може зловживати цим правом, щоб надати собі додаткові дозволи на таблицю BigQuery:
bigquery.rowAccessPolicies.update
, bigquery.rowAccessPolicies.setIamPolicy
, bigquery.tables.getData
, bigquery.jobs.create
Згідно з документацією, з вказаними дозволами можливо оновити політику рядка.
Однак, використовуючи cli bq
вам потрібно ще дещо: bigquery.rowAccessPolicies.create
, bigquery.tables.get
.
Можливо знайти ID фільтра у виході перерахунку політик рядків. Приклад:
Якщо у вас є bigquery.rowAccessPolicies.delete
замість bigquery.rowAccessPolicies.update
, ви також можете просто видалити політику:
Ще один потенційний варіант обійти політики доступу до рядків полягає в тому, щоб просто змінити значення обмежених даних. Якщо ви можете бачити лише тоді, коли term
є Cfba
, просто змініть всі записи таблиці, щоб мати term = "Cfba"
. Однак це заважає bigquery.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)