AWS - STS Enum

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

Άλλοι τρόποι υποστήριξης του HackTricks:

STS

Η Υπηρεσία Κατάστασης Καταχώρησης Ασφάλειας του AWS (STS) είναι κυρίως σχεδιασμένη για την έκδοση προσωρινών, περιορισμένων δικαιωμάτων. Αυτά τα διαπιστευτήρια μπορούν να ζητηθούν για χρήστες Διαχείρισης Ταυτότητας και Πρόσβασης (IAM) ή για πιστοποιημένους χρήστες (εξωτερικούς χρήστες).

Δεδομένου ότι ο σκοπός του STS είναι να εκδίδει διαπιστευτήρια για την υποκλοπή ταυτότητας, η υπηρεσία είναι απίστευτα χρήσιμη για ανάδειξη προνομίων και διατήρηση επιμονής, ακόμη κι αν δεν έχει μια ευρεία γκάμα επιλογών.

Υποκλοπή Ρόλου Υποκλοπής

Η ενέργεια AssumeRole που παρέχεται από το AWS STS είναι κρίσιμη καθώς επιτρέπει σε έναν αρχέτυπο να αποκτήσει διαπιστευτήρια για έναν άλλο αρχέτυπο, ουσιαστικά υποκλοπή του. Κατά την εκκίνηση, απαντά με ένα αναγνωριστικό κλειδιού πρόσβασης, ένα μυστικό κλειδί και ένα διακριτικό συνεδρίας που αντιστοιχούν στο συγκεκριμένο ARN.

Για Ελεγκτές Διείσδυσης ή μέλη Ερυθράς Ομάδας, αυτή η τεχνική είναι ουσιώδης για την ανάδειξη προνομίων (όπως αναλύεται εδώ). Ωστόσο, αξίζει να σημειωθεί ότι αυτή η τεχνική είναι αρκετά εμφανής και ενδέχεται να μην εκπλήξει έναν εισβολέα.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<acc_id>:role/priv-role"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}

Ο ρόλος priv-role σε αυτήν την περίπτωση, δεν χρειάζεται να επιτραπεί ειδικά να υιοθετήσει αυτόν τον ρόλο (η άδεια αυτή είναι αρκετή).

Ωστόσο, αν ένας ρόλος επιτρέπει σε ένα λογαριασμό να τον υιοθετήσει, όπως στο:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<acc_id>:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}

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

Εάν προσπαθήσετε να υιοθετήσετε ένα ρόλο από διαφορετικό λογαριασμό, ο υιοθετημένος ρόλος πρέπει να το επιτρέπει (δηλώνοντας το ARN του ρόλου ή τον εξωτερικό λογαριασμό), και ο ρόλος που προσπαθεί να υιοθετήσει τον άλλο ΠΡΕΠΕΙ να έχει άδειες για να τον υιοθετήσει (σε αυτήν την περίπτωση αυτό δεν είναι προαιρετικό ακόμα κι αν ο υιοθετημένος ρόλος καθορίζει ένα ARN).

Απαρίθμηση

# Get basic info of the creds
aws sts get-caller-identity
aws sts get-access-key-info --access-key-id <AccessKeyID>

# Get CLI a session token with current creds
## Using CLI creds
## You cannot get session creds using session creds
aws sts get-session-token
## MFA
aws sts get-session-token --serial-number <arn_device> --token-code <otp_code>

Ανύψωση Δικαιωμάτων

Στην παρακάτω σελίδα μπορείτε να ελέγξετε πώς να καταχραστείτε τα δικαιώματα STS για ανύψωση δικαιωμάτων:

AWS - STS Privesc

Μετά την Εκμετάλλευση

AWS - STS Post Exploitation

Διατήρηση

AWS - STS Persistence

Αναφορές

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

Άλλοι τρόποι υποστήριξης του HackTricks:

Last updated