Convert Figma logo to code with AI

hashcat logohashcat-utils

Small utilities that are useful in advanced password cracking

1,331
353
1,331
17

Top Related Projects

9,984

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs

9,984

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs

A tool for automating cracking methodologies through Hashcat from the TrustedSec team.

1,420

Hashtopolis - distributed password cracking with Hashcat

4,408

Common User Passwords Profiler (CUPP)

1,899

CeWL is a Custom Word List Generator

Quick Overview

Hashcat-utils is a collection of small utilities designed to work alongside the popular password cracking tool Hashcat. These utilities assist in various tasks related to password analysis, hash manipulation, and data preparation for password cracking operations. The project aims to enhance the functionality and efficiency of Hashcat by providing complementary tools.

Pros

  • Enhances Hashcat's capabilities with specialized utilities
  • Simplifies common tasks in password cracking workflows
  • Lightweight and easy to use
  • Actively maintained and updated

Cons

  • Limited documentation for some utilities
  • Requires command-line proficiency
  • Some tools may have platform-specific dependencies
  • Not all utilities are equally well-developed or maintained

Code Examples

As hashcat-utils is a collection of command-line utilities rather than a code library, there are no code examples in the traditional sense. Instead, here are a few example command-line usages:

# Example 1: Using combinator3 to generate word combinations
./combinator3 wordlist1.txt wordlist2.txt wordlist3.txt > combined_wordlist.txt
# Example 2: Using len to filter words by length
./len 8 16 < input_wordlist.txt > filtered_wordlist.txt
# Example 3: Using rli to remove lines from a file
./rli remove_list.txt < input_file.txt > output_file.txt

Getting Started

To get started with hashcat-utils:

  1. Clone the repository:

    git clone https://github.com/hashcat/hashcat-utils.git
    
  2. Navigate to the project directory:

    cd hashcat-utils/src
    
  3. Compile the utilities:

    make
    
  4. The compiled utilities will be available in the src directory. You can now use them directly from the command line.

Note: Some utilities may require additional dependencies or have specific usage instructions. Refer to the project's README or individual utility documentation for more details.

Competitor Comparisons

9,984

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs

Pros of John

  • More comprehensive suite of password cracking tools and utilities
  • Supports a wider range of hash types and encryption algorithms
  • Active community and regular updates

Cons of John

  • Generally slower performance compared to Hashcat
  • More complex setup and configuration process
  • Steeper learning curve for beginners

Code Comparison

John:

void john_register_one(struct fmt_main *format)
{
	format->private.initialized = 0;
	format->next = fmt_list;
	fmt_list = format;
}

Hashcat-utils:

int main (int argc, char *argv[])
{
  if (argc != 3)
  {
    fprintf (stderr, "usage: %s infile outfile\n", argv[0]);
    return (-1);
  }
  // ... (code continues)
}

John is a more comprehensive password cracking tool with a wider range of features, while Hashcat-utils focuses on providing specific utilities to complement Hashcat's core functionality. John offers broader support for various hash types and encryption algorithms, making it versatile for different scenarios. However, Hashcat and its utilities generally provide better performance, especially when utilizing GPU acceleration.

The code snippets showcase the different approaches: John's code demonstrates its modular architecture for registering password formats, while Hashcat-utils' code shows a simpler, focused utility structure. This reflects the overall design philosophy of each project, with John being more extensive and Hashcat-utils being more specialized and performance-oriented.

9,984

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs

Pros of John

  • More comprehensive suite of password cracking tools and utilities
  • Supports a wider range of hash types and encryption algorithms
  • Active community and regular updates

Cons of John

  • Generally slower performance compared to Hashcat
  • More complex setup and configuration process
  • Steeper learning curve for beginners

Code Comparison

John:

void john_register_one(struct fmt_main *format)
{
	format->private.initialized = 0;
	format->next = fmt_list;
	fmt_list = format;
}

Hashcat-utils:

int main (int argc, char *argv[])
{
  if (argc != 3)
  {
    fprintf (stderr, "usage: %s infile outfile\n", argv[0]);
    return (-1);
  }
  // ... (code continues)
}

John is a more comprehensive password cracking tool with a wider range of features, while Hashcat-utils focuses on providing specific utilities to complement Hashcat's core functionality. John offers broader support for various hash types and encryption algorithms, making it versatile for different scenarios. However, Hashcat and its utilities generally provide better performance, especially when utilizing GPU acceleration.

The code snippets showcase the different approaches: John's code demonstrates its modular architecture for registering password formats, while Hashcat-utils' code shows a simpler, focused utility structure. This reflects the overall design philosophy of each project, with John being more extensive and Hashcat-utils being more specialized and performance-oriented.

A tool for automating cracking methodologies through Hashcat from the TrustedSec team.

Pros of hate_crack

  • Provides a more user-friendly interface for password cracking
  • Includes automated wordlist generation and rule application
  • Offers session management and resumption capabilities

