AWS - Lambda Persistence
Lambda
Para mais informações, verifique:
pageAWS - Lambda EnumPersistência de Camada Lambda
É possível introduzir/instalar um backdoor em uma camada para executar código arbitrário quando o lambda é executado de forma furtiva:
pageAWS - Lambda Layers PersistencePersistência de Extensão Lambda
Abusando das Camadas Lambda, também é possível abusar de extensões e persistir no lambda, além de roubar e modificar solicitações.
pageAWS - Abusing Lambda ExtensionsPor meio de políticas de recursos
É possível conceder acesso a diferentes ações lambda (como invocar ou atualizar código) a contas externas:
Versões, Aliases e 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 apenas com o código legítimo e executar apenas a versão 1 em 1% das solicitações para permanecer furtivo.
Backdoor de Versão + API Gateway
Copie o código original do Lambda
Crie uma nova versão com backdoor do código original (ou apenas com código malicioso). Publique e implante essa versão em $LATEST
Chame o gateway de API 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
Atuador Cron/Evento
O fato de você poder fazer com que as funções lambda sejam 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 o papel a usuários comprometidos.
Sempre que novos logs do cloudtrail são gerados, exclua/altere-os
Última actualización