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 implementazione, il tipo di istanza EC2 e un'opzione serverless, Fargate. Il servizio rende molto facile e indolore l'esecuzione di container nel cloud.
ECS opera utilizzando i seguenti tre blocchi di costruzione: Cluster, Servizi e Definizioni di Task.
I Cluster sono gruppi di container che sono in esecuzione nel cloud. Come già menzionato, 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 proprie applicazioni containerizzate su un cluster di istanze Amazon EC2 che [gestiscono]". Fargate è simile e viene definito come "[permette] di eseguire le proprie applicazioni containerizzate senza la necessità di provvedere e gestire l'infrastruttura di backend".
I Servizi vengono creati all'interno di un cluster e sono responsabili per eseguire i 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 rete 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 replica posiziona e mantiene il numero desiderato di task nel cluster. Se per qualche motivo un task viene interrotto, ne viene lanciato uno nuovo nello stesso nodo o in un nodo diverso.
DAEMON: Distribuisce esattamente un task su ciascuna istanza di container attiva che ha i requisiti necessari. Non c'è bisogno di 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 per definire quali container verranno eseguiti e i vari parametri che verranno configurati con i container come mapping 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 per configurare i container effettivi che verranno eseguiti in ECS. Poiché le definizioni di task definiscono come verranno eseguiti i container, all'interno è possibile trovare una moltitudine di informazioni.
Pacu può enumerare ECS (elenco-cluster, elenco-istanze-container, elenco-servizi, elenco-definizioni-task), può anche scaricare le definizioni di task.
Enumerazione
Accesso non autenticato
AWS - ECS Unauthenticated EnumPrivesc
Nella pagina seguente puoi verificare come abusare delle autorizzazioni ECS per elevare i privilegi:
AWS - ECS PrivescPost Esploitation
AWS - ECS Post ExploitationPersistenza
AWS - ECS PersistenceLast updated