Cons of hate_crack

  • Less versatile than hashcat-utils for general-purpose hash manipulation
  • May have a steeper learning curve for users familiar with hashcat's command-line interface
  • Potentially slower performance due to additional abstraction layers

Code Comparison

hate_crack:

def hate_crack():
    print_banner()
    check_dependencies()
    menu_options = get_menu_options()
    while True:
        print_menu(menu_options)

hashcat-utils:

int main(int argc, char *argv[])
{
  if (argc != 3)
  {
    fprintf (stderr, "usage: %s infile outfile\n", argv[0]);
    return (-1);
  }

hate_crack is a Python-based wrapper around hashcat, providing a more structured approach to password cracking. It offers additional features like automated wordlist generation and session management. However, it may be less flexible for advanced users who prefer direct control over hashcat.

hashcat-utils, on the other hand, is a collection of small utilities written in C, designed for specific hash manipulation tasks. It's more lightweight and can be easily integrated into custom scripts or workflows, but lacks the user-friendly interface and automated features of hate_crack.

1,420

Hashtopolis - distributed password cracking with Hashcat

Pros of Hashtopolis

  • Provides a distributed cracking system for managing multiple agents
  • Offers a web-based interface for easier task management and monitoring
  • Supports integration with various cracking tools, not limited to Hashcat

Cons of Hashtopolis

  • More complex setup and maintenance compared to simple command-line utilities
  • Requires additional infrastructure (database, web server) to run
  • May have a steeper learning curve for users familiar with basic command-line tools

Code Comparison

Hashcat-utils (example of a simple utility):

int main(int argc, char *argv[])
{
  if (argc != 3)
  {
    fprintf (stderr, "usage: %s infile outfile\n", argv[0]);
    return (-1);
  }
  // ... (file processing code)
}

Hashtopolis (example of API endpoint):

class TaskAPI extends AbstractAPI {
  public function get($task = null) {
    if ($task !== null) {
      $this->checkTask($task);
      $taskSet = new TaskSet();
      $task = $taskSet->getTask($task);
      return $this->sendResponse($task->getDataDict());
    }
    // ... (task listing code)
  }
}

The code snippets illustrate the difference in complexity and scope between the two projects. Hashcat-utils focuses on simple, single-purpose command-line tools, while Hashtopolis provides a more comprehensive API-driven system for managing distributed cracking tasks.

4,408

Common User Passwords Profiler (CUPP)

Pros of CUPP

  • Focused on generating custom wordlists based on user input
  • Interactive mode for personalized password list creation
  • Includes pre-built common password lists

Cons of CUPP

  • Limited functionality compared to the broader scope of hashcat-utils
  • Less actively maintained (last update over 2 years ago)
  • Primarily designed for password list generation, lacking other password cracking utilities

Code Comparison

CUPP (Python):

def interactive():
    print_logo()
    print("\n[+] Insert the information about the victim to make a dictionary")
    print("[+] If you don't know all the info, just hit enter when asked! ;)\n")
    # ... (user input collection)
    generate_wordlist_from_profile(profile)

hashcat-utils (C):

int main (int argc, char *argv[])
{
  // ... (argument parsing)
  if (argc < 2)
  {
    usage_big_print (argv[0]);
    return (-1);
  }
  // ... (main functionality)
}

Summary

CUPP is a specialized tool for creating custom wordlists, offering an interactive mode and pre-built lists. It's user-friendly but has a narrower focus. hashcat-utils provides a broader range of password cracking utilities and is more actively maintained, but may have a steeper learning curve for beginners.

1,899

CeWL is a Custom Word List Generator

Pros of CeWL

  • Specialized in generating custom wordlists from web content
  • Offers more targeted and context-specific wordlist creation
  • Includes features like metadata extraction and email address harvesting

Cons of CeWL

  • Limited to web-based wordlist generation
  • Less versatile compared to the broader utility set of hashcat-utils
  • May require additional processing for use with password cracking tools

Code Comparison

CeWL (Ruby):

def parse_page(url, depth)
  @depth = depth
  @url = url
  # ... (parsing logic)
end

hashcat-utils (C):

int main (int argc, char *argv[])
{
  // ... (utility-specific logic)
}

CeWL focuses on web scraping and wordlist generation, while hashcat-utils provides a broader set of utilities for password cracking and manipulation. CeWL is written in Ruby, making it more accessible for scripting and integration with web-based tools. hashcat-utils, written in C, offers better performance for low-level operations and is more tightly integrated with the hashcat ecosystem.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

hashcat-utils

Hashcat-utils are a set of small utilities that are useful in advanced password cracking

Brief description

They all are packed into multiple stand-alone binaries.

All of these utils are designed to execute only one specific function.

Since they all work with STDIN and STDOUT you can group them into chains.

Detailed description

See the hashcat wiki page of hashcat-utils: https://hashcat.net/wiki/doku.php?id=hashcat_utils

Compile

Simply run make

Binary distribution

Binaries for Linux, Windows and OSX: https://github.com/hashcat/hashcat-utils/releases