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
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Lambda
Para mais informações, confira:
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.
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.
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
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
HackTricks Cloud