Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team του HackTricks στο AWS)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας διαφημισμένη στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια στο GitHub.
Σύμφωνα με την ομιλία Attack Vectors for APIs Using AWS API Gateway Lambda Authorizers - Alexandre & Leonardo, οι Lambda Authorizers μπορούν να ρυθμιστούν χρησιμοποιώντας τη σύνταξη IAM για να δώσουν δικαιώματα για την κλήση των σημείων άκρης του API. Αυτό προέρχεται από τα έγγραφα:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Permission",
"Action": [
"execute-api:Execution-operation"
],
"Resource": [
"arn:aws:execute-api:region:account-id:api-id/stage/METHOD_HTTP_VERB/Resource-path"
]
}
]
}
Το πρόβλημα με αυτόν τον τρόπο να δίνονται δικαιώματα για την εκκίνηση των σημείων πρόσβασης είναι ότι το "*" υπονοεί "οτιδήποτε" και δεν υποστηρίζεται πλέον σύνταξη regex.
Μερικά παραδείγματα:
- Ένας κανόνας όπως
arn:aws:execute-apis:sa-east-1:accid:api-id/prod/*/dashboard/*
για να δώσει σε κάθε χρήστη πρόσβαση στο/dashboard/user/{username}
θα τους δώσει πρόσβαση και σε άλλα μονοπάτια όπως/admin/dashboard/createAdmin
για παράδειγμα.
{% hint style="warning" %}
Σημειώστε ότι το "*" δεν σταματάει να επεκτείνεται με κάθε κάθετο, επομένως, αν χρησιμοποιήσετε το "*" για παράδειγμα στο api-id, μπορεί επίσης να υποδεικνύει "οποιοδήποτε στάδιο" ή "οποιαδήποτε μέθοδο" όσο η τελική regex παραμένει έγκυρη.
Έτσι, arn:aws:execute-apis:sa-east-1:accid:*/prod/GET/dashboard/*
Μπορεί να επικυρώσει μια αίτηση post στο στάδιο δοκιμής στο μονοπάτι /prod/GET/dashboard/admin
για παράδειγμα.
{% endhint %}
Πρέπει πάντα να έχετε σαφώς τι θέλετε να επιτρέψετε στην πρόσβαση και στη συνέχεια να ελέγξετε αν είναι δυνατά και άλλα σενάρια με τα δικαιώματα που έχουν χορηγηθεί.
Για περισσότερες πληροφορίες, εκτός από τα έγγραφα, μπορείτε να βρείτε κώδικα για την υλοποίηση των εξουσιοδοτητών στο επίσημο αποθετήριο aws στο github.
Στην ίδια ομιλία αποκαλύπτεται το γεγονός ότι αν ο κώδικας χρησιμοποιεί είσοδο χρήστη για να δημιουργήσει τις πολιτικές IAM, μπορούν να συμπεριληφθούν χαρακτήρες μπαλαντέρ (και άλλοι όπως "." ή συγκεκριμένες συμβολοσειρές) με σκοπό την αποφυγή περιορισμών.
https://{random_id}.execute-api.{region}.amazonaws.com/{user_provided}
Όπως και με τα S3 buckets, τα Data Exchange και τα Lambda URLs gateways, είναι δυνατόν να βρεθεί το αναγνωριστικό λογαριασμού ενός λογαριασμού καταχρώντας το aws:ResourceAccount
Policy Condition Key από ένα δημόσιο URL API Gateway. Αυτό επιτυγχάνεται βρίσκοντας το αναγνωριστικό λογαριασμού χαρακτήρα-χαρακτήρα καταχρώντας wildcards στο τμήμα aws:ResourceAccount
της πολιτικής.
Αυτή η τεχνική επίσης επιτρέπει την ανάκτηση τιμών ετικετών εάν γνωρίζετε το κλειδί της ετικέτας (υπάρχουν μερικές προεπιλεγμένες ενδιαφέρουσες).
Μπορείτε να βρείτε περισσότερες πληροφορίες στην αρχική έρευνα και στο εργαλείο conditional-love για την αυτοματοποίηση αυτής της εκμετάλλευσης.
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας διαφημισμένη στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα τηλεγράφου ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια στο GitHub.