AWS - Lambda Persistence
Last updated
Last updated
Για περισσότερες πληροφορίες, ελέγξτε:
Είναι δυνατόν να εισαγάγετε/παρασύρετε ένα επίπεδο για να εκτελέσετε αυθαίρετο κώδικα όταν η λειτουργία lambda εκτελείται με τρόπο που δεν εντοπίζεται εύκολα:
Χρησιμοποιώντας τα επίπεδα Lambda, είναι επίσης δυνατόν να καταχραστείτε επεκτάσεις και να διατηρήσετε τη λειτουργία lambda, αλλά και να κλέψετε και να τροποποιήσετε αιτήσεις.
Είναι δυνατόν να χορηγηθεί πρόσβαση σε διάφορες ενέργειες λειτουργίας lambda (όπως κλήση ή ενημέρωση κώδικα) σε εξωτερικούς λογαριασμούς:
Μια λειτουργία Lambda μπορεί να έχει διάφορες εκδόσεις (με διαφορετικό κώδικα για κάθε έκδοση). Στη συνέχεια, μπορείτε να δημιουργήσετε διάφορα ψευδώνυμα με διάφορες εκδόσεις της λειτουργίας lambda και να ορίσετε διάφορα βάρη για κάθε έκδοση. Με αυτόν τον τρόπο, ένας επιτιθέμενος μπορεί να δημιουργήσει μια έκδοση 1 με παρασύροντα κώδικα και μια έκδοση 2 με μόνο τον νόμιμο κώδικα και να εκτελεί μόνο την έκδοση 1 στο 1% των αιτημάτων για να παραμείνει αόρατος.
Αντιγράψτε τον αρχικό κώδικα της Lambda
Δημιουργήστε μια νέα παρασύροντα έκδοση του αρχικού κώδικα (ή απλά με κακόβουλο κώδικα). Δημοσιεύστε και αναπτύξτε αυτήν την έκδοση στο $LATEST
Καλέστε το API gateway που σχετίζεται με τη λειτουργία lambda για να εκτελέσετε τον κώδικα
Δημιουργήστε μια νέα έκδοση με τον αρχικό κώδικα, Δημοσιεύστε και αναπτύξτε αυτήν την έκδοση στο $LATEST.
Αυτό θα κρύψει τον παρασύροντα κώδικα σε μια προηγούμενη έκδοση
Πηγαίνετε στο API Gateway και δημιουργήστε μια νέα μέθοδο POST (ή επιλέξτε οποιαδήποτε άλλη μέθοδο) που θα εκτελεί την παρασύροντα έκδοση της λειτουργίας lambda: arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1
Σημειώστε το τελικό :1 του arn που υποδηλώνει την έκδοση της λειτουργίας (η έκδοση 1 θα είναι η παρασύροντα σενάριο).
Επιλέξτε τη δημιουργημένη μέθοδο POST και στις Ενέργειες επιλέξτε Αναπτύξτε το API
Τώρα, όταν καλεί