AWS - ECS Privesc
ECS
Meer inligting oor ECS in:
pageAWS - ECS Enumiam:PassRole
, ecs:RegisterTaskDefinition
, ecs:RunTask
iam:PassRole
, ecs:RegisterTaskDefinition
, ecs:RunTask
'n Aanvaller wat die iam:PassRole
, ecs:RegisterTaskDefinition
en ecs:RunTask
toestemming in ECS misbruik, kan 'n nuwe taakdefinisie genereer met 'n kwaadwillige houer wat die metadata-gedragsbepalings steel en dit uitvoer.
Potensiële Impak: Direkte bevoorregte toegang tot 'n ander ECS rol.
iam:PassRole
, ecs:RegisterTaskDefinition
, ecs:StartTask
iam:PassRole
, ecs:RegisterTaskDefinition
, ecs:StartTask
Net soos in die vorige voorbeeld kan 'n aanvaller wat die iam:PassRole
, ecs:RegisterTaskDefinition
, ecs:StartTask
toestemmings in ECS misbruik, 'n nuwe taakdefinisie genereer met 'n skadelike houer wat die metadata-gedragsbriewe steel en dit uitvoer.
In hierdie geval moet 'n houerinstansie beskikbaar wees om die skadelike taakdefinisie uit te voer.
Potensiële Impak: Direkte voorregte-escalasie na enige ECS-rol.
iam:PassRole
, ecs:RegisterTaskDefinition
, (ecs:UpdateService|ecs:CreateService)
iam:PassRole
, ecs:RegisterTaskDefinition
, (ecs:UpdateService|ecs:CreateService)
Net soos in die vorige voorbeeld kan 'n aanvaller wat die iam:PassRole
, ecs:RegisterTaskDefinition
, ecs:UpdateService
of ecs:CreateService
toestemmings in ECS misbruik, 'n nuwe taakdefinisie genereer met 'n skadelike houer wat die metadata-geloofsbriewe steel en dit uitvoer deur 'n nuwe diens met ten minste 1 taak te skep wat uitgevoer word.
Potensiële Impak: Direkte voorregverhoging na enige ECS rol.
ecs:RegisterTaskDefinition
, (ecs:RunTask|ecs:StartTask|ecs:UpdateService|ecs:CreateService)
ecs:RegisterTaskDefinition
, (ecs:RunTask|ecs:StartTask|ecs:UpdateService|ecs:CreateService)
Hierdie scenario is soos die voriges, maar sonder die iam:PassRole
toestemming.
Dit is steeds interessant omdat as jy 'n willekeurige houer kan hardloop, selfs sonder 'n rol, jy 'n bevoorregte houer kan hardloop om te ontsnap na die node en die EC2 IAM-rol en die ander ECS-houerrolle wat op die node hardloop, te steel.
Jy kan selfs ander take dwing om binne die EC2-instantie wat jy oorneem, te hardloop om hul geloofsbriewe te steel (soos bespreek in die Privesc na node-seksie).
Hierdie aanval is slegs moontlik as die ECS-kluster EC2-instanties gebruik en nie Fargate nie.
ecs:ExecuteCommand
, ecs:DescribeTasks,
(ecs:RunTask|ecs:StartTask|ecs:UpdateService|ecs:CreateService)
ecs:ExecuteCommand
, ecs:DescribeTasks,
(ecs:RunTask|ecs:StartTask|ecs:UpdateService|ecs:CreateService)
'n Aanvaller met die ecs:ExecuteCommand
, ecs:DescribeTasks
kan opdragte uitvoer binne 'n lopende houer en die IAM-rol wat daaraan geheg is, uitlek (jy benodig die beskrywingsregte omdat dit nodig is om aws ecs execute-command
uit te voer).
Om dit te doen, moet die houerinstansie egter die ExecuteCommand-agent uitvoer (wat nie standaard is nie).
Daarom kan die aanvaller probeer om:
Probeer om 'n opdrag in elke lopende houer uit te voer
As hy
ecs:RunTask
het, voer 'n taak uit metaws ecs run-task --enable-execute-command [...]
As hy
ecs:StartTask
het, voer 'n taak uit metaws ecs start-task --enable-execute-command [...]
As hy
ecs:CreateService
het, skep 'n diens metaws ecs create-service --enable-execute-command [...]
As hy
ecs:UpdateService
het, werk 'n diens by metaws ecs update-service --enable-execute-command [...]
Jy kan voorbeelde van hierdie opsies vind in vorige ECS privesc-afdelings.
Potensiële Impak: Privesc na 'n ander rol wat aan houers gekoppel is.
ssm:StartSession
ssm:StartSession
Kyk op die ssm privesc-bladsy hoe jy hierdie toestemming kan misbruik om na ECS te privesc:
pageAWS - SSM Privesciam:PassRole
, ec2:RunInstances
iam:PassRole
, ec2:RunInstances
Kyk op die ec2 privesc-bladsy hoe jy hierdie toestemmings kan misbruik om na ECS te privesc:
pageAWS - EC2 Privesc?ecs:RegisterContainerInstance
?ecs:RegisterContainerInstance
TODO: Is dit moontlik om 'n instansie van 'n ander AWS-rekening te registreer sodat take uitgevoer word onder beheer van die aanvaller??
ecs:CreateTaskSet
, ecs:UpdateServicePrimaryTaskSet
, ecs:DescribeTaskSets
ecs:CreateTaskSet
, ecs:UpdateServicePrimaryTaskSet
, ecs:DescribeTaskSets
TODO: Toets dit
'n Aanvaller met die toestemmings ecs:CreateTaskSet
, ecs:UpdateServicePrimaryTaskSet
, en ecs:DescribeTaskSets
kan 'n kwaadwillige taakstel vir 'n bestaande ECS-diens skep en die primêre taakstel opdateer. Dit stel die aanvaller in staat om arbitrêre kode binne die diens uit te voer.
Potensiële Impak: Voer willekeurige kode uit in die betrokke diens, wat moontlik die funksionaliteit daarvan kan beïnvloed of sensitiewe data kan uitlek.
Verwysings
Last updated