AWS - ECS Enum

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

ECS

Informações Básicas

Amazon Elastic Container Services ou ECS fornece uma plataforma para hospedar aplicativos em contêiner na nuvem. ECS possui dois métodos de implantação, tipo de instância EC2 e uma opção serverless, Fargate. O serviço facilita muito a execução de contêineres na nuvem.

O ECS opera usando os seguintes três blocos de construção: Clusters, Serviços e Definições de Tarefas.

  • Clusters são grupos de contêineres em execução na nuvem. Como mencionado anteriormente, existem dois tipos de lançamento para contêineres, EC2 e Fargate. A AWS define o tipo de lançamento EC2 como permitindo aos clientes "executar [seus] aplicativos em contêiner em um cluster de instâncias Amazon EC2 que [eles] gerenciam". Fargate é semelhante e é definido como "[permitindo] que você execute seus aplicativos em contêiner sem a necessidade de provisionar e gerenciar a infraestrutura de backend".

  • Serviços são criados dentro de um cluster e são responsáveis por executar as tarefas. Dentro de uma definição de serviço você define o número de tarefas a serem executadas, escalonamento automático, provedor de capacidade (Fargate/EC2/Externo), informações de rede como VPCs, sub-redes e grupos de segurança.

  • Existem 2 tipos de aplicativos:

  • Serviço: Um grupo de tarefas que lidam com um trabalho de computação de longa duração que pode ser interrompido e reiniciado. Por exemplo, um aplicativo da web.

  • Tarefa: Uma tarefa autônoma que é executada e termina. Por exemplo, um trabalho em lote.

  • Entre os aplicativos de serviço, existem 2 tipos de agendadores de serviço:

  • REPLICA: A estratégia de agendamento de réplicas coloca e mantém o número desejado de tarefas em todo o cluster. Se por algum motivo uma tarefa for encerrada, uma nova é lançada no mesmo ou em um nó diferente.

  • DAEMON: Implanta exatamente uma tarefa em cada instância de contêiner ativa que possui os requisitos necessários. Não é necessário especificar um número desejado de tarefas, uma estratégia de colocação de tarefas ou usar políticas de dimensionamento automático de serviço.

  • Definições de Tarefas são responsáveis por definir quais contêineres serão executados e os vários parâmetros que serão configurados com os contêineres, como mapeamentos de porta com o host, variáveis de ambiente, entrypoint do Docker...

  • Verifique variáveis de ambiente para informações sensíveis!

Dados Sensíveis nas Definições de Tarefas

As definições de tarefas são responsáveis por configurar os contêineres reais que serão executados no ECS. Como as definições de tarefas definem como os contêineres serão executados, uma infinidade de informações pode ser encontrada dentro delas.

Pacu pode enumerar ECS (listar-clusters, listar-instâncias-de-contêiner, listar-serviços, listar-definições-de-tarefas), também pode despejar definições de tarefas.

Enumeração

# Clusters info
aws ecs list-clusters
aws ecs describe-clusters --clusters <cluster>

# Container instances
## An Amazon ECS container instance is an Amazon EC2 instance that is running the Amazon ECS container agent and has been registered into an Amazon ECS cluster.
aws ecs list-container-instances --cluster <cluster>
aws ecs describe-container-instances --cluster <cluster> --container-instances <container_instance_arn>

# Services info
aws ecs list-services --cluster <cluster>
aws ecs describe-services --cluster <cluster> --services <services>
aws ecs describe-task-sets --cluster <cluster> --service <service>

# Task definitions
aws ecs list-task-definition-families
aws ecs list-task-definitions
aws ecs list-tasks --cluster <cluster>
aws ecs describe-tasks --cluster <cluster> --tasks <tasks>
## Look for env vars and secrets used from the task definition
aws ecs describe-task-definition --task-definition <TASK_NAME>:<VERSION>

Acesso não autenticado

Privesc

Na página a seguir, você pode verificar como abusar das permissões do ECS para escalar privilégios:

Pós-Exploração

Persistência

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Última actualización