AWS - Cloudformation Privesc
cloudformation
Aby uzyskać więcej informacji na temat cloudformation, sprawdź:
AWS - 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 wykonać akcje pod uprawnieniami określonej roli:
Na następnej stronie znajdziesz przykład eksploatacji z dodatkowym uprawnieniem cloudformation:DescribeStacks
:
Potencjalny wpływ: Przywileje eskalacji do roli usługi cloudformation określonej.
iam:PassRole
, (cloudformation:UpdateStack
| cloudformation:SetStackPolicy
)
iam:PassRole
, (cloudformation:UpdateStack
| cloudformation:SetStackPolicy
)W tym przypadku możesz nadużyć istniejący stos cloudformation do jego aktualizacji i eskalacji uprawnień, podobnie jak w poprzednim scenariuszu:
cloudformation:SetStackPolicy
| cloudformation:UpdateStack
cloudformation:SetStackPolicy
| cloudformation:UpdateStack
Uprawnienie cloudformation:SetStackPolicy
może być użyte do nadania sobie uprawnienia UpdateStack
w stosie i przeprowadzenia ataku.
Potencjalny wpływ: Eskalacja uprawnień do roli usługi cloudformation określonej.
cloudformation:UpdateStack
| cloudformation:SetStackPolicy
cloudformation:UpdateStack
| cloudformation:SetStackPolicy
Jeśli masz to uprawnienie, ale nie masz iam:PassRole
, nadal możesz aktualizować używane stosy i nadużywać Role IAM, do których już są dołączone. Sprawdź poprzednią sekcję dla przykładu eksploatacji (po prostu nie wskazuj żadnej roli w aktualizacji).
Uprawnienie cloudformation:SetStackPolicy
może być użyte do nadania sobie uprawnienia UpdateStack
w stosie i przeprowadzenia ataku.
Potencjalny wpływ: Eskalacja uprawnień do roli usługi cloudformation już dołączonej.
iam:PassRole
,((cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)
iam:PassRole
,((cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)Atakujący posiadający uprawnienia do przekazania roli oraz utworzenia i wykonania zestawu zmian może tworzyć/aktualizować nowy stos cloudformation i nadużywać ról usługi cloudformation tak jak w przypadku CreateStack lub UpdateStack.
Następujący exploit to wariacja jednego z CreateStack wykorzystująca uprawnienia ChangeSet do utworzenia stosu.
cloudformation:SetStackPolicy
uprawnienie można wykorzystać do nadania sobie uprawnień ChangeSet
w stosie i przeprowadzenia ataku.
Potencjalny wpływ: Eskalacja uprawnień do ról usługi cloudformation.
(cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)
cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)To jest podobne do poprzedniej metody bez przekazywania ról IAM, więc można po prostu wykorzystać już dołączone, po prostu zmodyfikuj parametr:
Potencjalny wpływ: Przywileje do usługi cloudformation już dołączone.
iam:PassRole
,(cloudformation:CreateStackSet
| cloudformation:UpdateStackSet
)
iam:PassRole
,(cloudformation:CreateStackSet
| cloudformation:UpdateStackSet
)Atakujący mógłby wykorzystać te uprawnienia do tworzenia/aktualizowania StackSets w celu nadużycia dowolnych ról cloudformation.
Potencjalny wpływ: Przywileje do ról usługi cloudformation.
cloudformation:UpdateStackSet
cloudformation:UpdateStackSet
Atakujący mógłby wykorzystać to uprawnienie bez uprawnienia passRole do aktualizacji StackSets w celu nadużycia dołączonych ról cloudformation.
Potencjalny wpływ: Przywileje do dołączonych ról cloudformation.
Referencje
Last updated