GCP - BigQuery Privesc
BigQuery
Για περισσότερες πληροφορίες σχετικά με το BigQuery, ελέγξτε:
GCP - Bigquery EnumΑνάγνωση Πίνακα
Διαβάζοντας τις πληροφορίες που αποθηκεύονται μέσα σε έναν πίνακα BigQuery, είναι πιθανό να βρεθούν ευαίσθητες πληροφορίες. Για να έχετε πρόσβαση στις πληροφορίες, απαιτούνται οι άδειες bigquery.tables.get
, bigquery.jobs.create
και bigquery.tables.getData
:
Εξαγωγή δεδομένων
Αυτός είναι ένας άλλος τρόπος για να έχετε πρόσβαση στα δεδομένα. Εξαγάγετε τα σε έναν κάδο αποθήκευσης στο cloud και στη συνέχεια κατεβάστε τα αρχεία με τις πληροφορίες.
Για να εκτελέσετε αυτήν την ενέργεια απαιτούνται οι εξής άδειες: 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 με τροποποίηση των ACLs που υποδεικνύουν ποιος μπορεί να έχει πρόσβαση σε αυτό:
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
.
Είναι δυνατόν να βρεθεί το ID του φίλτρου στην έξοδο της απαρίθμησης των πολιτικών γραμμής. Παράδειγμα:
Last updated