AWS - ECS Enum

Support HackTricks

ECS

Basic Information

Amazon Elastic Container Services au ECS inatoa jukwaa la kuweka programu zilizowekwa kwenye kontena katika wingu. ECS ina njia mbili za kupeleka, aina ya EC2 na chaguo la serverless, Fargate. Huduma hii inafanya kuendesha kontena katika wingu kuwa rahisi na bila maumivu.

ECS inafanya kazi kwa kutumia vizuizi vitatu vifuatavyo: Clusters, Services, na Task Definitions.

  • Clusters ni makundi ya kontena yanayoendesha katika wingu. Kama ilivyotajwa hapo awali, kuna aina mbili za uzinduzi wa kontena, EC2 na Fargate. AWS inaelezea aina ya uzinduzi ya EC2 kama inayo ruhusu wateja “kuendesha [programu zao] zilizowekwa kwenye kontena kwenye kundi la Amazon EC2 instances ambazo [wanazisimamia]”. Fargate ni sawa na hiyo na inaelezwa kama “[inayo ruhusu] wewe kuendesha programu zako zilizowekwa kwenye kontena bila haja ya kuandaa na kusimamia miundombinu ya nyuma”.

  • Services zinaundwa ndani ya kundi na zina jukumu la kuendesha kazi. Ndani ya ufafanuzi wa huduma unafafanua idadi ya kazi za kuendesha, auto scaling, mtoa uwezo (Fargate/EC2/External), habari za mtandao kama vile VPC, subnets, na vikundi vya usalama.

  • Kuna aina 2 za programu:

  • Service: Kundi la kazi zinazoshughulikia kazi za kompyuta zinazodumu kwa muda mrefu ambazo zinaweza kusitishwa na kuanzishwa tena. Kwa mfano, programu ya wavuti.

  • Task: Kazi huru inayokimbia na kumalizika. Kwa mfano, kazi ya kundi.

  • Miongoni mwa programu za huduma, kuna aina 2 za ratiba za huduma:

  • REPLICA: Mkakati wa ratiba ya nakala huweka na kuhifadhi idadi inayotakiwa ya kazi katika kundi lako. Ikiwa kwa sababu fulani kazi itasitishwa, mpya itazinduliwa katika nodi ile ile au tofauti.

  • DAEMON: Inapeleka kazi moja tu kwenye kila mfano wa kontena hai ambao una mahitaji yanayohitajika. Hakuna haja ya kufafanua idadi inayotakiwa ya kazi, mkakati wa kuweka kazi, au kutumia sera za Auto Scaling za Huduma.

  • Task Definitions zina jukumu la kufafanua ni kontena gani zitakazoendesha na vigezo mbalimbali ambavyo vitakavyowekwa na kontena kama vile mifumo ya bandari na mwenyeji, env variables, Docker entrypoint...

  • Angalia env variables kwa habari nyeti!

Sensitive Data In Task Definitions

Task definitions zina jukumu la kuandaa kontena halisi ambazo zitakuwa zinaendesha katika ECS. Kwa kuwa task definitions zinafafanua jinsi kontena zitakavyokimbia, habari nyingi zinaweza kupatikana ndani yake.

Pacu inaweza kuhesabu ECS (list-clusters, list-container-instances, list-services, list-task-definitions), inaweza pia kutoa task definitions.

Enumeration

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

Upatikanaji Usioidhinishwa

AWS - ECS Unauthenticated Enum

Privesc

Katika ukurasa ufuatao unaweza kuangalia jinsi ya kutumia vibaya ruhusa za ECS ili kupandisha mamlaka:

AWS - ECS Privesc

Baada ya Kutekeleza

AWS - ECS Post Exploitation

Kudumu

AWS - ECS Persistence
Support HackTricks

Last updated