AWS - STS Privesc

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

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

STS

sts:AssumeRole

Κάθε ρόλος δημιουργείται με μια πολιτική εμπιστοσύνης ρόλου, αυτή η πολιτική υποδεικνύει ποιος μπορεί να αναλάβει τον δημιουργημένο ρόλο. Αν ένας ρόλος από το ίδιο λογαριασμό λέει ότι ένας λογαριασμός μπορεί να τον αναλάβει, αυτό σημαίνει ότι ο λογαριασμός θα μπορεί να έχει πρόσβαση στον ρόλο (και πιθανώς να αναλάβει προνόμια).

Για παράδειγμα, η παρακάτω πολιτική εμπιστοσύνης ρόλου υποδεικνύει ότι οποιοσδήποτε μπορεί να τον αναλάβει, επομένως οποιοσδήποτε χρήστης θα μπορεί να αναλάβει προνόμια που σχετίζονται με αυτόν τον ρόλο.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "sts:AssumeRole"
}
]
}

Μπορείτε να προσωποποιήσετε έναν ρόλο εκτελώντας:

aws sts assume-role --role-arn $ROLE_ARN --role-session-name sessionname

Πιθανές Επιπτώσεις: Ανέβασμα δικαιωμάτων στον ρόλο.

Σημειώστε ότι σε αυτήν την περίπτωση η άδεια sts:AssumeRole πρέπει να δηλωθεί στον ρόλο προς κατάχρηση και όχι σε μια πολιτική που ανήκει στον επιτιθέμενο. Με μία εξαίρεση, για να προσομοιώσει έναν ρόλο από ένα διαφορετικό λογαριασμό ο λογαριασμός του επιτιθέμενου πρέπει επίσης να έχει το sts:AssumeRole πάνω στον ρόλο.

sts:AssumeRoleWithSAML

Μια πολιτική εμπιστοσύνης με αυτόν τον ρόλο παρέχει στους χρήστες που έχουν πιστοποιηθεί μέσω SAML πρόσβαση για να προσομοιώσουν τον ρόλο.

Ένα παράδειγμα μιας πολιτικής εμπιστοσύνης με αυτήν την άδεια είναι:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "OneLogin",
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::290594632123:saml-provider/OneLogin"
},
"Action": "sts:AssumeRoleWithSAML",
"Condition": {
"StringEquals": {
"SAML:aud": "https://signin.aws.amazon.com/saml"
}
}
}
]
}

Για να δημιουργήσετε διαπιστευτήρια για να προσομοιώσετε τον ρόλο γενικά, μπορείτε να χρησιμοποιήσετε κάτι παρόμοιο:

aws sts  assume-role-with-saml --role-arn <value> --principal-arn <value>

Ωστόσο, οι πάροχοι μπορεί να έχουν τα δικά τους εργαλεία για να διευκολύνουν αυτή τη διαδικασία, όπως το onelogin-aws-assume-role:

onelogin-aws-assume-role --onelogin-subdomain mettle --onelogin-app-id 283740 --aws-region eu-west-1 -z 3600

Πιθανές Επιπτώσεις: Ανέβασμα δικαιωμάτων στον ρόλο.

sts:AssumeRoleWithWebIdentity

Αυτή η άδεια επιτρέπει την απόκτηση ενός συνόλου προσωρινών διαπιστευτηρίων ασφαλείας για χρήστες που έχουν ταυτοποιηθεί σε μια κινητή εφαρμογή, ιστοσελίδα, EKS... με έναν πάροχο ταυτότητας ιστού. Μάθετε περισσότερα εδώ.

Για παράδειγμα, αν ένας λογαριασμός υπηρεσίας EKS θα πρέπει να προσωποποιήσει έναν ρόλο IAM, θα έχει ένα διακριτικό στο /var/run/secrets/eks.amazonaws.com/serviceaccount/token και μπορεί να προσωρινά αναλάβει τον ρόλο και να λάβει διαπιστευτήρια κάνοντας κάτι παρόμοιο:

aws sts assume-role-with-web-identity --role-arn arn:aws:iam::123456789098:role/<role_name> --role-session-name something --web-identity-token file:///var/run/secrets/eks.amazonaws.com/serviceaccount/token
# The role name can be found in the metadata of the configuration of the pod

Κατάχρηση Ένωσης

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

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

Last updated