
Un outil de test de pénétration pour énumérer et analyser les Buckets Amazon S3 appartenant à un domaine.
Attention : le code est horrible car je ne l'ai utilisé que pour un usage personnel. Quand j'aurai le temps, je le rendrai moins horrible (et plus rapide).
Lors d'une reconnaissance sur un domaine, il est très important de comprendre les actifs qu'il possède. Les permissions des buckets AWS S3 ont été mal configurées à maintes reprises, permettant l'exposition de documents sensibles.
Cet outil énumère les noms de buckets S3 en utilisant des motifs courants que j'ai identifiés lors de mes chasses aux bugs et tests d'intrusion. Les permutations sont prises en charge sur un nom de domaine racine à l'aide d'une wordlist personnalisée. Je recommande vivement celle incluse dans AltDNS.
Les informations suivantes seront retournées pour chaque bucket trouvé :
go get -u github.com/glen-mac/goGetBucket
goGetBucket -m ~/tools/altdns/words.txt -d <domain> -o <output> -i <wordlist>
Usage of ./goGetBucket:
-d string
Supplied domain name (used with mutation flag)
-f string
Path to a testfile (default "/tmp/test.file")
-i string
Path to input wordlist to enumerate
-k string
Keyword list (used with mutation flag)
-m string
Path to mutation wordlist (requires domain flag)
-o string
Path to output file to store log
-t int
Number of concurrent threads (default 100)
Au cours de mon utilisation de l'outil, j'ai obtenu les meilleurs résultats en fournissant une liste (-i) de sous-domaines pour un domaine racine qui m'intéresse. Par exemple :
www.domain.com
mail.domain.com
dev.domain.com
Le fichier de test (-f) est un fichier que le script tentera de stocker dans le bucket pour tester les permissions d'écriture. Peut-être stockez vos coordonnées et un message d'avertissement si cela est fait dans le cadre d'un programme de bug bounty ?
La liste de mots-clés (-k) est concaténée avec le nom de domaine racine (-d) et le domaine sans le TLD pour effectuer des permutations en utilisant la wordlist de permutations fournie (-m).
Veillez à ne pas augmenter trop le nombre de threads (-t) - car AWS a une limitation de débit de l'API qui s'activera et commencera à renvoyer un code de retour indésirable.