AWS - Redshift Privesc
Last updated
Last updated
Για περισσότερες πληροφορίες σχετικά με το RDS, ελέγξτε:
redshift:DescribeClusters
, redshift:GetClusterCredentials
Με αυτές τις άδειες μπορείτε να πάρετε πληροφορίες για όλα τα clusters (συμπεριλαμβανομένου του ονόματος και του ονόματος χρήστη του cluster) και να πάρετε διαπιστευτήρια για να αποκτήσετε πρόσβαση σε αυτό:
Πιθανές Επιπτώσεις: Βρείτε ευαίσθητες πληροφορίες μέσα στις βάσεις δεδομένων.
redshift:DescribeClusters
, redshift:GetClusterCredentialsWithIAM
Με αυτές τις άδειες μπορείτε να πάρετε πληροφορίες για όλα τα clusters και να πάρετε διαπιστευτήρια για πρόσβαση σε αυτά. Σημειώστε ότι ο χρήστης postgres θα έχει τις άδειες που έχει η ταυτότητα IAM που χρησιμοποιήθηκε για να πάρει τα διαπιστευτήρια.
Πιθανές Επιπτώσεις: Εύρεση ευαίσθητων πληροφοριών μέσα στις βάσεις δεδομένων.
redshift:DescribeClusters
, redshift:ModifyCluster?
Είναι δυνατόν να τροποποιηθεί ο κύριος κωδικός πρόσβασης του εσωτερικού χρήστη postgres (redshift) μέσω του aws cli (Νομίζω ότι αυτές είναι οι απαιτούμενες άδειες, αλλά δεν τις έχω δοκιμάσει ακόμα):
Πιθανές Επιπτώσεις: Βρείτε ευαίσθητες πληροφορίες μέσα στις βάσεις δεδομένων.
Για να έχετε πρόσβαση σε όλους τους παρακάτω πόρους, θα πρέπει να καθορίσετε τον ρόλο που θα χρησιμοποιηθεί. Ένα cluster Redshift μπορεί να έχει ανατεθεί μια λίστα από ρόλους AWS που μπορείτε να χρησιμοποιήσετε αν γνωρίζετε το ARN ή μπορείτε απλά να ορίσετε "default" για να χρησιμοποιήσετε τον προεπιλεγμένο.
Επιπλέον, όπως εξηγείται εδώ, το Redshift επιτρέπει επίσης τη συνένωση ρόλων (εφόσον ο πρώτος μπορεί να υποθέσει τον δεύτερο) για να αποκτήσετε περαιτέρω πρόσβαση, αλλά απλά διαχωρίζοντάς τους με μια κόμμα: iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';
Όπως εξηγείται στο https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_FUNCTION.html, είναι δυνατόν να καλέσετε μια συνάρτηση lambda από το redshift με κάτι παρόμοιο:
Όπως εξηγείται στο https://docs.aws.amazon.com/redshift/latest/dg/tutorial-loading-run-copy.html, είναι δυνατόν να διαβάσετε και να γράψετε σε S3 buckets:
Όπως εξηγείται στο https://docs.aws.amazon.com/redshift/latest/dg/t_Loading-data-from-dynamodb.html, είναι δυνατόν να ανακτήσετε δεδομένα από το dynamodb:
Ο πίνακας του Amazon DynamoDB που παρέχει τα δεδομένα πρέπει να έχει δημιουργηθεί στην ίδια περιοχή AWS με το cluster σας, εκτός αν χρησιμοποιείτε την επιλογή REGION για να καθορίσετε την περιοχή AWS στην οποία βρίσκεται ο πίνακας του Amazon DynamoDB.
Ελέγξτε https://docs.aws.amazon.com/redshift/latest/dg/loading-data-from-emr.html