A high-performance wordlist mutation engine written in Go. Brutekit transforms simple keywords into comprehensive wordlists by applying common password patterns and variations. Perfect for penetration testing, password recovery, and security research. Many concepts and functions are directly inspired by psudohash, but rewritten in Go for enhanced performance.
- Lightning Fast: Written in Go for maximum performance and minimal resource usage
- Smart Mutations: Generates variations using leet speak, case changes, and common patterns
- Targeted Generation: Focuses on realistic password patterns people actually use
- Flexible Output: Customizable output formats and mutation rules
- Memory Efficient: Streams results to file instead of holding them in memory
- Customizable: Easy to extend with new mutation rules and patterns
- Advanced leet speak transformations (e.g., password → p@ssw0rd)
- Case variations (lower, upper, mixed)
- Common padding patterns (prefix/suffix symbols)
- Year appendages (single year, ranges, or specific years)
- Sequential numbering
- Custom pattern support
-
Make sure you have Go installed on your system (version 1.21 or higher)
go version
-
Install brutekit directly using go install:
go install github.com/gnomegl/brutekit@latest
-
Verify the installation:
brutekit -h
Note: Make sure your Go bin directory (usually ~/go/bin) is in your PATH.
If not, add this to your ~/.bashrc or ~/.zshrc:
export PATH=$PATH:~/go/bin-
Clone the repository:
git clone https://github.com/gnomegl/brutekit
-
Change to the project directory:
cd brutekit -
Build the binary:
go build
-
Run brutekit:
./brutekit -h
Basic usage:
./brutekit -w keyword -cpaAdvanced usage:
./brutekit -w keyword -cpa -an 3 -y 1990-2022| Flag | Description |
|---|---|
-w |
Comma separated keywords to mutate (required) |
-an |
Append numbering range at end of mutations |
-nl |
Max numbering limit (default: 50) |
-y |
Years to append (e.g., 2022 or 1990,2017,2022 or 1990-2000) |
-ap |
Additional padding values |
-cpb |
Append common paddings before mutations |
-cpa |
Append common paddings after mutations |
-cpo |
Use only user provided paddings |
-o |
Output filename (default: output.txt) |
-q |
Do not print banner |
- Basic mutation with common paddings:
./brutekit -w company -cpa- Multiple keywords with numbering:
./brutekit -w "admin,root" -cpa -an 2- Keywords with year range:
./brutekit -w system -cpa -y 2020-2024- Custom output file:
./brutekit -w password -cpa -o wordlist.txtYou can customize character substitutions by modifying the transformations map in main.go:
var transformations = map[rune][]string{
'a': {"@", "4"},
'e': {"3"},
'i': {"1", "!"},
// Add your own transformations
}Edit common_padding_values.txt to customize the padding values used for mutations.
- Original Python Implementation: t3l3machus/psudohash
- Go Implementation: gnomegl/brutekit
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is intended for legal security testing purposes only. Users are responsible for complying with applicable laws and regulations. The authors assume no liability for misuse or damage caused by this program.