AWS - Persistência do Lambda
Reading time: 4 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, consulte:
Persistência da Camada do Lambda
É possível introduzir/backdoor uma camada para executar código arbitrário quando o lambda é executado de forma furtiva:
AWS - Lambda Layers Persistence
Persistência da Extensão do Lambda
Abusando das Camadas do Lambda, também é possível abusar das extensões e persistir no lambda, mas também roubar e modificar solicitações.
AWS - Abusing Lambda Extensions
Via políticas de recursos
É possível conceder acesso a diferentes ações do lambda (como invocar ou atualizar código) a contas externas:
.png)
Versões, Aliases & Pesos
Um Lambda pode ter diferentes versões (com código diferente em cada versão).
Então, você pode criar diferentes aliases com diferentes versões do lambda e definir pesos diferentes para cada um.
Dessa forma, um atacante poderia criar uma versão 1 com backdoor e uma versão 2 com apenas o código legítimo e executar apenas a versão 1 em 1% das solicitações para permanecer furtivo.
.png)
Backdoor de Versão + API Gateway
- Copie o código original do Lambda
- Crie uma nova versão com backdoor no código original (ou apenas com código malicioso). Publique e implante essa versão em $LATEST
- Chame o API gateway relacionado ao lambda para executar o código
- Crie uma nova versão com o código original, publique e implante essa versão em $LATEST.
- Isso ocultará o código com backdoor em uma versão anterior
- Vá para o API Gateway e crie um novo método POST (ou escolha qualquer outro método) que executará a versão com backdoor do lambda:
arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1
- Observe o final :1 do arn indicando a versão da função (a versão 1 será a com backdoor neste cenário).
- Selecione o método POST criado e em Ações selecione
Implantar API
- Agora, quando você chamar a função via POST, seu Backdoor será invocado
Ativador Cron/Event
O fato de que você pode fazer funções lambda serem executadas quando algo acontece ou quando algum tempo passa torna o lambda uma maneira agradável e comum de obter persistência e evitar detecção.
Aqui estão algumas ideias para tornar sua presença na AWS mais furtiva criando lambdas.
- Sempre que um novo usuário é criado, o lambda gera uma nova chave de usuário e a envia para o atacante.
- Sempre que um novo papel é criado, o lambda concede permissões de assumir papel a usuários comprometidos.
- Sempre que novos logs do cloudtrail são gerados, exclua/alterar eles.
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.