mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-29 07:00:29 -07:00
Translated ['src/pentesting-cloud/aws-security/aws-unauthenticated-enum-
This commit is contained in:
+24
-21
@@ -1,23 +1,23 @@
|
||||
# AWS - S3 Kimlik Doğrulaması Olmadan Enum
|
||||
# AWS - S3 Yetkisiz Enum
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## S3 Kamuya Açık Kovalara
|
||||
## S3 Kamu Bucket'ları
|
||||
|
||||
Bir kova, **herhangi bir kullanıcının** içeriğini listeleyebildiği durumda **“kamuya açık”** olarak kabul edilir ve **sadece belirli kullanıcılar tarafından** içeriği listeleyip yazılabiliyorsa **“özel”** olarak kabul edilir.
|
||||
Bir bucket, **herhangi bir kullanıcının içeriğini listeleyebildiği** durumda **“kamu”** olarak kabul edilir ve **sadece belirli kullanıcılar tarafından listeleme veya yazma işlemlerinin yapılabildiği** durumda **“özel”** olarak kabul edilir.
|
||||
|
||||
Şirketlerin **kova izinleri yanlış yapılandırılmış** olabilir, bu da her şeye veya AWS'de herhangi bir hesapta kimliği doğrulanmış herkesin erişimine izin verebilir (yani herkese). Bu tür yanlış yapılandırmalarda, bazı eylemlerin gerçekleştirilemeyebileceğini unutmayın, çünkü kovaların kendi erişim kontrol listeleri (ACL'ler) olabilir.
|
||||
Şirketler, AWS'deki herhangi bir hesapta her şeye veya herkese erişim sağlayan **bucket izinlerini yanlış yapılandırmış** olabilir (yani, herkese). Bu tür yanlış yapılandırmalarda bazı eylemlerin gerçekleştirilemeyeceğini unutmayın, çünkü bucket'ların kendi erişim kontrol listeleri (ACL'ler) olabilir.
|
||||
|
||||
**AWS-S3 yanlış yapılandırması hakkında bilgi edinin:** [**http://flaws.cloud**](http://flaws.cloud/) **ve** [**http://flaws2.cloud/**](http://flaws2.cloud)
|
||||
|
||||
### AWS Kovalara Ulaşma
|
||||
### AWS Bucket'larını Bulma
|
||||
|
||||
Bir web sayfasının bazı kaynakları depolamak için AWS kullanıp kullanmadığını bulmanın farklı yöntemleri:
|
||||
|
||||
#### Enum ve OSINT:
|
||||
|
||||
- **wappalyzer** tarayıcı eklentisini kullanma
|
||||
- burp kullanarak (**web'i tarama**) veya sayfada manuel olarak gezerek tüm **yüklenen kaynaklar** Geçmiş'e kaydedilecektir.
|
||||
- Burp kullanarak (**web'i tarama**) veya sayfada manuel olarak gezinerek tüm **yüklenen kaynaklar** Geçmiş'e kaydedilecektir.
|
||||
- **Kaynakları kontrol et** şu alanlarda:
|
||||
|
||||
```
|
||||
@@ -25,19 +25,20 @@ http://s3.amazonaws.com/[bucket_name]/
|
||||
http://[bucket_name].s3.amazonaws.com/
|
||||
```
|
||||
|
||||
- **CNAMES** kontrol edin, çünkü `resources.domain.com` CNAME `bucket.s3.amazonaws.com` olabilir
|
||||
- [https://buckets.grayhatwarfare.com](https://buckets.grayhatwarfare.com/)'u kontrol edin, zaten **keşfedilmiş açık kovalara** sahip bir web.
|
||||
- **kova adı** ve **kova alan adı** **aynı olmalıdır.**
|
||||
- **CNAMES** kontrol edin, çünkü `resources.domain.com` CNAME `bucket.s3.amazonaws.com` olabilir.
|
||||
- **[s3dns](https://github.com/olizimmermann/s3dns)** – DNS trafiğini analiz ederek bulut depolama bucket'larını (S3, GCP, Azure) pasif olarak tanımlayan hafif bir DNS sunucusu. CNAME'leri tespit eder, çözüm zincirlerini takip eder ve bucket desenlerini eşleştirir, kaba kuvvet veya API tabanlı keşif için sessiz bir alternatif sunar. Recon ve OSINT iş akışları için mükemmel.
|
||||
- [https://buckets.grayhatwarfare.com](https://buckets.grayhatwarfare.com/)'u kontrol edin, zaten **keşfedilmiş açık bucket'lar** ile bir web.
|
||||
- **bucket adı** ve **bucket alan adı** **aynı olmalıdır.**
|
||||
- **flaws.cloud** **IP** 52.92.181.107'dir ve oraya giderseniz [https://aws.amazon.com/s3/](https://aws.amazon.com/s3/) adresine yönlendirir. Ayrıca, `dig -x 52.92.181.107` `s3-website-us-west-2.amazonaws.com` verir.
|
||||
- Bir kova olup olmadığını kontrol etmek için [https://flaws.cloud.s3.amazonaws.com/](https://flaws.cloud.s3.amazonaws.com/) adresini de **ziyaret edebilirsiniz**.
|
||||
- Bir bucket olup olmadığını kontrol etmek için [https://flaws.cloud.s3.amazonaws.com/](https://flaws.cloud.s3.amazonaws.com/) adresini de **ziyaret edebilirsiniz**.
|
||||
|
||||
#### Kaba Kuvvet
|
||||
|
||||
Kovaları, test ettiğiniz şirketle ilgili **isimleri kaba kuvvetle deneyerek** bulabilirsiniz:
|
||||
Bucket'ları, test ettiğiniz şirketle ilgili **isimleri kaba kuvvetle** bulabilirsiniz:
|
||||
|
||||
- [https://github.com/sa7mon/S3Scanner](https://github.com/sa7mon/S3Scanner)
|
||||
- [https://github.com/clario-tech/s3-inspector](https://github.com/clario-tech/s3-inspector)
|
||||
- [https://github.com/jordanpotti/AWSBucketDump](https://github.com/jordanpotti/AWSBucketDump) (Potansiyel kova adları içeren bir liste içerir)
|
||||
- [https://github.com/jordanpotti/AWSBucketDump](https://github.com/jordanpotti/AWSBucketDump) (Potansiyel bucket isimleri içeren bir liste içerir)
|
||||
- [https://github.com/fellchase/flumberboozle/tree/master/flumberbuckets](https://github.com/fellchase/flumberboozle/tree/master/flumberbuckets)
|
||||
- [https://github.com/smaranchand/bucky](https://github.com/smaranchand/bucky)
|
||||
- [https://github.com/tomdev/teh_s3_bucketeers](https://github.com/tomdev/teh_s3_bucketeers)
|
||||
@@ -75,9 +76,9 @@ cat /tmp/final-words-s3.txt.temp2 /tmp/final-words-s3.txt.temp3 /tmp/final-words
|
||||
s3scanner --threads 100 scan --buckets-file /tmp/final-words-s3.txt | grep bucket_exists
|
||||
</code></pre>
|
||||
|
||||
#### S3 Kovalardan Hırsızlık
|
||||
#### S3 Bucket'larını Ele Geçirme
|
||||
|
||||
Açık S3 kovalara sahip olduğunuzda, [**BucketLoot**](https://github.com/redhuntlabs/BucketLoot) otomatik olarak **ilginç bilgileri arayabilir**.
|
||||
Açık S3 bucket'ları verildiğinde, [**BucketLoot**](https://github.com/redhuntlabs/BucketLoot) otomatik olarak **ilginç bilgileri arayabilir**.
|
||||
|
||||
### Bölgeyi Bulma
|
||||
|
||||
@@ -85,7 +86,7 @@ AWS tarafından desteklenen tüm bölgeleri [**https://docs.aws.amazon.com/gener
|
||||
|
||||
#### DNS ile
|
||||
|
||||
Bir kovanın bölgesini **`dig`** ve **`nslookup`** kullanarak, keşfedilen IP'nin **DNS isteğini** yaparak alabilirsiniz:
|
||||
Bir bucket'ın bölgesini **`dig`** ve **`nslookup`** ile, keşfedilen IP'nin **DNS isteğini** yaparak alabilirsiniz:
|
||||
```bash
|
||||
dig flaws.cloud
|
||||
;; ANSWER SECTION:
|
||||
@@ -95,9 +96,11 @@ nslookup 52.218.192.11
|
||||
Non-authoritative answer:
|
||||
11.192.218.52.in-addr.arpa name = s3-website-us-west-2.amazonaws.com.
|
||||
```
|
||||
Çözümlemenin yapıldığı alan adının "website" kelimesini içerdiğinden emin olun.\
|
||||
Kontrol edin ki çözümlenen alan adında "website" kelimesi var.\
|
||||
Statik web sitesine şu adresten erişebilirsiniz: `flaws.cloud.s3-website-us-west-2.amazonaws.com`\
|
||||
veya kovaya erişmek için şu adresi ziyaret edebilirsiniz: `flaws.cloud.s3-us-west-2.amazonaws.com`
|
||||
veya kovaya şu adresi ziyaret ederek erişebilirsiniz: `flaws.cloud.s3-us-west-2.amazonaws.com`
|
||||
|
||||
|
||||
|
||||
#### Deneyerek
|
||||
|
||||
@@ -131,7 +134,7 @@ Eğer bucket'ın bir alan adı yoksa, onu listelemeye çalışırken **sadece bu
|
||||
```
|
||||
https://{user_provided}.s3.amazonaws.com
|
||||
```
|
||||
### Kamuya Açık Bucket'tan Hesap Kimliği Alın
|
||||
### Kamu Bucket'ından Hesap ID'si Almak
|
||||
|
||||
Yeni **`S3:ResourceAccount`** **Politika Koşul Anahtarı**'ndan yararlanarak bir AWS hesabını belirlemek mümkündür. Bu koşul, bir hesabın bulunduğu S3 bucket'a dayalı olarak **erişimi kısıtlar** (diğer hesap tabanlı politikalar, talep eden ilkenin bulunduğu hesaba göre kısıtlar).\
|
||||
Ve politika **joker karakterler** içerebildiğinden, hesap numarasını **sadece bir rakamda** bulmak mümkündür.
|
||||
@@ -150,7 +153,7 @@ Bu teknik, API Gateway URL'leri, Lambda URL'leri, Data Exchange veri setleri ile
|
||||
|
||||
### Bir bucket'ın bir AWS hesabına ait olduğunu doğrulama
|
||||
|
||||
[**bu blog yazısında**](https://blog.plerion.com/things-you-wish-you-didnt-need-to-know-about-s3/) açıklandığı gibi, **bir bucket'ı listeleme izinleriniz varsa** bir isteği göndererek bucket'ın ait olduğu accountID'yi doğrulamak mümkündür:
|
||||
[**bu blog yazısında**](https://blog.plerion.com/things-you-wish-you-didnt-need-to-know-about-s3/) açıklandığı gibi, bir bucket'ı listeleme izinleriniz varsa, bir istek göndererek bucket'ın ait olduğu accountID'yi doğrulamak mümkündür:
|
||||
```bash
|
||||
curl -X GET "[bucketname].amazonaws.com/" \
|
||||
-H "x-amz-expected-bucket-owner: [correct-account-id]"
|
||||
@@ -160,9 +163,9 @@ curl -X GET "[bucketname].amazonaws.com/" \
|
||||
```
|
||||
Eğer hata “Erişim Reddedildi” ise, bu hesap kimliğinin yanlış olduğu anlamına gelir.
|
||||
|
||||
### Root hesap numaralandırması olarak kullanılan e-postalar
|
||||
### Root hesap numaralandırması için kullanılan e-postalar
|
||||
|
||||
[**bu blog yazısında**](https://blog.plerion.com/things-you-wish-you-didnt-need-to-know-about-s3/) açıklandığı gibi, bir e-posta adresinin herhangi bir AWS hesabıyla ilişkili olup olmadığını **bir S3 bucket üzerinde e-posta izinleri vermeyi deneyerek** kontrol etmek mümkündür. Eğer bu bir hata tetiklemiyorsa, bu e-postanın bazı AWS hesaplarının root kullanıcısı olduğu anlamına gelir:
|
||||
[**bu blog yazısında**](https://blog.plerion.com/things-you-wish-you-didnt-need-to-know-about-s3/) açıklandığı gibi, bir e-posta adresinin herhangi bir AWS hesabıyla ilişkili olup olmadığını kontrol etmek mümkündür; **bir S3 bucket üzerinde bir e-posta adresine ACL'ler aracılığıyla izin vermeyi deneyerek**. Eğer bu bir hata tetiklemiyorsa, bu e-postanın bazı AWS hesaplarının root kullanıcısı olduğu anlamına gelir:
|
||||
```python
|
||||
s3_client.put_bucket_acl(
|
||||
Bucket=bucket_name,
|
||||
|
||||
Reference in New Issue
Block a user