AWS - Cloudformation Privesc
cloudformation
Aby uzyskać więcej informacji na temat cloudformation, sprawdź:
pageAWS - CloudFormation & Codestar Enumiam:PassRole
, cloudformation:CreateStack
iam:PassRole
, cloudformation:CreateStack
Atakujący posiadający te uprawnienia może eskalować uprawnienia, tworząc stos CloudFormation z niestandardowym szablonem, hostowanym na swoim serwerze, aby wykonywać działania na podstawie uprawnień określonej roli:
Na następnej stronie masz przykład wykorzystania z dodatkowym uprawnieniem cloudformation:DescribeStacks
:
Potencjalne skutki: Podniesienie uprawnień do określonej roli usługi CloudFormation.
iam:PassRole
, (cloudformation:UpdateStack
| cloudformation:SetStackPolicy
)
iam:PassRole
, (cloudformation:UpdateStack
| cloudformation:SetStackPolicy
)W tym przypadku możesz wykorzystać istniejący stos CloudFormation do jego aktualizacji i eskalacji uprawnień, tak jak w poprzednim scenariuszu:
Uprawnienie cloudformation:SetStackPolicy
może być wykorzystane do nadania sobie uprawnienia UpdateStack
dla stosu i przeprowadzenia ataku.
Potencjalne skutki: Przywileje dostępu do roli usługi cloudformation.
cloudformation:UpdateStack
| cloudformation:SetStackPolicy
cloudformation:UpdateStack
| cloudformation:SetStackPolicy
Jeśli masz to uprawnienie, ale brak uprawnienia iam:PassRole
, nadal możesz aktualizować używane stosy i nadużywać przypisane już role IAM. Sprawdź poprzednią sekcję dla przykładu wykorzystania (tylko nie wskazuj żadnej roli w aktualizacji).
Uprawnienie cloudformation:SetStackPolicy
może być wykorzystane do nadania sobie uprawnienia UpdateStack
dla stosu i przeprowadzenia ataku.
Potencjalne skutki: Przywileje dostępu do roli usługi cloudformation, która jest już przypisana.
iam:PassRole
,((cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)
iam:PassRole
,((cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)Atakujący posiadający uprawnienia do przekazywania roli oraz tworzenia i wykonywania ChangeSet może tworzyć/aktualizować nowy stos cloudformation i nadużywać ról usługi cloudformation tak jak w przypadku CreateStack lub UpdateStack.
Poniższy exploit to wariacja exploitu CreateStack wykorzystującego uprawnienia ChangeSet do tworzenia stosu.
Uprawnienie cloudformation:SetStackPolicy
może być wykorzystane do nadania sobie uprawnień ChangeSet
dla stosu i przeprowadzenia ataku.
Potencjalne skutki: Przywileje dostępu do ról usługi CloudFormation.
(cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)
cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)To jest podobna metoda jak poprzednia, ale bez przekazywania ról IAM, więc można po prostu wykorzystać już dołączone role, wystarczy zmodyfikować parametr:
Potencjalne skutki: Podniesienie uprawnień do roli usługi CloudFormation, która jest już dołączona.
iam:PassRole
,(cloudformation:CreateStackSet
| cloudformation:UpdateStackSet
)
iam:PassRole
,(cloudformation:CreateStackSet
| cloudformation:UpdateStackSet
)Atakujący mógłby wykorzystać te uprawnienia do tworzenia/aktualizacji zestawów stosów w celu nadużycia dowolnych ról CloudFormation.
Potencjalne skutki: Podniesienie uprawnień do ról usługi CloudFormation.
cloudformation:UpdateStackSet
cloudformation:UpdateStackSet
Atakujący mógłby wykorzystać to uprawnienie bez uprawnienia passRole do aktualizacji zestawów stosów w celu nadużycia dołączonych ról CloudFormation.
Potencjalne skutki: Podniesienie uprawnień do dołączonych ról CloudFormation.
Referencje
Last updated