AWS - ECS Post Exploitation

Support HackTricks

ECS

Kwa maelezo zaidi angalia:

Host IAM Roles

Katika ECS, role ya IAM inaweza kutolewa kwa kazi inayokimbia ndani ya kontena. Ikiwa kazi inakimbia ndani ya EC2 instance, EC2 instance itakuwa na role nyingine ya IAM iliyounganishwa nayo. Hii inamaanisha kwamba ikiwa utaweza kudhoofisha instance ya ECS unaweza kupata role ya IAM inayohusiana na ECR na EC2 instance. Kwa maelezo zaidi kuhusu jinsi ya kupata akreditivu hizo angalia:

Kumbuka kwamba ikiwa EC2 instance inatekeleza IMDSv2, kulingana na nyaraka, jibu la ombi la PUT litakuwa na kipimo cha hop cha 1, na kufanya iwe vigumu kufikia metadata ya EC2 kutoka kwa kontena ndani ya EC2 instance.

Privesc to node to steal other containers creds & secrets

Lakini zaidi ya hayo, EC2 inatumia docker kuendesha kazi za EC, hivyo ikiwa unaweza kutoroka kwenye node au kufikia docker socket, unaweza kuangalia ni kontena gani nyingine zinazoendeshwa, na hata kuingia ndani yao na kuchukua role zao za IAM zilizounganishwa.

Making containers run in current host

Zaidi ya hayo, role ya instance ya EC2 kwa kawaida itakuwa na idhini ya kutosha kupdate hali ya instance ya kontena za EC2 zinazotumika kama nodes ndani ya klasta. Mshambuliaji anaweza kubadilisha hali ya instance kuwa DRAINING, kisha ECS it ondoe kazi zote kutoka kwake na zile zinazokimbia kama REPLICA zita kimbia katika instance tofauti, labda ndani ya instance ya mshambuliaji ili aweze kuchukua role zao za IAM na taarifa nyeti zinazoweza kuwa ndani ya kontena.

aws ecs update-container-instances-state \
--cluster <cluster> --status DRAINING --container-instances <container-instance-id>

Ile ile mbinu inaweza kufanywa kwa kuondoa EC2 instance kutoka kwa klasta. Hii inawezekana kuwa na ufanisi mdogo lakini it lazimisha kazi kufanywa katika instances nyingine:

aws ecs deregister-container-instance \
--cluster <cluster> --container-instance <container-instance-id> --force

Njia ya mwisho ya kulazimisha utekelezaji wa kazi tena ni kwa kuashiria ECS kwamba kazi au kontena ilisimamishwa. Kuna API 3 zinazoweza kutumika kufanya hivi:

# Needs: ecs:SubmitTaskStateChange
aws ecs submit-task-state-change --cluster <value> \
--status STOPPED --reason "anything" --containers [...]

# Needs: ecs:SubmitContainerStateChange
aws ecs submit-container-state-change ...

# Needs: ecs:SubmitAttachmentStateChanges
aws ecs submit-attachment-state-changes ...

Pora taarifa nyeti kutoka kwa kontena za ECR

Kifaa cha EC2 huenda kikawa na ruhusa ecr:GetAuthorizationToken kinachoruhusu kupakua picha (unaweza kutafuta taarifa nyeti ndani yao).

Support HackTricks

Last updated