AWS - ECS Enum
ECS
Informazioni di base
Amazon Elastic Container Services o ECS fornisce una piattaforma per ospitare applicazioni containerizzate nel cloud. ECS ha due metodi di deploy, il tipo di istanza EC2 e un'opzione serverless, Fargate. Il servizio rende molto facile ed indolore l'esecuzione di container nel cloud.
ECS opera utilizzando i seguenti tre elementi fondamentali: Cluster, Servizi e Definizioni di Task.
Cluster sono gruppi di container che vengono eseguiti nel cloud. Come già accennato, ci sono due tipi di lancio per i container, EC2 e Fargate. AWS definisce il tipo di lancio EC2 come permettendo ai clienti "di eseguire le loro applicazioni containerizzate su un cluster di istanze Amazon EC2 che gestiscono". Fargate è simile e viene definito come "permettendoti di eseguire le tue applicazioni containerizzate senza la necessità di provvedere e gestire l'infrastruttura di backend".
Servizi vengono creati all'interno di un cluster e sono responsabili dell'esecuzione dei task. All'interno di una definizione di servizio si definisce il numero di task da eseguire, il ridimensionamento automatico, il provider di capacità (Fargate/EC2/Esterno), informazioni di networking come VPC, subnet e gruppi di sicurezza.
Ci sono 2 tipi di applicazioni:
Servizio: Un gruppo di task che gestiscono un lavoro di calcolo a lungo termine che può essere interrotto e riavviato. Ad esempio, un'applicazione web.
Task: Un task autonomo che viene eseguito e terminato. Ad esempio, un lavoro batch.
Tra le applicazioni di servizio, ci sono 2 tipi di scheduler di servizio:
REPLICA: La strategia di pianificazione delle repliche posiziona e mantiene il numero desiderato di task nel tuo cluster. Se per qualche motivo un task viene interrotto, ne viene lanciato uno nuovo nello stesso o in un nodo diverso.
DAEMON: Distribuisce esattamente un task su ogni istanza di container attiva che ha i requisiti necessari. Non è necessario specificare un numero desiderato di task, una strategia di posizionamento dei task o utilizzare le politiche di ridimensionamento automatico del servizio.
Le Definizioni di Task sono responsabili di definire quali container verranno eseguiti e i vari parametri che verranno configurati con i container come mappature delle porte con l'host, variabili di ambiente, entrypoint di Docker...
Controlla le variabili di ambiente per informazioni sensibili!
Dati Sensibili nelle Definizioni di Task
Le definizioni di task sono responsabili di configurare i container effettivi che verranno eseguiti in ECS. Poiché le definizioni di task definiscono come verranno eseguiti i container, è possibile trovare una moltitudine di informazioni al loro interno.
Pacu può enumerare ECS (list-clusters, list-container-instances, list-services, list-task-definitions), può anche eseguire il dump delle definizioni di task.
Enumerazione
Accesso non autenticato
Privesc
Nella seguente pagina puoi verificare come abusare delle autorizzazioni ECS per ottenere privilegi elevati:
Post Exploitation
Persistenza
Last updated