AWS - S3 Unauthenticated Enum
S3 Genel Kovaları
Bir kova "genel" olarak kabul edilir eğer herhangi bir kullanıcı kovanın içeriğini listeleyebilirse, ve "özel" ise kova içeriği yalnızca belirli kullanıcılar tarafından listelenebilir veya yazılabilirse.
Şirketler, kova izinlerini yanlış yapılandırarak her şeye veya AWS'de herhangi bir hesapta kimliği doğrulanmış herkese erişim sağlayabilirler. Unutmayın, bu tür yanlış yapılandırmalarla bazı işlemlerin gerçekleştirilemeyebileceğini, çünkü kovaların kendi erişim kontrol listelerine (ACL'ler) sahip olabileceğini unutmayın.
AWS-S3 yanlış yapılandırması hakkında bilgi edinin: http://flaws.cloud ve http://flaws2.cloud/
AWS Kovalarını Bulma
Bir web sayfasının AWS'yi kullanıp kullanmadığını bulmanın farklı yöntemleri:
Numaralandırma ve OSINT:
wappalyzer tarayıcı eklentisini kullanarak
Burp'u kullanarak (web tarayarak) veya sayfada manuel olarak gezinerek tüm yüklenen kaynaklar Geçmiş'te kaydedilecektir.
Alanlar için kaynakları kontrol edin:
resources.domain.com
gibi CNAMES için kontrol edin,bucket.s3.amazonaws.com
CNAME'ye sahip olabilir.https://buckets.grayhatwarfare.com adresine bakın, zaten açık kovalar keşfedilmiş bir web sitesi.
Kova adı ve kova alan adının aynı olması gerekir.
flaws.cloud IP 52.92.181.107'de ve oraya gittiğinizde sizi 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 olduğunu kontrol etmek için https://flaws.cloud.s3.amazonaws.com/ adresini de ziyaret edebilirsiniz.
Kaba Kuvvet
Pentest yaptığınız şirketle ilgili kova adlarını kaba kuvvetle bulabilirsiniz:
https://github.com/jordanpotti/AWSBucketDump (Potansiyel kova adları içeren bir liste içerir)
S3 Kovalarını Yağma
Açık S3 kovaları verildiğinde, BucketLoot otomatik olarak ilginç bilgileri arayabilir.
Bölgeyi Bulma
AWS tarafından desteklenen tüm bölgeleri https://docs.aws.amazon.com/general/latest/gr/s3.html adresinde bulabilirsiniz.
DNS ile
Bir kova bölgesini keşfedilen IP'nin DNS isteği yaparak dig
ve nslookup
ile alabilirsiniz:
Denetleme
Çözümlenen alan adında "website" kelimesinin bulunduğundan emin olun.
Statik web sitesine şu adresten erişebilirsiniz: flaws.cloud.s3-website-us-west-2.amazonaws.com
veya kovaya şu adresten erişebilirsiniz: flaws.cloud.s3-us-west-2.amazonaws.com
Deneyerek
Bir kovaya erişmeyi denediğinizde, ancak belirttiğiniz alan adında başka bir bölge olduğunda (örneğin kova bucket.s3.amazonaws.com
içindeyken bucket.s3-website-us-west-2.amazonaws.com
'a erişmeye çalışırsanız, doğru konuma yönlendirileceksiniz:
Kovayı Numaralandırma
Bir kullanıcının kovanın açıklığını test etmek için sadece URL'yi web tarayıcısına girmesi yeterlidir. Özel bir kova "Erişim Reddedildi" yanıtı verecektir. Genel bir kova ise depolanan ilk 1.000 nesneyi listeleyecektir.
Herkese açık:
Özel:
Ayrıca bunu cli ile de kontrol edebilirsiniz:
Eğer kovada bir alan adı yoksa, numaralandırmaya çalışırken yalnızca kova adını ve tüm AWSs3 alan adını değil. Örnek: s3://<BUCKETNAME>
Genel URL şablonu
Genel Kova'dan Hesap Kimliği Al
Yeni S3:ResourceAccount
Politika Koşulu Anahtarı'ndan faydalanarak bir AWS hesabını belirlemek mümkündür. Bu koşul, erişimi S3 kovasına göre kısıtlar (diğer hesap tabanlı politikalar, istekte bulunan ana hesaba göre kısıtlar).
Ve çünkü politika yer tutucuları içerebilir, hesap numarasını sadece bir numara ile birlikte bulmak mümkündür.
Bu araç süreci otomatikleştirir:
Bu teknik aynı zamanda API Gateway URL'leri, Lambda URL'leri, Veri Değişim veri setleri ve hatta etiket değerlerini almak için de çalışır (eğer etiket anahtarını biliyorsanız). Daha fazla bilgiyi orijinal araştırmada ve bu saldırıyı otomatikleştirmek için conditional-love aracında bulabilirsiniz.
Referanslar
Last updated