GCP - BigQuery Privesc
BigQuery
Для отримання додаткової інформації про BigQuery перегляньте:
pageGCP - 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.datasets.setIamPolicy
Зловмисник може скористатися цим дозволом, щоб надати собі додаткові дозволи для набору даних BigQuery:
bigquery.datasets.update
, (bigquery.datasets.get
)
bigquery.datasets.update
, (bigquery.datasets.get
)Лише це дозвіл дозволяє оновлювати ваш доступ до набору даних BigQuery, змінюючи списки керування доступом (ACL), які вказують, хто може отримати до нього доступ:
bigquery.tables.setIamPolicy
bigquery.tables.setIamPolicy
Зловмисник може скористатися цими привілеями, щоб надати собі додаткові дозволи для таблиці BigQuery:
bigquery.rowAccessPolicies.update
, bigquery.rowAccessPolicies.setIamPolicy
, bigquery.tables.getData
, bigquery.jobs.create
bigquery.rowAccessPolicies.update
, bigquery.rowAccessPolicies.setIamPolicy
, bigquery.tables.getData
, bigquery.jobs.create
Згідно з документацією, з вказаними дозволами можливо оновлювати політику рядка.
Проте, використовуючи інтерфейс командного рядка bq
вам знадобиться ще: bigquery.rowAccessPolicies.create
, bigquery.tables.get
.
Можливо знайти ідентифікатор фільтра в виводі переліку політик рядка. Приклад:
Last updated