# AWS - ECS Enum {{#include ../../../banners/hacktricks-training.md}} ## ECS ### Osnovne informacije Amazon **Elastic Container Services** ili ECS pruža platformu za **hostovanje kontejnerizovanih aplikacija u oblaku**. ECS ima dva **metoda implementacije**, tip instance **EC2** i **serverless** opciju, **Fargate**. Usluga **omogućava lako i bezbolno pokretanje kontejnera u oblaku**. ECS funkcioniše koristeći sledeće tri gradivne blokove: **Klasteri**, **Usluge** i **Definicije zadataka**. - **Klasteri** su **grupe kontejnera** koji se pokreću u oblaku. Kao što je ranije pomenuto, postoje dva tipa pokretanja za kontejnere, EC2 i Fargate. AWS definiše **EC2** tip pokretanja kao omogućavanje kupcima “da pokreću \[svoje] kontejnerizovane aplikacije na klasteru Amazon EC2 instanci koje \[oni] **upravljaju**”. **Fargate** je sličan i definisan je kao “\[omogućava] vam da pokrećete svoje kontejnerizovane aplikacije **bez potrebe za obezbeđivanjem i upravljanjem** pozadinskom infrastrukturom”. - **Usluge** se kreiraju unutar klastera i odgovorne su za **pokretanje zadataka**. Unutar definicije usluge **definišete broj zadataka koji će se pokrenuti, automatsko skaliranje, provajder kapaciteta (Fargate/EC2/Spoljašnji),** **informacije o umrežavanju** kao što su VPC, podmreže i sigurnosne grupe. - Postoje **2 tipa aplikacija**: - **Usluga**: Grupa zadataka koja se bavi dugotrajnim računski radom koji se može zaustaviti i ponovo pokrenuti. Na primer, web aplikacija. - **Zadatak**: Samostalni zadatak koji se pokreće i završava. Na primer, batch posao. - Među aplikacijama usluga, postoje **2 tipa planera usluga**: - [**REPLICA**](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html): Strategija planiranja replika postavlja i **održava željeni broj** zadataka širom vašeg klastera. Ako iz nekog razloga zadatak prestane sa radom, novi se pokreće na istom ili drugom čvoru. - [**DAEMON**](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html): Postavlja tačno jedan zadatak na svakoj aktivnoj instanci kontejnera koja ima potrebne zahteve. Nema potrebe da se specificira željeni broj zadataka, strategija postavljanja zadataka ili korišćenje politika automatskog skaliranja usluga. - **Definicije zadataka** su odgovorne za **definisanje koji će se kontejneri pokretati** i razne parametre koji će biti konfigurisani sa kontejnerima kao što su **mapiranja portova** sa hostom, **env varijable**, Docker **entrypoint**... - Proverite **env varijable za osetljive informacije**! ### Osetljivi podaci u definicijama zadataka Definicije zadataka su odgovorne za **konfigurisanje stvarnih kontejnera koji će se pokretati u ECS**. Pošto definicije zadataka definišu kako će se kontejneri pokretati, mnoštvo informacija može se naći unutar njih. Pacu može enumerisati ECS (list-clusters, list-container-instances, list-services, list-task-definitions), takođe može izvući definicije zadataka. ### Enumeracija ```bash # Clusters info aws ecs list-clusters aws ecs describe-clusters --clusters # 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 aws ecs describe-container-instances --cluster --container-instances # Services info aws ecs list-services --cluster aws ecs describe-services --cluster --services aws ecs describe-task-sets --cluster --service # Task definitions aws ecs list-task-definition-families aws ecs list-task-definitions aws ecs list-tasks --cluster aws ecs describe-tasks --cluster --tasks ## Look for env vars and secrets used from the task definition aws ecs describe-task-definition --task-definition : ``` ### Neautentifikovani Pristup {{#ref}} ../aws-unauthenticated-enum-access/aws-ecs-unauthenticated-enum.md {{#endref}} ### Povećanje Privilegija Na sledećoj stranici možete proveriti kako da **zloupotrebite ECS dozvole za povećanje privilegija**: {{#ref}} ../aws-privilege-escalation/aws-ecs-privesc.md {{#endref}} ### Post Eksploatacija {{#ref}} ../aws-post-exploitation/aws-ecs-post-exploitation.md {{#endref}} ### Postojanost {{#ref}} ../aws-persistence/aws-ecs-persistence.md {{#endref}} {{#include ../../../banners/hacktricks-training.md}}