This repository defines a multi-stage Docker build that packages several password-cracking–related utilities into a Alpine-based image. The goal of this image is to make it easy to use and access tooling for cryptographic hash recovery research and training. We are not the author of all tools used in this repository and are only providing an environment. Please consider supporting the tool creators.
The image currently builds and bundles the following projects:
-
ptt
- Source: hashcracky/ptt
- Description: Password Transformation Tool (ptt) is a versatile utility designed for password cracking.
-
brainstorm
- Source: hashcracky/brainstorm
- Description: Brainstorm is a focused text transformation tool designed to help generate and normalize candidate strings from raw text.
-
rulechef
- Source: Cynosureprime/rulechef
- Description: A powerful tool for analyzing and generating rule chains using Markov chains and probabilistic transitions.
-
rulecat
- Source: Cynosureprime/rulecat
- Description: A sophisticated password rule generator and mutator for password cracking tools that uses statistical learning to create high-quality transformation rules.
-
hashcat-utils (binaries and Perl scripts)
- Source: hashcat/hashcat-utils
- Description: A collection of helper tools and several
*.plscripts that assist in wordlist and rule processing for hashcat.
All of these tools are copied into /bin in the final runtime image so they are available directly on the PATH.
The Dockerfile uses a three-stage build:
- Go build layer (
gobuild) - C build layer (
cbuild) - Run layer (final image)
The container uses tini as PID 1 and a small entrypoint script.
Assuming you have built the image locally as hashcracky-toolkit:
docker build -t hashcracky-toolkit .Run the container with no command to see the overview:
docker run --rm hashcracky-toolkitAll tools are placed in /bin, so you can call them directly:
docker run --rm hashcracky-toolkit combinator.bin --helpPerl scripts are also available in /bin and can be invoked directly if they are marked executable, or via perl:
docker run --rm hashcracky-toolkit perl some_hashcat_util.plThe container’s working directory is set to:
/data
You can mount a host directory there for input wordlists, hashes, or output files:
docker run --rm -v "$(pwd)":/data hashcracky-toolkit rulechef ...