AWS - Lambda Post Exploitation

Reading time: 5 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Lambda

Para mais informações, confira:

AWS - Lambda Enum

Exfilrtate Lambda Credentials

Lambda usa variáveis de ambiente para injetar credenciais em tempo de execução. Se você conseguir acessá-las (lendo /proc/self/environ ou usando a própria função vulnerável), pode usá-las você mesmo. Elas vivem nos nomes de variável padrão AWS_SESSION_TOKEN, AWS_SECRET_ACCESS_KEY, e AWS_ACCESS_KEY_ID.

Por padrão, essas terão acesso para gravar em um cloudwatch log group (o nome do qual está armazenado em AWS_LAMBDA_LOG_GROUP_NAME), assim como para criar log groups arbitrários; entretanto, funções lambda frequentemente têm mais permissões atribuídas com base em seu uso pretendido.

lambda:Delete*

Um atacante concedido lambda:Delete* pode deletar funções Lambda, versions/aliases, layers, event source mappings e outras configurações associadas.

bash
aws lambda delete-function \
--function-name <LAMBDA_NAME>

Roubar requisições de URL de outras funções Lambda

Se um atacante conseguir RCE dentro de uma função Lambda, ele poderá roubar as requisições HTTP de outros usuários para essa Lambda. Se as requisições contiverem informações sensíveis (cookies, credenciais...), ele poderá exfiltrá-las.

AWS - Lambda Steal Requests

Roubar requisições de URL de outras funções Lambda & requisições de extensions

Abusando de Lambda Layers, também é possível abusar de extensions e persistir na função Lambda, além de roubar e modificar requisições.

AWS - Abusing Lambda Extensions

AWS Lambda – VPC Egress Bypass

Forçar uma função Lambda a sair de uma VPC restrita atualizando sua configuração com um VpcConfig vazio (SubnetIds=[], SecurityGroupIds=[]). A função então será executada no plano de rede gerenciado pelo Lambda, recuperando o acesso à internet de saída e contornando controles de egress aplicados por sub-redes VPC privadas sem NAT.

AWS - Lambda VPC Egress Bypass

AWS Lambda – Runtime Pinning/Rollback Abuse

Abuse lambda:PutRuntimeManagementConfig para fixar uma função a uma versão específica de runtime (Manual) ou congelar atualizações (FunctionUpdate). Isso preserva compatibilidade com layers/wrappers maliciosos e pode manter a função em um runtime desatualizado e vulnerável para facilitar exploração e persistência de longo prazo.

AWS - Lambda Runtime Pinning Abuse

AWS Lambda – Log Siphon via LoggingConfig.LogGroup Redirection

Abuse lambda:UpdateFunctionConfiguration controles avançados de logging para redirecionar os logs de uma função para um log group do CloudWatch Logs escolhido pelo atacante. Isso funciona sem alterar o código ou a role de execução (a maioria das roles Lambda já inclui logs:CreateLogGroup/CreateLogStream/PutLogEvents via AWSLambdaBasicExecutionRole). Se a função imprimir segredos/corpos de requisição ou falhar com stack traces, você pode coletá-los do novo log group.

AWS - Lambda LoggingConfig Redirection

AWS - Lambda Function URL Public Exposure

Transforme uma Function URL privada da Lambda em um endpoint público não autenticado trocando o Function URL AuthType para NONE e anexando uma policy baseada em recurso que concede lambda:InvokeFunctionUrl a todos. Isso permite invocação anônima de funções internas e pode expor operações sensíveis de backend.

AWS - Lambda Function URL Public Exposure

AWS Lambda – Event Source Mapping Target Hijack

Abuse UpdateEventSourceMapping para alterar a função Lambda alvo de um Event Source Mapping (ESM) existente, de modo que registros de DynamoDB Streams, Kinesis ou SQS sejam entregues a uma função controlada pelo atacante. Isso desvia silenciosamente dados em tempo real sem tocar nos produtores ou no código da função original.

AWS - Lambda Event Source Mapping Hijack

AWS Lambda – EFS Mount Injection data exfiltration

Abuse lambda:UpdateFunctionConfiguration para anexar um EFS Access Point existente a uma função Lambda, então implante código trivial que lista/leia arquivos do caminho montado para exfiltrar segredos/configs compartilhados que a função antes não conseguia acessar.

AWS - Lambda EFS Mount Injection

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks