AWS - ECS Post Exploitation
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Para mais informações, consulte:
AWS - ECS EnumNo ECS, uma função IAM pode ser atribuída à tarefa que está sendo executada dentro do contêiner. Se a tarefa for executada dentro de uma instância EC2, a instância EC2 terá outra função IAM anexada a ela. O que significa que, se você conseguir comprometer uma instância ECS, poderá potencialmente obter a função IAM associada ao ECR e à instância EC2. Para mais informações sobre como obter essas credenciais, consulte:
Observe que, se a instância EC2 estiver aplicando IMDSv2, de acordo com a documentação, a resposta da solicitação PUT terá um limite de salto de 1, tornando impossível acessar os metadados da EC2 a partir de um contêiner dentro da instância EC2.
Além disso, o EC2 usa docker para executar tarefas 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 neles e roubar suas funções IAM anexadas.
Além disso, a função da instância EC2 geralmente terá permissões suficientes para atualizar o estado da instância do contêiner das instâncias EC2 que estão sendo 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 estão sendo executadas como REPLICA serão executadas em uma instância diferente, potencialmente dentro da instância do atacante, para que ele possa roubar suas funções IAM e informações sensíveis potenciais de dentro do contêiner.
A mesma técnica pode ser feita desregistrando a instância EC2 do cluster. Isso é potencialmente menos furtivo, mas forçará as tarefas a serem executadas em outras instâncias:
Uma técnica final para forçar a reexecução de tarefas é indicando ao ECS que a tarefa ou contêiner foi parado. Existem 3 APIs potenciais para fazer isso:
A instância EC2 provavelmente também terá a permissão ecr:GetAuthorizationToken
, permitindo que ela baixe imagens (você pode procurar por informações sensíveis nelas).
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)