Go Shell
Switch branches/tags
Latest commit ed16827 Dec 11, 2017 @bbb31 bbb31 bug fix: punycode sprintf
Failed to load latest commit information.
vendor punycode checks Dec 5, 2017
.gitignore build cleanup Dec 3, 2017
LICENSE add license/readme Dec 3, 2017
README.md update readme Dec 6, 2017
build.sh build cleanup Dec 3, 2017
main.go bug fix: punycode sprintf Dec 11, 2017
permutations.json add more permutations Dec 9, 2017



Enumerates S3 buckets manually or via certstream





  • Written in Go:
    • It's faster than python
    • No dependency hell and version locks (ie python 3 and requirements.txt, etc)
    • Better concurrency
    • Punycode support for internationalized domains (S3 doesn't allow internationalized buckets; so this app just notifies and skips (certstream) or exits (manual mode))
  • Manual mode so that you can test individual domains.
  • Certstream mode so that you can enumerate s3 buckets in real time.
  • Colorized output for visual grep ;)
  • Currently generates over 400 permutations per domain
  • StoreInDB which will eventually be used to push data to a database
  • Strong copyleft license


  • slurp domain --domain google.com will enumerate the S3 domains for a specific target.
  • slurp certstream will follow certstream and enumerate S3 buckets from each domain.
  • permutations.json stores the permutations that are used by the program; they are in JSON format and loaded during execution this is required; it assumes a specific format per permutation: anything_you_want.%s; the ending .%s is required otherwise the AWS S3 URL will not be attached to it, and therefore no results will come from S3 enumeration. If you need flexible permutations then you have to edit the source.


  • Download from Releases section, or build yourself with go build or build.sh.
    • Make sure you clone to $GOPATH/src or you will get build errors!


  • AGPLv3