LeweLotki / rusty-ripper

0 stars 0 forks source link

Rusty Ripper CLI

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.

Features

Installation

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

Usage

The CLI application provides several flags to run various operations. Below is a detailed guide on how to use each flag and combination.

Commands

  1. Load and Display a Dictionary

    cargo run -- -d <dictionary_file>
    • -d, --dictionary: Specify the path to a dictionary file.
    • This command loads the dictionary file and displays information about its contents.
  2. Apply a Hash Function to the Dictionary Tokens

    cargo run -- --hash <hash_function>
    • --hash: Specify the hash function (md5, sha256, sha512).
    • This command applies the selected hash function to the dictionary tokens and displays a summary of the hashes.
  3. 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.
    • This command loads the CSV file and displays information about the login-password pairs.
  4. Run in Full Combination Mode

    cargo run -- -d <dictionary_file> --hash <hash_function> -p <passwords_file>
    • Combines the dictionary, hash, and password functionalities.
    • This command checks if the hashed tokens from the dictionary match any hashed passwords from the CSV file and displays the associated login and token.

Error Handling

Example

Example 1: Loading a Dictionary

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.

Example 2: Applying a Hash Function

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).

Example 3: Loading Passwords

cargo run -- -p passwords/passwords.csv

This will load the specified CSV file and display the number of login-password pairs.

Example 4: Full Combination Mode

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.

Dependencies

The project uses the following dependencies:

Contributing

Feel free to open issues or submit pull requests if you want to contribute or encounter any bugs.