AWS - ECS Post Exploitation

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

ECS

Vir meer inligting, kyk:

AWS - ECS Enum

Gasheer IAM-rolle

In ECS kan 'n IAM-rol toegewys word aan die taak wat binne die houer uitgevoer word. As die taak binne 'n EC2-instansie uitgevoer word, sal die EC2-instansie 'n ander IAM-rol daaraan geheg hê. Dit beteken dat as jy 'n ECS-instansie kan kompromitteer, kan jy moontlik die IAM-rol verkry wat aan die ECR en die EC2-instansie gekoppel is. Vir meer inligting oor hoe om daardie geloofsbriewe te verkry, kyk:

Let daarop dat as die EC2-instansie IMDSv2 afdwing, volgens die dokumentasie, sal die antwoord van die PUT-versoek 'n hoplimiet van 1 hê, wat dit onmoontlik maak om die EC2-metadata vanuit 'n houer binne die EC2-instansie te bereik.

Privesc na node om ander houer se geloofsbriewe en geheime te steel

Maar bo en behalwe dit, gebruik EC2 docker om ECs-take uit te voer, so as jy kan ontsnap na die node of die docker-socket kan bereik, kan jy nagaan watter ander houers uitgevoer word, en selfs daarin ingaan en hul IAM-rolle wat daaraan geheg is, steel.

Laat houers op huidige gasheer uitvoer

Verder sal die EC2-instansierol gewoonlik genoeg toestemmings hê om die toestand van die houerinstansie van die EC2-instansies wat as nodes binne die groep gebruik word, te opdateer. 'n Aanvaller kan die toestand van 'n instansie verander na DRAINING, dan sal ECS alle take daarvan verwyder en diegene wat as REPLICA uitgevoer word, sal in 'n ander instansie uitgevoer word, moontlik binne die aanvaller se instansie, sodat hy hul IAM-rolle en potensiële sensitiewe inligting van binne die houer kan steel.

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

Dieselfde tegniek kan uitgevoer word deur die EC2-instantie van die groep af te meld. Dit is potensieel minder heimlik, maar dit sal die take dwing om op ander instansies uitgevoer te word:

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

'n Laaste tegniek om die heruitvoering van take af te dwing, is deur aan te dui dat die taak of houer gestop is. Daar is 3 potensiële API's om dit te doen:

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

Steel sensitiewe inligting vanuit ECR-houers

Die EC2-instantie het waarskynlik ook die toestemming ecr:GetAuthorizationToken wat dit toelaat om afbeeldings af te laai (jy kan soek vir sensitiewe inligting daarin).

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated