AWS - KMS Persistence

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

KMS

Για περισσότερες πληροφορίες δείτε:

AWS - KMS Enum

Grant πρόσβαση μέσω KMS policies

Ένας επιτιθέμενος θα μπορούσε να χρησιμοποιήσει την άδεια kms:PutKeyPolicy για να δώσει πρόσβαση σε ένα key σε έναν χρήστη υπό τον έλεγχό του ή ακόμα και σε έναν εξωτερικό λογαριασμό. Δείτε τη KMS Privesc page για περισσότερες πληροφορίες.

Eternal Grant

Grants είναι ένας άλλος τρόπος να δοθούν σε έναν principal κάποια permissions πάνω σε ένα συγκεκριμένο key. Είναι δυνατόν να δοθεί ένα grant που επιτρέπει σε έναν χρήστη να δημιουργεί grants. Επιπλέον, ένας χρήστης μπορεί να έχει πολλαπλά grant (ακόμα και πανομοιότυπα) για το ίδιο key.

Επομένως, είναι δυνατόν ένας χρήστης να έχει 10 grants με όλα τα permissions. Ο επιτιθέμενος πρέπει να παρακολουθεί αυτό συνεχώς. Και εάν σε κάποιο σημείο αφαιρεθεί 1 grant, τότε θα πρέπει να δημιουργηθούν άλλα 10.

(Χρησιμοποιούμε το 10 και όχι το 2 για να μπορούμε να ανιχνεύσουμε ότι αφαιρέθηκε ένα grant ενώ ο χρήστης εξακολουθεί να έχει κάποιο grant)

# To generate grants, generate 10 like this one
aws kms create-grant \
--key-id <key-id> \
--grantee-principal <user_arn> \
--operations "CreateGrant" "Decrypt"

# To monitor grants
aws kms list-grants --key-id <key-id>

Note

Ένα grant μπορεί να δώσει δικαιώματα μόνο από αυτό: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks