AWS - S3 Unauthenticated Enum
Öffentliche S3-Buckets
Ein Bucket gilt als "öffentlich", wenn jeder Benutzer den Inhalt des Buckets auflisten kann, und "privat", wenn der Inhalt des Buckets nur von bestimmten Benutzern aufgelistet oder geschrieben werden kann.
Unternehmen könnten Bucket-Berechtigungen falsch konfiguriert haben, sodass entweder auf alles oder auf jeden authentifizierten Benutzer in AWS in jedem Konto zugegriffen werden kann (also auf jeden). Beachten Sie, dass selbst bei solchen Fehlkonfigurationen einige Aktionen möglicherweise nicht ausgeführt werden können, da Buckets ihre eigenen Zugriffssteuerungslisten (ACLs) haben können.
Erfahren Sie hier mehr über AWS-S3-Fehlkonfigurationen: http://flaws.cloud und http://flaws2.cloud/
Auffinden von AWS-Buckets
Verschiedene Methoden, um festzustellen, ob eine Webseite AWS verwendet, um einige Ressourcen zu speichern:
Enumeration & OSINT:
Verwendung des Browser-Plugins wappalyzer
Durchsuchen mit burp (das Web spidering) oder durch manuelles Navigieren auf der Seite werden alle geladenen Ressourcen im Verlauf gespeichert.
Überprüfen Sie Ressourcen auf Domains wie:
Überprüfen Sie CNAMES, da
resources.domain.com
den CNAMEbucket.s3.amazonaws.com
haben könnte.Überprüfen Sie https://buckets.grayhatwarfare.com, eine Website mit bereits entdeckten offenen Buckets.
Der Bucket-Name und der Bucket-Domänenname müssen übereinstimmen.
flaws.cloud hat die IP 52.92.181.107 und wenn Sie dorthin gehen, leitet es Sie zu https://aws.amazon.com/s3/ weiter. Außerdem gibt
dig -x 52.92.181.107
s3-website-us-west-2.amazonaws.com
zurück.Um zu überprüfen, ob es sich um einen Bucket handelt, können Sie auch https://flaws.cloud.s3.amazonaws.com/ besuchen.
Brute-Force
Sie können Buckets finden, indem Sie Namens-Brute-Force im Zusammenhang mit dem Unternehmen durchführen, das Sie pentesten:
https://github.com/jordanpotti/AWSBucketDump (Enthält eine Liste mit potenziellen Bucket-Namen)
Beute S3-Buckets
Bei offenen S3-Buckets kann BucketLoot automatisch nach interessanten Informationen suchen.
Region finden
Sie können alle unterstützten Regionen von AWS unter https://docs.aws.amazon.com/general/latest/gr/s3.html finden
Über DNS
Sie können die Region eines Buckets mit einem dig
und nslookup
erhalten, indem Sie eine DNS-Anfrage an die entdeckte IP durchführen:
Überprüfen Sie, ob die aufgelöste Domain das Wort "Website" enthält.
Sie können auf die statische Website zugreifen, indem Sie zu gehen: flaws.cloud.s3-website-us-west-2.amazonaws.com
oder Sie können auf den Bucket zugreifen, indem Sie flaws.cloud.s3-us-west-2.amazonaws.com
besuchen
Durch Ausprobieren
Wenn Sie versuchen, auf einen Bucket zuzugreifen, aber in der Domain einen anderen Region angeben (zum Beispiel ist der Bucket in bucket.s3.amazonaws.com
, aber Sie versuchen auf bucket.s3-website-us-west-2.amazonaws.com
zuzugreifen), werden Sie zum richtigen Ort geleitet:
Auflisten des Buckets
Um die Offenheit des Buckets zu testen, kann ein Benutzer einfach die URL in seinem Webbrowser eingeben. Ein privater Bucket antwortet mit "Zugriff verweigert". Ein öffentlicher Bucket listet die ersten 1.000 gespeicherten Objekte auf.
Für jeden zugänglich:
Privat:
Sie können dies auch mit der Befehlszeile überprüfen:
Öffentliche URL-Vorlage
Account-ID aus öffentlichem Bucket erhalten
Es ist möglich, ein AWS-Konto zu bestimmen, indem man die neue S3:ResourceAccount
Policy Condition Key ausnutzt. Diese Bedingung beschränkt den Zugriff basierend auf dem S3-Bucket, in dem sich ein Konto befindet (andere kontobasierte Richtlinien beschränken sich auf das Konto, in dem sich der anfordernde Hauptbenutzer befindet).
Und da die Richtlinie Platzhalter enthalten kann, ist es möglich, die Kontonummer nur eine Nummer nach der anderen zu finden.
Dieses Tool automatisiert den Prozess:
Diese Technik funktioniert auch mit API Gateway-URLs, Lambda-URLs, Datenaustausch-Datensätzen und sogar, um den Wert von Tags zu erhalten (wenn Sie den Tag-Schlüssel kennen). Weitere Informationen finden Sie in der Originalforschung und im Tool conditional-love, um diese Ausnutzung zu automatisieren.
Referenzen
Last updated