AWS - Cloudformation Privesc
cloudformation
Cloudformation hakkında daha fazla bilgi için:
AWS - CloudFormation & Codestar Enumiam:PassRole
, cloudformation:CreateStack
iam:PassRole
, cloudformation:CreateStack
Bu izinlere sahip bir saldırgan, özel bir şablonla kendi sunucusunda barındırılan bir CloudFormation yığını oluşturarak, belirtilen bir rolün izinleri altında eylemler gerçekleştirebilir ve böylece yetkileri yükseltebilir:
Aşağıdaki sayfada, sızma örneği ve ek izin cloudformation:DescribeStacks
ile ilgili bir örnek bulunmaktadır:
Potansiyel Etki: Belirtilen cloudformation hizmet rolüne ayrıcalık yükseltme.
iam:PassRole
, (cloudformation:UpdateStack
| cloudformation:SetStackPolicy
)
iam:PassRole
, (cloudformation:UpdateStack
| cloudformation:SetStackPolicy
)Bu durumda, önceki senaryoda olduğu gibi, mevcut bir cloudformation yığınını kötüye kullanarak güncelleyebilir ve ayrıcalıkları yükseltebilirsiniz.
cloudformation:SetStackPolicy
izni, bir yığın üzerinde kendinize UpdateStack
izni vermek ve saldırıyı gerçekleştirmek için kullanılabilir.
Potansiyel Etki: Belirtilen cloudformation hizmet rolüne ayrıcalık yükseltme.
cloudformation:UpdateStack
| cloudformation:SetStackPolicy
cloudformation:UpdateStack
| cloudformation:SetStackPolicy
Bu izne sahipseniz ancak iam:PassRole
izniniz yoksa, yine de kullanılan yığınları güncelleyebilir ve zaten ekli olan IAM Rollerini kötüye kullanabilirsiniz. Saldırı örneği için önceki bölüme bakın (güncellemede herhangi bir rol belirtmeyin).
cloudformation:SetStackPolicy
izni, bir yığın üzerinde kendinize UpdateStack
izni vermek ve saldırıyı gerçekleştirmek için kullanılabilir.
Potansiyel Etki: Zaten ekli olan cloudformation hizmet rolüne ayrıcalık yükseltme.
iam:PassRole
,((cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)
iam:PassRole
,((cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)Bir saldırgan, bir rolü geçme ve bir ChangeSet oluşturma ve yürütme iznine sahip olduğunda, CreateStack veya UpdateStack ile olduğu gibi yeni bir cloudformation yığını oluşturabilir/güncelleyebilir ve cloudformation hizmet rollerini kötüye kullanabilir.
Aşağıdaki saldırı, bir yığın oluşturmak için ChangeSet izinlerini kullanan CreateStack örneğinin bir varyasyonudur.
cloudformation:SetStackPolicy
izni, bir yığın üzerinde ChangeSet
izinlerini kendinize vermek ve saldırıyı gerçekleştirmek için kullanılabilir.
Potansiyel Etki: CloudFormation hizmet rollerine ayrıcalık yükseltme.
(cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)
cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)Bu, önceki yönteme benzer, ancak IAM rolleri geçirilmeden yapılır, bu nedenle sadece zaten ekli olanları kötüye kullanabilirsiniz, sadece parametreyi değiştirin:
Potansiyel Etki: Zaten eklenmiş olan cloudformation hizmet rolüne ayrıcalık yükseltme.
iam:PassRole
,(cloudformation:CreateStackSet
| cloudformation:UpdateStackSet
)
iam:PassRole
,(cloudformation:CreateStackSet
| cloudformation:UpdateStackSet
)Bir saldırgan, bu izinleri kötüye kullanarak keyfi cloudformation rollerini kullanmak için StackSet oluşturabilir/güncelleyebilir.
Potansiyel Etki: Cloudformation hizmet rollerine ayrıcalık yükseltme.
cloudformation:UpdateStackSet
cloudformation:UpdateStackSet
Bir saldırgan, bu izni passRole izni olmadan kullanarak, ekli cloudformation rollerini kötüye kullanmak için StackSet'i güncelleyebilir.
Potansiyel Etki: Ekli cloudformation rollerine ayrıcalık yükseltme.
Referanslar
Last updated