AWS - ECS Post Exploitation
ECS
Para mais informações, confira:
pageAWS - ECS EnumPapéis IAM do Host
No ECS, um papel IAM pode ser atribuído à tarefa executada dentro do contêiner. Se a tarefa for executada dentro de uma instância EC2, a instância EC2 terá outro papel IAM associado a ela. Isso significa que, se você conseguir comprometer uma instância ECS, você pode potencialmente obter o papel IAM associado ao ECR e à instância EC2. Para mais informações sobre como obter essas credenciais, confira:
Observe que se a instância EC2 estiver aplicando IMDSv2, de acordo com a documentação, a resposta do pedido PUT terá um limite de salto de 1, tornando impossível acessar os metadados da EC2 de um contêiner dentro da instância EC2.
Privesc para o nó para roubar credenciais e segredos de outros contêineres
Além disso, a EC2 usa docker para executar tarefas do ECS, então se você conseguir escapar para o nó ou acessar o socket do docker, você pode verificar quais outros contêineres estão sendo executados, e até mesmo entrar dentro deles e roubar seus papéis IAM associados.
Fazendo contêineres rodarem no host atual
Ademais, o papel da instância EC2 geralmente terá permissões suficientes para atualizar o estado da instância do contêiner das instâncias EC2 usadas como nós dentro do cluster. Um atacante poderia modificar o estado de uma instância para DRAINING, então o ECS removerá todas as tarefas dela e as que estiverem sendo executadas como REPLICA serão executadas em uma instância diferente, potencialmente dentro da instância do atacante para que ele possa roubar seus papéis IAM e informações sensíveis de dentro do contêiner.
A mesma técnica pode ser realizada desregistrando a instância EC2 do cluster. Isso é potencialmente menos discreto, mas forçará as tarefas a serem executadas em outras instâncias:
Uma técnica final para forçar a re-execução de tarefas é indicando ao ECS que a tarefa ou container foi interrompido. Existem 3 APIs potenciais para fazer isso:
Roubar informações sensíveis de contêineres ECR
A instância EC2 provavelmente também terá a permissão ecr:GetAuthorizationToken
permitindo que ela baixe imagens (você poderia procurar por informações sensíveis nelas).
Última actualización