AWS - DynamoDB Post Exploitation
DynamoDB
Για περισσότερες πληροφορίες, ελέγξτε:
AWS - DynamoDB Enumdynamodb:BatchGetItem
dynamodb:BatchGetItem
Ένας επιτιθέμενος με αυτές τις άδειες θα μπορεί να πάρει στοιχεία από πίνακες με βάση τον πρωτεύον κλειδί (δεν μπορείτε απλά να ζητήσετε όλα τα δεδομένα του πίνακα). Αυτό σημαίνει ότι πρέπει να γνωρίζετε τα πρωτεύοντα κλειδιά (μπορείτε να τα πάρετε αυτά παίρνοντας τα μεταδεδομένα του πίνακα (describe-table
).
Πιθανές Επιπτώσεις: Έμμεση αύξηση προνομίων με τον εντοπισμό ευαίσθητων πληροφοριών στον πίνακα
dynamodb:GetItem
dynamodb:GetItem
Όμοια με τα προηγούμενα δικαιώματα, αυτό επιτρέπει σε έναν πιθανό επιτιθέμενο να διαβάσει τιμές από έναν μόνο πίνακα δεδομένων, δίνοντας τον πρωτεύον κλειδί της καταχώρησης που θέλει να ανακτήσει:
Με αυτήν την άδεια είναι επίσης δυνατή η χρήση της μεθόδου transact-get-items
όπως:
Πιθανές Επιπτώσεις: Έμμεση αύξηση προνομιακών δικαιωμάτων με τον εντοπισμό ευαίσθητων πληροφοριών στον πίνακα
dynamodb:Query
dynamodb:Query
Παρόμοια με τα προηγούμενα δικαιώματα, αυτό επιτρέπει σε έναν πιθανό επιτιθέμενο να διαβάσει τιμές από μόνο έναν πίνακα, δεδομένου του πρωτεύοντος κλειδιού της καταχώρησης που θέλει να ανακτήσει. Επιτρέπει τη χρήση ενός υποσυνόλου συγκρίσεων, αλλά η μόνη επιτρεπτή σύγκριση με το πρωτεύον κλειδί (που πρέπει να υπάρχει) είναι "EQ", οπότε δεν μπορείτε να χρησιμοποιήσετε μια σύγκριση για να ανακτήσετε ολόκληρη τη βάση δεδομένων σε μία αίτηση.
Πιθανές Επιπτώσεις: Έμμεση αύξηση προνομιακών δικαιωμάτων με τον εντοπισμό ευαίσθητων πληροφοριών στον πίνακα
dynamodb:Scan
dynamodb:Scan
Μπορείτε να χρησιμοποιήσετε αυτήν την άδεια για να αντιγράψετε εύκολα ολόκληρο τον πίνακα.
Πιθανές Επιπτώσεις: Έμμεση αύξηση προνομιακών δικαιωμάτων με τον εντοπισμό ευαίσθητων πληροφοριών στον πίνακα
dynamodb:PartiQLSelect
dynamodb:PartiQLSelect
Μπορείτε να χρησιμοποιήσετε αυτήν την άδεια για να αντιγράψετε εύκολα ολόκληρο τον πίνακα.
Αυτή η άδεια επιτρέπει επίσης την εκτέλεση batch-execute-statement
όπως:
αλλά πρέπει να καθορίσετε τον πρωτεύον κλειδί με μια τιμή, οπότε δεν είναι τόσο χρήσιμο.
Πιθανές Επιπτώσεις: Έμμεση αύξηση προνομιακών δικαιωμάτων με τον εντοπισμό ευαίσθητων πληροφοριών στον πίνακα
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
Αυτή η άδεια θα επιτρέψει σε έναν επιτιθέμενο να εξάγει ολόκληρο τον πίνακα σε ένα S3 bucket της επιλογής του:
Σημείωση ότι για να λειτουργήσει αυτό, ο πίνακας πρέπει να έχει ενεργοποιημένη την ανάκτηση σε συγκεκριμένο χρονικό σημείο. Μπορείτε να ελέγξετε αν ο πίνακας το έχει με την εντολή:
Εάν δεν είναι ενεργοποιημένο, θα χρειαστεί να το ενεργοποιήσετε και για αυτό χρειάζεστε την άδεια dynamodb:ExportTableToPointInTime
:
Πιθανές Επιπτώσεις: Έμμεση αύξηση προνομιακών δικαιωμάτων με τον εντοπισμό ευαίσθητων πληροφοριών στον πίνακα
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup)
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup)
Με αυτές τις άδειες, ένας επιτιθέμενος θα μπορούσε να δημιουργήσει έναν νέο πίνακα από ένα αντίγραφο ασφαλείας (ή ακόμα και να δημιουργήσει ένα αντίγραφο ασφαλείας για να το ανακτήσει σε έναν διαφορετικό πίνακα). Στη συνέχεια, με τις απαραίτητες άδειες, θα μπορούσε να ελέγξει πληροφορίες από τα αντίγραφα ασφαλείας που δεν θα μπορούσαν να υπάρχουν πλέον στον παραγωγικό πίνακα.
Πιθανές Επιπτώσεις: Έμμεση αύξηση προνομιακών δικαιωμάτων με τον εντοπισμό ευαίσθητων πληροφοριών στο αντίγραφο ασφαλείας του πίνακα
dynamodb:PutItem
dynamodb:PutItem
Αυτή η άδεια επιτρέπει στους χρήστες να προσθέτουν ένα νέο στοιχείο στον πίνακα ή να αντικαθιστούν ένα υπάρχον στοιχείο με ένα νέο στοιχείο. Εάν υπάρχει ήδη ένα στοιχείο με τον ίδιο πρωτεύον κλειδί, το σύνολο του στοιχείου θα αντικατασταθεί με το νέο στοιχείο. Εάν το πρωτεύον κλειδί δεν υπάρχει, θα δημιουργηθεί ένα νέο στοιχείο με το καθορισμένο πρωτεύον κλειδί.
Πιθανές Επιπτώσεις: Εκμετάλλευση περαιτέρω ευπαθειών/παρακαμπτήριων μέσω της δυνατότητας προσθήκης/τροποποίησης δεδομένων σε έναν πίνακα DynamoDB
dynamodb:UpdateItem
dynamodb:UpdateItem
Αυτή η άδεια επιτρέπει στους χρήστες να τροποποιούν τα υπάρχοντα χαρακτηριστικά ενός στοιχείου ή να προσθέτουν νέα χαρακτηριστικά σε ένα στοιχείο. Δεν αντικαθιστά ολόκληρο το στοιχείο, αλλά ενημερώνει μόνο τα συγκεκριμένα χαρακτηριστικά. Εάν ο πρωτεύον κλειδί δεν υπάρχει στον πίνακα, η λειτουργία θα δημιουργήσει ένα νέο στοιχείο με το καθορισμένο πρωτεύον κλειδί και θα ορίσει τα χαρακτηριστικά που καθορίζονται στην έκφραση ενημέρωσης.
Πιθανές Επιπτώσεις: Εκμετάλλευση περαιτέρω ευπαθειών/παρακάμψεων με τη δυνατότητα προσθήκης/τροποποίησης δεδομένων σε έναν πίνακα DynamoDB
dynamodb:DeleteTable
dynamodb:DeleteTable
Ένας επιτιθέμενος με αυτήν την άδεια μπορεί να διαγράψει έναν πίνακα DynamoDB, προκαλώντας απώλεια δεδομένων.
Πιθανές επιπτώσεις: Απώλεια δεδομένων και διακοπή υπηρεσιών που εξαρτώνται από τον διαγραμμένο πίνακα.
dynamodb:DeleteBackup
dynamodb:DeleteBackup
Ένας επιτιθέμενος με αυτήν την άδεια μπορεί να διαγράψει ένα αντίγραφο ασφαλείας του DynamoDB, προκαλώντας πιθανή απώλεια δεδομένων σε περίπτωση ανάκτησης μετά από καταστροφή.
Πιθανές επιπτώσεις: Απώλεια δεδομένων και αδυναμία ανάκτησης από αντίγραφο ασφαλείας κατά τη διάρκεια μιας διαδικασίας ανάκτησης μετά από καταστροφή.
dynamodb:StreamSpecification
, dynamodb:UpdateTable
, dynamodb:DescribeStream
, dynamodb:GetShardIterator
, dynamodb:GetRecords
dynamodb:StreamSpecification
, dynamodb:UpdateTable
, dynamodb:DescribeStream
, dynamodb:GetShardIterator
, dynamodb:GetRecords
ΕΡΓΑΣΙΕΣ: Δοκιμάστε αν αυτό πράγματι λειτουργεί
Ένας επιτιθέμενος με αυτές τις άδειες μπορεί να ενεργοποιήσει ένα ρεύμα σε έναν πίνακα DynamoDB, να ενημερώσει τον πίνακα για να αρχίσει να ρέει αλλαγές και στη συνέχεια να έχει πρόσβαση στο ρεύμα για να παρακολουθεί αλλαγές στον πίνακα σε πραγματικό χρόνο. Αυτό επιτρέπει στον επιτιθέμενο να παρακολουθεί και να εξαγάγει αλλαγές δεδομένων, με πιθανή διαρροή δεδομένων.
Ενεργοποίηση ροής σε έναν πίνακα DynamoDB:
Περιγράψτε τη ροή για να αποκτήσετε το ARN και άλλες λεπτομέρειες:
Λάβετε τον δείκτη του shard χρησιμοποιώντας το ARN της ροής:
Χρησιμοποιήστε τον δείκτη του shard για να αποκτήσετε πρόσβαση και να εξαγάγετε δεδομένα από τη ροή:
Πιθανές επιπτώσεις: Πραγματικού χρόνου παρακολούθηση και διαρροή δεδομένων των αλλαγών στον πίνακα DynamoDB.
Last updated