Rusty Ripper
is a command-line interface (CLI) application written in Rust designed to handle dictionary attacks using hash functions and password files. The tool allows users to load dictionaries, apply hashing algorithms, and validate hashed password-login pairs from a CSV file.
md5
, sha256
, sha512
) to tokens from the dictionary.To get started, you need to have Rust installed. If Rust is not installed, you can do so by running:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Clone the repository and build the project:
git clone https://github.com/LeweLotki/rusty-ripper.git
cd rusty-ripper
cargo build --release
The CLI application provides several flags to run various operations. Below is a detailed guide on how to use each flag and combination.
Load and Display a Dictionary
cargo run -- -d <dictionary_file>
-d
, --dictionary
: Specify the path to a dictionary file.Apply a Hash Function to the Dictionary Tokens
cargo run -- --hash <hash_function>
--hash
: Specify the hash function (md5
, sha256
, sha512
).Load and Display Password-Login Pairs from a CSV File
cargo run -- -p <passwords_file>
-p
, --passwords
: Specify the path to the CSV file containing login-password pairs.Run in Full Combination Mode
cargo run -- -d <dictionary_file> --hash <hash_function> -p <passwords_file>
--dictionary
alone--hash
alone--passwords
alone--dictionary
, --hash
, --passwords
)cargo run -- -d dictionary/dictionary.txt
This will load the specified dictionary file and display information such as the number of words in the dictionary.
cargo run -- --hash sha256
This will apply the sha256
hash function to the dictionary tokens (a dummy dictionary is used if no dictionary is provided).
cargo run -- -p passwords/passwords.csv
This will load the specified CSV file and display the number of login-password pairs.
cargo run -- -d dictionary/dictionary.txt --hash sha256 -p passwords/passwords.csv
This will load the dictionary, apply the sha256
hash function, and verify the login-password pairs.
The project uses the following dependencies:
Feel free to open issues or submit pull requests if you want to contribute or encounter any bugs.