
Outil d'énumération basé sur DNS et multi-threadé pour découvrir des buckets AWS S3 à l'aide de listes de mots pré-compilées et de résolveurs DNS personnalisés, avec déploiement Docker optionnel.
go get -u github.com/smiegles/mass3
mass3 -w ./lists/buckets.txt -r ./lists/resolvers.txt -t 100
| argument | explication |
|---|---|
| -w | La wordlist contenant tous les buckets S3 pré-compilés (bucketname.s3.amazonaws.com) |
| -r | Liste de tous les résolveurs |
| -t | Le nombre de threads à utiliser, 10 par défaut |
| -o | Le chemin du fichier pour enregistrer la sortie (Ceci est optionnel. Par défaut, il sera enregistré dans out.csv) |
docker build -t <nom> .
docker run -it <nom> -w buckets.txt -r resolvers.txt -t 100 -o /tmp/out.csv
Q : Pourquoi ne pas générer tous les noms de buckets S3 "potentiels" directement dans l'outil ?
R : Cet outil ne connaît pas la reconnaissance que vous avez déjà collectée, par exemple les sous-domaines. Lorsque vous avez une énorme liste de sous-domaines, vous pouvez exécuter alt-dns dessus et essayer de trouver d'autres buckets S3 qui n'ont peut-être pas encore d'enregistrement DNS configuré.
Q : L'outil retourne des buckets inexistants étranges
R : L'outil dépend du fichier lists/resolvers.txt pour être précis, sans résolveurs "défectueux". Vous pouvez utiliser fresh.sh pour nettoyer la liste des résolveurs.
Q : Combien de threads dois-je utiliser ?
R : Cela dépend de vos ressources. Personnellement, j'utilise 500 threads, ce qui semble bien fonctionner pour moi.
Crédits à @koenrh qui a créé s3enum. J'ai utilisé certaines parties de son code et la manière dont il identifie si un bucket S3 existe via DNS.