Skip to content
This repository has been archived by the owner on Feb 28, 2024. It is now read-only.

Commit

Permalink
Version 0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Bort-Millipede committed Jul 23, 2021
1 parent 541966e commit ff91315
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 7 deletions.
26 changes: 22 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
**July 2021 Note:** The original developer has determined that this project has reached its maximum usefulness, and as such there are currently no future plans to actively update or maintain this project after this date.

# GPU Cracking Rig Builder
Bash scripts to automatically setup a GPU cracking rig from a base-install of a 64-bit Debian-based Linux installation. Support is limited to 64-bit Debian-based Linux (see [Development Notes](#development-notes) for distributions tested) systems with installed NVIDIA GPUs only. There are 3 scripts (referred to as "Stages"), each accomplishing the following goals:

Expand All @@ -7,10 +9,12 @@ Bash scripts to automatically setup a GPU cracking rig from a base-install of a
* Otherwise, install latest NVIDIA drivers.
* Stage 3: Build hashcat from source with GPU support and install; Build John the Ripper from source with GPU support and install (to /usr/share/john); install [hashid](https://github.com/psypanda/hashID); create directory for wordlists (/usr/share/wordlists) if not already created.

Drivers and tools installed by Stages 2 and 3 can also be updated to new versions (as they become available) by re-executing the Stages at a later time (see [Updating Drivers and Tools](#updating-drivers-and-tools)).

# Usage
1. Ensure the proper physical installation of NVIDIA GPU(s) in the system (the Stages perform minimal verification of this).
2. Download the project master.zip, extract, navigate to the GPU-Cracking-Rig-Builder and add execute permissions to the Stage scripts.
1. (execute as root) ```apt install -y git```
1. (Execute as root) ```apt install -y git```
2. ```git clone https://github.com/Bort-Millipede/GPU-Cracking-Rig-Builder.git```
3. ```cd GPU-Cracking-Rig-Builder```
4. ```chmod +x *.sh```
Expand All @@ -20,15 +24,29 @@ Bash scripts to automatically setup a GPU cracking rig from a base-install of a
6. (Recommended) Run test suites of both hashcat and John the Ripper (will likely take a long time to complete!):
1. ```hashcat --benchmark```
2. ```cd /usr/share/john; ./john --test=0 --format=opencl```
* NOTE: This will only test John with GPU-enabled crack formats with the first GPU. To test additional GPUs, consult the [John the Ripper GPU page](https://openwall.info/wiki/john/GPU)
7. To use hashcat, execute ```hashcat ...``` from any location. To use John the Ripper: ```cd /usr/share/john; ./john ...```
* NOTE: This will only test John the Ripper with GPU-enabled crack formats with the first GPU. To test additional GPUs, consult the [John the Ripper GPU page](https://openwall.info/wiki/john/GPU)
7. To use hashcat, execute ```hashcat ...``` from any location. To use John the Ripper: ```cd /usr/share/john; ./john ...```. See [GPU Fan Control](#gpu-fan-control) for additional usage notes.

## Command-Line Options
The following command line options are available for the Stage scripts:
* ```--verbose``` (all Stages): Verbose script output. By default, the Stages attempt to suppress most command output (within reason) and execute as "quietly" as possible. Use this option to enable full output during script execution.
* ```--keep-tmp``` (Stages 2 and 3): Do not remove the temporary directory (and all its contents) after successful Stage completion. Stages 2 and 3 create a temporary "gpucrack-tmp" directory for storing the NVIDIA driver installer and the build directories (hashcat, rexgen, john), which is subsequently deleted after the successful completion of each Stage. Use this option to keep the "gpucrack-tmp" directory after Stage execution.
* ```--force-rexgen``` (Stage 3): Overwrite current rexgen installation with rexgen v2.0.9 ([commit 5b2f4b159ec948c1f9429eca4389ca2adc9c0b07](https://github.com/janstarke/rexgen/tree/5b2f4b159ec948c1f9429eca4389ca2adc9c0b07), the last known commit to be compatible with John the Ripper), even if the current installation is detected to be rexgen v2.0.9.

## GPU Fan Control
Hashcat and John the Ripper do not perform adequate automatic control of onboard GPU fans, which often results in the GPU(s) eventually reaching high temperature(s) and overheating. While methods are available to better control GPU fans and prevent overheating, these methods are not covered by the Stages or anything else provided by this project! The developer assumes no responsibility for any damage caused to systems or hardware by using this software without addressing inadequate automatic GPU fan control.

One possible method (used by the developer with positive results) for addressing automatic fan control is:

* [coolgpus](https://github.com/andyljones/coolgpus)

## Updating Drivers and Tools
If the existing NVIDIA driver, hashcat, and John the Ripper installations on the system were originally installed via Stages 2 and 3, these installations can be updated to the latest versions at any time by:
* Re-executing Stage 2 to update the NVIDIA drivers
* Re-executing Stage 3 to update hashcat and John the Ripper

Updating existing installations of the drivers or tools that were NOT installed by the Stages is untested, and the developer makes no promises of support for this.

# Development Notes
The bash scripts were developed and tested using the following setup:

Expand Down Expand Up @@ -60,7 +78,7 @@ These scripts have not been thoroughly tested with systems running a graphical d
These scripts have NOT been thoroughly tested with Kali Linux! They may work fine on such systems (especially those without an installed X server), but the developer makes no promises of support for these.

# Disclaimer
The developer provides the software for free without warranty, and assumes no responsibility for any damage caused to systems by using the software. It is the responsibility of the user to abide by all local, state and federal laws while using the software.
The developer provides the software for free without warranty, and assumes no responsibility for any damage caused to systems or hardware by using the software. It is the responsibility of the user to abide by all local, state and federal laws while using the software.

# Copyright
(C) 2017, 2021 Jeffrey Cap (Bort-Millipede)
Expand Down
2 changes: 1 addition & 1 deletion gpucrack-stage1.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#! /bin/bash

# Stage 1 v0.2
# 7/XX/2021
# 7/22/2021

###start Stage 1###
echo -e "GPU Password Cracking Rig Builder (NVIDIA only) v0.2"
Expand Down
2 changes: 1 addition & 1 deletion gpucrack-stage2.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#! /bin/bash

# Stage 2 v0.2
# 7/XX/2021
# 7/22/2021

###start Stage 2###
echo -e "GPU Password Cracking Rig Builder (NVIDIA only) v0.2"
Expand Down
3 changes: 2 additions & 1 deletion gpucrack-stage3.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#! /bin/bash

# Stage 3 v0.2
# 7/XX/2021
# 7/22/2021

###start Stage 3###
echo -e "GPU Password Cracking Rig Builder (NVIDIA only) v0.2"
Expand Down Expand Up @@ -341,6 +341,7 @@ then
echo -en ", and hashid installed"
fi
echo -e "! Please reboot before benchmarking and using hashcat and John the Ripper!\n"
echo -e "Additionally, be sure measures have been put in place to address automatic GPU fan control (which is not addressed by the Stages)!\n"
else
echo -e "\nStage 3 completed with errors. Please resolve the issue(s), then re-execute Stage 3 as root to install hashcat and John the Ripper\n"
fi
Expand Down

0 comments on commit ff91315

Please sign in to comment.