Skip to content

This project was created during my studies of "pspac" at the FAU Erlangen. It's a simple framework to launch distributed "jobs", e.g. hashcat.

Notifications You must be signed in to change notification settings

jowo1991/distributed_hashcat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed Hashcat

Introduction

This project was created during my studies of "pspac" at the FAU Erlangen. It's a simple framework to launch distributed "jobs", e.g. hashcat.

The jobs de.jowo.pspact.jobs.HashcatJob and de.jowo.pspact.jobs.BatchHashcatJob can be used to perform a mask attack using any number of nodes. Because any hashcat argument can be passed to the framework essentially all hashes supported by hashcat can be cracked.

Usage

For a documentation of (most) parameters see de.jowo.pspac.MainClass and de.jowo.pspac.factories.

Examples:

Node Parameters Comment
Master -Dfactory=DemoFactory -Ddelaymillis=500 -Dmode=master -Dmaskfile=maskfile Run master using the demo jobs
Master -Dfactory=BatchMaskFactory -Dmode=master -Dmaskfile=maskfile -Dhashcatargs="-m 0" -Dhash=098f6bcd4621d373cade4e832627b4f6 Crack the given MD5 hash using batch jobs
Worker -Dmode=worker -Dmasterhost=localhost Run worker connecting to the master at "localhost". Multiple instances of this worker can be started!

Important parameters (pass using -D{name}):

Parameter Description Default Mandatory
maskfile The path to the maskfile to be used for hash breaking - yes
mode The mode to be used worker no
startmanually Specifies whether the job should start automatically once the first worker has registered true no
LOG_DIR The path for all log files, e.g. "/tmp/pspac_logs" System.getProperty("java.io.tmpdir") no

Deployment & Build

Eclipse was used for development (as obvious by the .classpath). However you can also use:

ant clean dist

to create a deployable jar.

Monitoring using VisualVM

The master can be monitored using VisualVM using the de.jowo.pspac.MasterControl as illustrated below. visualvm-1

visualvm-1

Logging

The above mentioned LOG_DIR specifies where the logfiles will be stored. Typically this points to a central NFS. For a demo run with 3 workers using the rockyou-1-60.hcmask maskfile the following logs will be generated:

Node Logfile
Master pspac_master.log
Worker 1 pspac_1.log
Worker 2 pspac_2.log
Worker 3 pspac_3.log

Components

Overview

Master

Distributes the workload to all registered workers. The job to run is given as start parameter, see the usage section for details.

Worker

Executes the job given by the master. All jobs are implemented in the de.jowo.pspac.jobs package.

About

This project was created during my studies of "pspac" at the FAU Erlangen. It's a simple framework to launch distributed "jobs", e.g. hashcat.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published