GCP - BigQuery Privesc
BigQuery
Aby uzyskać więcej informacji na temat BigQuery, sprawdź:
pageGCP - Bigquery EnumOdczyt tabeli
Odczytanie informacji przechowywanych w tabeli BigQuery może umożliwić znalezienie wrażliwych informacji. Aby uzyskać dostęp do tych informacji, wymagane są uprawnienia bigquery.tables.get
, bigquery.jobs.create
i bigquery.tables.getData
:
Eksport danych
To jest kolejny sposób na dostęp do danych. Eksportuj je do kubełka w chmurze i pobierz pliki z informacjami.
Aby wykonać tę czynność, wymagane są następujące uprawnienia: bigquery.tables.export
, bigquery.jobs.create
i storage.objects.create
.
Wstawianie danych
Możliwe jest wprowadzenie pewnych zaufanych danych do tabeli Bigquery w celu wykorzystania luki w innym miejscu. Można to łatwo zrobić za pomocą uprawnień bigquery.tables.get
, bigquery.tables.updateData
i bigquery.jobs.create
:
bigquery.datasets.setIamPolicy
bigquery.datasets.setIamPolicy
Atakujący mógłby wykorzystać to uprawnienie, aby przyznać sobie dalsze uprawnienia do zbioru danych BigQuery:
bigquery.datasets.update
, (bigquery.datasets.get
)
bigquery.datasets.update
, (bigquery.datasets.get
)Tylko ta uprawnienie pozwala aktualizować dostęp do zbioru BigQuery, modyfikując listy kontroli dostępu (ACL), które określają, kto może uzyskać do niego dostęp:
bigquery.tables.setIamPolicy
bigquery.tables.setIamPolicy
Atakujący mógłby wykorzystać to uprawnienie do nadania sobie dalszych uprawnień do tabeli 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
Zgodnie z dokumentacją, przy wymienionych uprawnieniach możliwe jest aktualizowanie polityki wiersza.
Jednakże, przy użyciu polecenia bq
wiersza polecamy dodatkowe uprawnienia: bigquery.rowAccessPolicies.create
, bigquery.tables.get
.
Możliwe jest znalezienie identyfikatora filtru w wyniku wyliczenia polityk wiersza. Przykład:
Last updated