
Rápida e discreta ferramenta de enumeração de buckets do Amazon S3 para pentesters.
s3enum é uma ferramenta rápida e discreta de enumeração de buckets do Amazon S3. Ela utiliza DNS em vez de HTTP, o que significa que as requisições não são registradas nos logs de acesso do servidor S3.
Foi originalmente construída em 2016 para atingir o GitHub.
go install github.com/koenrh/s3enum@latest
Você precisa especificar o nome base do alvo (ex.: hackerone), uma wordlist e uma suffixlist. Os nomes de bucket candidatos são gerados combinando o nome do alvo com cada palavra (usando -, _, . e sem delimitador) e, em seguida, opcionalmente prefixando ou sufixando cada entrada da suffixlist. Você pode usar os arquivos de exemplo wordlist.txt e suffixlist.txt deste repositório, ou obter uma wordlist em outro lugar. Opcionalmente, você pode especificar o número de workers (padrão 50).
$ s3enum \
-wordlist examples/wordlist.txt \
-suffixlist examples/suffixlist.txt \
hackerone
hackerone
hackerone-attachment
hackerone-attachments
hackerone-static
hackerone-upload
Por padrão, o s3enum usará o servidor de nomes especificado em /etc/resolv.conf. Alternativamente, você pode especificar um servidor de nomes diferente usando a opção -nameserver. Além disso, você pode testar vários nomes ao mesmo tempo.
s3enum \
-wordlist examples/wordlist.txt \
-suffixlist examples/suffixlist.txt \
-nameserver 1.1.1.1 \
-workers 100 \
hackerone h1 roflcopter
A detecção de buckets depende de respostas CNAME sob s3.amazonaws.com. Buckets em us-east-1 resolvem para s3-1-w.amazonaws.com e atualmente são indistinguíveis de buckets inexistentes.