AWS - ECS Enum
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
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
Última actualización