
Ein Penetrationstest-Werkzeug zur Aufzählung und Analyse von Amazon S3 Buckets, die zu einer Domain gehören.
Warnung: Der Code ist schrecklich, da ich ihn nur für den persönlichen Gebrauch genutzt habe. Wenn ich Zeit habe, werde ich ihn weniger schrecklich (und schneller) machen.
Bei der Aufklärung einer Domain ist es sehr wichtig, die dazugehörigen Assets zu verstehen. AWS S3 Bucket-Berechtigungen wurden immer wieder falsch konfiguriert und haben die Offenlegung sensibler Daten ermöglicht.
Dieses Tool zählt S3 Bucket-Namen auf, indem es gängige Muster verwendet, die ich während meiner Bug-Bounty- und Pentesting-Erfahrung identifiziert habe. Permutationen werden auf einen Root-Domain-Namen mit einer benutzerdefinierten Wortliste unterstützt. Ich empfehle dringend die in AltDNS enthaltene.
Zu jedem gefundenen Bucket werden folgende Informationen zurückgegeben:
go get -u github.com/glen-mac/goGetBucket
goGetBucket -m ~/tools/altdns/words.txt -d <domain> -o <output> -i <wordlist>
Verwendung von ./goGetBucket:
-d string
Angegebener Domain-Name (wird mit dem Mutations-Flag verwendet)
-f string
Pfad zu einer Testdatei (Standard: "/tmp/test.file")
-i string
Pfad zur Eingabewortliste für die Aufzählung
-k string
Schlüsselwortliste (wird mit dem Mutations-Flag verwendet)
-m string
Pfad zur Mutationswortliste (erfordert das Domain-Flag)
-o string
Pfad zur Ausgabedatei zum Speichern des Protokolls
-t int
Anzahl gleichzeitiger Threads (Standard: 100)
Während meiner Nutzung habe ich die besten Ergebnisse erzielt, wenn ich eine Liste (-i) von Subdomains für eine interessierende Root-Domain eingebe. Z.B.:
www.domain.com
mail.domain.com
dev.domain.com
Die Testdatei (-f) ist eine Datei, die das Skript im Bucket speichern wird, um Schreibberechtigungen zu testen. Vielleicht sollten Sie Ihre Kontaktdaten und eine Warnmeldung speichern, wenn dies während eines Bountys durchgeführt wird?
Die Schlüsselwortliste (-k) wird mit dem Root-Domain-Namen (-d) und der Domain ohne TLD verkettet, um mit der angegebenen Permutationswortliste (-m) zu permutieren.
Achten Sie darauf, die Anzahl der Threads (-t) nicht zu hoch zu setzen – die AWS-API hat ein Rate-Limiting, das einsetzt und einen unerwünschten Rückgabecode liefert.