S3Flow is a utility tool designed to generate permutations of AWS S3 bucket names based on common prefixes, company names, and predefined environments. This tool is specially designed for Bug Bounty Hunters and Pentesters.
- Go 1.20 or higher installed on your system.
go install github.com/saeed0xf/s3flow@latest
-
Clone the repository:
git clone https://github.com/saeed0xf/s3flow.git cd s3flow
-
Install dependencies:
go mod tidy
-
Build the tool:
go build -o s3flow main.go
-
(Optional) Move the binary to a directory in your PATH:
sudo mv s3flow /usr/local/bin/
S3Flow uses command-line flags to customize its behavior. Here's how to use it:
s3flow -w <common_prefix_wordlist> -org <company_name> [-o <output_file>] [-medium] [-large]
Example Common Prefixes: wordlist
Flag | Description | Required? | Default Value |
---|---|---|---|
-w |
Common prefix wordlist file | Yes | N/A |
-org |
Company or organization name | Yes | N/A |
-o |
Output file name | No | generated_bucketlist.txt |
-medium |
Use medium-sized environment list | No | false |
-large |
Use large environment list | No | false |
- Small: Includes basic environments like
dev
,prod
,stage
, etc. - Medium: Adds more environments like
uat
,qa
,sandbox
, etc. - Large: Includes all possible environments, such as
backup
,cdn
,api
, etc.
s3flow -w wordlist.txt -org MyCompany -o output.txt
This will:
- Use
wordlist.txt
as the common prefixes. - Incorporate
MyCompany
into the permutations. - Save the results to
output.txt
using the small environment list.
s3flow -w wordlist.txt -org MyCompany -o output.txt -medium
This will:
- Use
wordlist.txt
as the common prefixes. - Incorporate
MyCompany
into the permutations. - Save the results to
output.txt
using the medium environment list.
s3flow -w wordlist.txt -org MyCompany -o output.txt -large
This will:
- Use
wordlist.txt
as the common prefixes. - Incorporate
MyCompany
into the permutations. - Save the results to
output.txt
using the large environment list.
After generating the wordlist we can use the wordlist with tools like S3Scanner
S3Flow generates permutations by combining:
- Common Prefixes: User-defined prefixes from the provided wordlist file.
- Company Name: The organization name provided via the
-org
flag. - Environments: Predefined environments like
dev
,prod
,stage
, etc., selected based on the-medium
or-large
flags. - Formats: Various naming conventions such as
prefix-word-env
,prefix.word.env
, etc.
The tool ensures no duplicates are present in the final output.
We welcome contributions from the community! Here's how you can help:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add feature or fix"
- Push to your branch:
git push origin feature-name
- Open a pull request on GitHub.
For questions, suggestions, or feedback, feel free to reach out: