Skip to content

v0.1.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@dorian-bucaille dorian-bucaille released this 28 Feb 15:57
· 129 commits to main since this release

GPUCrack 0.1.2

Features

  • 5 character NTLM rainbow table generation on GPU, with adjustable number of endpoints (mt)
  • Online attack on CPU
  • Tables are generated as non-compressed text files (one file for start points, one file for endpoints)

Changelog

  • v0.1.2 (28/02/2022) -- Added coverage test on online phase. Improved online phase speed. Changed number of characters to 5 for offline phase in order to test the program on virtually any machine.
  • v0.1.1 (21/02/2022) -- Fixed memory leak and stack smashing issue in online phase
  • v0.1.0 (20/02/2022) -- Initial release

How to build

  1. Download GPUCrack_0.1.2.zip and extract it.

  2. Open a terminal in GPUCrack_0.1.2, and run: cmake .

If it prompts you with this error:

CMake Error at CMakeLists.txt:2 (project):
No CMAKE_CUDA_COMPILER could be found.

Tell CMake where to find the compiler by setting either the environment
variable "CUDACXX" or the CMake cache entry CMAKE_CUDA_COMPILER to the full
path to the compiler, or to the compiler name if it is in the PATH.

Then you need to find where nvcc is located in your machine. In this example, it is located at /usr/local/cuda/bin/nvcc
Once you've located it, execute this command (replace /usr/local/cuda/bin/nvcc by the path to your nvcc) :
cmake -DCMAKE_CUDA_COMPILER:PATH=/usr/local/cuda/bin/nvcc .

  1. Then:
    cmake --build .

How to use

To generate a table of 7 character passwords (offline attack), execute this command:
./generateTable mt
where mt is the number of endpoints in the table (50'000'000 for example).

This will create two files: testStart.txt and testEnd.txt. These files contain the start points and the endpoints.
Please be aware that in this release, writing the start and end points files takes a lot of time.

You can see what they look like by executing these commands:
head testStart.txt
head testEnd.txt

To crack a password (online attack), you can use the files you just generated.

Usage:
./online testStart.txt testEnd.txt -p PLAIN_7CHAR_PASSWORD
or ./online testStart.txt testEnd.txt -h NTLM_HASH_OF_7CHAR_PWD
or ./online testStart.txt testEnd.txt -c ANY_STRING

For example, with the previously generated files:
./online testStart.txt testEnd.txt -p aaaaa --> Will hash the password aaaaa and then try to crack its hash.
./online testStart.txt testEnd.txt -h 75C06256F58D07A18B239E4CC39A382D --> Will try to crack the NTLM hash 75C06256F58D07A18B239E4CC39A382D
./online testStart.txt testEnd.txt -c blabla --> Will try to crack 10 randomly generated passwords