AWS - ECS Enum

Reading time: 4 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

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: 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: 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 <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>

Neautentifikovani Pristup

AWS - ECS Unauthenticated Enum

Povećanje Privilegija

Na sledećoj stranici možete proveriti kako da zloupotrebite ECS dozvole za povećanje privilegija:

AWS - ECS Privesc

Post Eksploatacija

AWS - ECS Post Exploitation

Postojanost

AWS - ECS Persistence

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks