Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/

This commit is contained in:
Translator
2025-05-09 11:47:43 +00:00
parent f576cad01e
commit 655d694e98
@@ -6,7 +6,7 @@
### `s3:PutBucketNotification`, `s3:PutObject`, `s3:GetObject`
İlgi bucket'lar üzerinde bu izinlere sahip bir saldırgan, kaynakları ele geçirip ayrıcalıkları artırabilir.
İlgili bucket'lar üzerinde bu izinlere sahip bir saldırgan, kaynakları ele geçirip ayrıcalıkları artırabilir.
Örneğin, "cf-templates-nohnwfax6a6i-us-east-1" adlı bir cloudformation bucket'ı üzerinde bu **izinlere sahip** bir saldırgan, dağıtımı ele geçirebilir. Erişim aşağıdaki politika ile verilebilir:
```json
@@ -34,7 +34,7 @@
]
}
```
Ve ele geçirme, **şablonun yüklendiği andan** **şablonun dağıtıldığı ana** kadar olan **küçük bir zaman penceresi** olduğu için mümkündür. Bir saldırgan, hesabında **bir lambda fonksiyonu** oluşturabilir ve bu fonksiyon **bir bucket bildirimi gönderildiğinde tetiklenecek** ve **o bucket'ın içeriğini ele geçirecektir**.
Ve ele geçirme, **şablonun yüklendiği andan** **şablonun dağıtıldığı ana** kadar olan **küçük bir zaman penceresi** olduğu için mümkündür. Bir saldırgan, hesabında **bir lambda fonksiyonu** oluşturabilir ve bu fonksiyon **bir bucket bildirimi gönderildiğinde tetiklenir** ve **o bucket'ın** **içeriğini ele geçirir**.
![](<../../../images/image (174).png>)
@@ -43,23 +43,23 @@ Daha fazla bilgi için orijinal araştırmaya bakın: [https://rhinosecuritylabs
### `s3:PutObject`, `s3:GetObject` <a href="#s3putobject-s3getobject" id="s3putobject-s3getobject"></a>
Bunlar **S3'e nesne yüklemek ve almak için** gereken izinlerdir. AWS içindeki (ve dışındaki) çeşitli hizmetler, **konfigürasyon dosyalarını** saklamak için S3 depolamasını kullanır.\
Bunlar **S3'e nesne yüklemek ve almak için** gereken izinlerdir. AWS içindeki (ve dışındaki) çeşitli hizmetler, **konfigürasyon dosyalarını** depolamak için S3 depolamasını kullanır.\
Onlara **okuma erişimi** olan bir saldırgan, üzerinde **hassas bilgiler** bulabilir.\
Onlara **yazma erişimi** olan bir saldırgan, **verileri değiştirerek bazı hizmetleri kötüye kullanabilir ve ayrıcalıkları artırmaya çalışabilir**.\
Bunlar bazı örneklerdir:
- Eğer bir EC2 örneği **kullanıcı verilerini bir S3 bucket'ında** saklıyorsa, bir saldırgan bunu **EC2 örneği içinde rastgele kod çalıştırmak için değiştirebilir**.
- Eğer bir EC2 örneği **kullanıcı verilerini bir S3 bucket'ında** depoluyorsa, bir saldırgan bunu **EC2 örneği içinde rastgele kod çalıştırmak için değiştirebilir**.
### `s3:PutObject`, `s3:GetObject` (isteğe bağlı) terraform durum dosyası üzerinden
[Terraform](https://cloud.hacktricks.wiki/en/pentesting-ci-cd/terraform-security.html) durum dosyalarının bulut sağlayıcılarının blob depolama alanlarına kaydedilmesi oldukça yaygındır, örneğin AWS S3. Bir durum dosyasının dosya uzantısı `.tfstate`dir ve bucket adları genellikle terraform durum dosyalarını içerdiğini gösterir. Genellikle, her AWS hesabının durum dosyalarını saklamak için böyle bir bucket'ı vardır. Ayrıca genellikle, gerçek dünya hesaplarında neredeyse her geliştiricinin `s3:*` ve bazen hatta iş kullanıcılarının `s3:Put*` erişimi vardır.
[terraform](https://cloud.hacktricks.wiki/en/pentesting-ci-cd/terraform-security.html) durum dosyalarının bulut sağlayıcılarının blob depolama alanlarına kaydedilmesi oldukça yaygındır, örneğin AWS S3. Bir durum dosyasının dosya uzantısı `.tfstate`dir ve bucket adları genellikle terraform durum dosyalarını içerdiğini gösterir. Genellikle, her AWS hesabının durum dosyalarını depolamak için böyle bir bucket'ı vardır. Ayrıca genellikle, gerçek dünya hesaplarında neredeyse her geliştiricinin `s3:*` ve bazen hatta iş kullanıcılarının `s3:Put*` erişimi vardır.
Yani, bu dosyalar üzerindeki izinlere sahipseniz, `terraform` ayrıcalıklarıyla pipeline'da RCE elde etmenizi sağlayan bir saldırı vektörü vardır - çoğu zaman `AdministratorAccess`, sizi bulut hesabının yöneticisi yapar. Ayrıca, `terraform`'un meşru kaynakları silmesini sağlayarak bir hizmet reddi saldırısı yapmak için bu vektörü kullanabilirsiniz.
Bu nedenle, bu dosyalar üzerindeki izinlere sahipseniz, `terraform` ayrıcalıklarıyla, çoğu zaman `AdministratorAccess` ile, pipeline'da RCE elde etmenizi sağlayan bir saldırı vektörü vardır; bu da sizi bulut hesabının yöneticisi yapar. Ayrıca, `terraform`'un meşru kaynakları silmesini sağlayarak bir hizmet reddi saldırısı yapmak için bu vektörü kullanabilirsiniz.
Doğrudan kullanılabilir istismar kodu için *Terraform Güvenliği* sayfasının *Terraform Durum Dosyalarını Kötüye Kullanma* bölümündeki açıklamayı takip edin:
{{#ref}}
pentesting-ci-cd/terraform-security.md#abusing-terraform-state-files
../../../pentesting-ci-cd/terraform-security.md#abusing-terraform-state-files
{{#endref}}
### `s3:PutBucketPolicy`
@@ -122,7 +122,7 @@ aws s3api put-bucket-policy --policy file:///root/policy.json --bucket <bucket-n
```
### `s3:GetBucketAcl`, `s3:PutBucketAcl`
Bir saldırgan, bu izinleri **belirli bucket'lar üzerinde daha fazla erişim sağlamak** için kötüye kullanabilir.\
Bir saldırgan, bu izinleri **belirli bucket'lar üzerinde daha fazla erişim sağlamak için** kötüye kullanabilir.\
Saldırganın aynı hesapta olması gerekmediğini unutmayın. Ayrıca yazma erişimi
```bash
# Update bucket ACL