Sandcastle is a Python-based Amazon AWS S3 Bucket Enumeration Tool, formerly known as bucketCrawler. The script takes a target’s name as the stem argument (e.g. shopify) and iterates through a file of bucket name permutations.
Amazon S3 [Simple Storage Service] is cloud storage for the Internet. To upload your data (photos, videos, documents etc.), you first create a bucket in one of the AWS Regions. You can then upload any number of objects to the bucket.
In terms of implementation, buckets and objects are resources, and Amazon S3 provides APIs for you to manage them.
Examples of the kinds of bucket names it would look for:
You can find the example bucket names file here.
Using Sandcastle – AWS S3 Bucket Enumeration Tool
Here’s how to get started:
- Clone this repo (PyPi distribution temporarily disabled).
sandcastle.pywith a target name and input file (grab an example from this repo)
- Matching bucket permutations will be identified, and read permissions tested.
usage: sandcastle.py [–h] –t targetStem [–f inputFile]
–h, —help show this help message and exit
–t targetStem, —target targetStem
Select a target stem name (e.g. ‘shopify’)
–f inputFile, —file inputFile
Select a bucket permutation file (default: bucket–
Status codes and testing for Sandcastle – AWS S3 Bucket Enumeration Tool
- 404 – Bucket Not Found – Not a target for analysis (hidden by default)
- 403 – Access Denied – Potential target for analysis via the CLI
- 200 – Publicly Accessible – Potential target for analysis via the CLI
You can download Sandcastle here:
Or read more here.