
Ferramenta de enumeração baseada em DNS multithread para descobrir buckets AWS S3 usando wordlists pré-compiladas e resolvedores DNS personalizados, com implantação opcional via Docker.
go get -u github.com/smiegles/mass3
mass3 -w ./lists/buckets.txt -r ./lists/resolvers.txt -t 100
| argumento | explicação |
|---|---|
| -w | A wordlist com todos os buckets S3 pré-compilados (bucketname.s3.amazonaws.com) |
| -r | Lista com todos os resolvedores |
| -t | A quantidade de threads a usar, 10 é o padrão |
| -o | O caminho do arquivo para salvar a saída (Opcional. Por padrão, será salvo em out.csv) |
docker build -t <nome> .
docker run -it <nome> -w buckets.txt -r resolvers.txt -t 100 -o /tmp/out.csv
P: Por que não gerar todos os nomes "potenciais" de buckets S3 na ferramenta?
R: Esta ferramenta não conhece o reconhecimento que você já coletou, por exemplo, subdomínios. Quando você tem uma enorme lista de subdomínios, pode executar alt-dns sobre ela e tentar encontrar outros buckets S3 que podem não ter um registro DNS configurado (ainda).
P: A ferramenta retorna buckets estranhos que não existem
R: A ferramenta depende do arquivo lists/resolvers.txt ser preciso, sem resolvedores "ruins". Você pode usar o fresh.sh para limpar a lista de resolvedores.
P: Quantas threads devo usar?
R: Depende dos seus recursos. Eu pessoalmente uso 500 threads, o que parece funcionar bem para mim.
Créditos para @koenrh que criou o s3enum. Usei algumas partes do código dele e a forma como ele identifica se um bucket S3 existe usando DNS.