A simple and fast hash cracker written in Go.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
procut is a command-line tool for cracking password hashes using a dictionary attack. It is written in Go for performance and concurrency.
- Fast: Utilizes goroutines to perform concurrent hash cracking.
- Flexible: Supports multiple hashing algorithms (MD5, SHA1, SHA256, SHA512).
- User-Friendly: Simple command-line interface with a progress bar.
- Salt Support: Crack hashes that use a salt.
- Batch Processing: Crack multiple hashes from a file.
- Output to File: Save found passwords to a file.
To get a local copy up and running follow these simple steps.
- Go (1.16 or later)
- Clone the repo
git clone https://github.com/0warn/procut.git
- Navigate to the
procutdirectorycd procut - Install dependencies
go mod tidy
- Build the project
go build -o procut (if that procut file does not exist)
After building, you can run the cracker from your terminal.
Important: For the Go cracker, all flags (--alg, --dict, --salt, --output) must come before the positional argument <HASH_OR_FILE>.
# Run directly
go run procut.go or procut --alg <alg> --dict <dict> [--salt <salt>] [--output <file>] <HASH_OR_FILE>
# Or build and run the executable
go build -o procut
./procut --alg <alg> --dict <dict> [--salt <salt>] [--output <file>] <HASH_OR_FILE>Where <HASH_OR_FILE> can be either a hash string to crack, or a path to a file containing hashes (one per line).
Tips for creating a hash file:
When redirecting sha256sum (or md5sum) output to a file, it often includes a - at the end. Use awk '{print $1}' to strip this, ensuring only the hash is in the file.
# Example: Create hash.txt with only the SHA256 hash of "mrinalini"
echo -n "mrinalini" | sha256sum | awk '{print $1}' > hash.txtExamples:
- Crack a single hash directly:
./procut --alg sha256 --dict ../passwords.txt --salt somesalt 1f3870be274f6c49b3e31a0c6728957f
- Crack multiple hashes from
hash.txtand save the output:./procut --alg sha256 --dict ../passwords.txt --output found.txt hash.txt
- Add brute-force attack mode
- Add mask attack mode
- Add automatic hash type detection
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature
- Commit your Changes
- Push to the Branch
- Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.