AWS - Lambda Persistence

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

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

Lambda

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

pageAWS - Lambda Enum

Μόνιμη Αντοχή Επιπέδου Lambda

Είναι δυνατόν να εισαγάγετε/παρασύρετε ένα επίπεδο για να εκτελέσετε αυθαίρετο κώδικα όταν η λειτουργία lambda εκτελείται με τρόπο που δεν εντοπίζεται εύκολα:

pageAWS - Lambda Layers Persistence

Μόνιμη Αντοχή Επέκτασης Lambda

Χρησιμοποιώντας τα επίπεδα Lambda, είναι επίσης δυνατόν να καταχραστείτε επεκτάσεις και να διατηρήσετε τη λειτουργία lambda, αλλά και να κλέψετε και να τροποποιήσετε αιτήσεις.

pageAWS - Abusing Lambda Extensions

Μέσω πολιτικών πόρων

Είναι δυνατόν να χορηγηθεί πρόσβαση σε διάφορες ενέργειες λειτουργίας lambda (όπως κλήση ή ενημέρωση κώδικα) σε εξωτερικούς λογαριασμούς:

Εκδόσεις, Ψευδώνυμα & Βάρη

Μια λειτουργία Lambda μπορεί να έχει διάφορες εκδόσεις (με διαφορετικό κώδικα για κάθε έκδοση). Στη συνέχεια, μπορείτε να δημιουργήσετε διάφορα ψευδώνυμα με διάφορες εκδόσεις της λειτουργίας lambda και να ορίσετε διάφορα βάρη για κάθε έκδοση. Με αυτόν τον τρόπο, ένας επιτιθέμενος μπορεί να δημιουργήσει μια έκδοση 1 με παρασύροντα κώδικα και μια έκδοση 2 με μόνο τον νόμιμο κώδικα και να εκτελεί μόνο την έκδοση 1 στο 1% των αιτημάτων για να παραμείνει αόρατος.

Παρασύροντας Έκδοση + API Gateway

  1. Αντιγράψτε τον αρχικό κώδικα της Lambda

  2. Δημιουργήστε μια νέα παρασύροντα έκδοση του αρχικού κώδικα (ή απλά με κακόβουλο κώδικα). Δημοσιεύστε και αναπτύξτε αυτήν την έκδοση στο $LATEST

  3. Καλέστε το API gateway που σχετίζεται με τη λειτουργία lambda για να εκτελέσετε τον κώδικα

  4. Δημιουργήστε μια νέα έκδοση με τον αρχικό κώδικα, Δημοσιεύστε και αναπτύξτε αυτήν την έκδοση στο $LATEST.

  5. Αυτό θα κρύψει τον παρασύροντα κώδικα σε μια προηγούμενη έκδοση

  6. Πηγαίνετε στο API Gateway και δημιουργήστε μια νέα μέθοδο POST (ή επιλέξτε οποιαδήποτε άλλη μέθοδο) που θα εκτελεί την παρασύροντα έκδοση της λειτουργίας lambda: arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1

  7. Σημειώστε το τελικό :1 του arn που υποδηλώνει την έκδοση της λειτουργίας (η έκδοση 1 θα είναι η παρασύροντα σενάριο).

  8. Επιλέξτε τη δημιουργημένη μέθοδο POST και στις Ενέργειες επιλέξτε Αναπτύξτε το API

  9. Τώρα, όταν καλεί

Last updated