Skip to content

Releases: gpucrack/GPUCrack

v0.1.4

01 May 22:16
Compare
Choose a tag to compare

GPUCrack 0.1.4

Features

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

Changelog

  • v0.1.4 (01/05/2022) -- Fixed a critical bug which made tables less efficient than they should. Multiple tables can now be generated. Revised and improved argument handling for the online phase. Added an installer (bash script) to facilitate the program setup.
  • v0.1.3 (05/03/2022) -- Added table filtration. Drastically improved file writing speed. User can now specify the cracked passwords' character length when generating tables. Changed function calls. Improved prints and debugs.
  • 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_X.X.X.zip and extract it.

  2. Open a terminal in GPUCrack_X.X.X, and run: ./install.sh. Follow along with the installer.
    If it prompts you with this error:

How to use

To generate a table (offline attack), execute this command:
./generateTable c n mt <path>, where:

  • c is the passwords' length (in characters)
  • n is the number of tables to generate
  • mt is the number of end points to be generated
  • (optional) path is the path to the start and end points files to create.

This will create n separate files at the specified path. Each of these files contains filtered start and end points.

For example: ./generateTable 4 4 12 full4

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

Usage:
./online -t <path> [-p <password>] [-h <hash>] [-c <nbCoverage>] [-m <hashFile>] [-d], where:
-t is the path to the table (without '_start_N.bin')
-p : plain text cracking. is the plain-text password you're looking to crack.
-h : single hash cracking. is the hash you're looking to crack.
-c : coverage test. is the number of passwords you want to crack to test the table's coverage.
-m : multiple hashes. is the text file containing all the hashes you're looking to crack.
-d : debug mode. Prints false alerts and more details about the cracking process.

For example: ./online -t full4 -p test to try to crack the password test with the tables you just generated
or ./online -t table4 -m hashes4.txt if you want to crack a bunch of passwords using the provided table

v0.1.3

05 Mar 16:50
Compare
Choose a tag to compare

GPUCrack 0.1.3

Features

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

Changelog

  • v0.1.3 (05/03/2022) -- Added table filtration. Drastically improved file writing speed. User can now specify the cracked passwords' character length when generating tables. Changed function calls. Improved prints and debugs.
  • 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_X.X.X.zip and extract it.

  2. Open a terminal in GPUCrack_X.X.X, and run: cmake .

Note : if you only want to use the online phase, edit CMakeLists.txt and only keep this:

add_executable(online
        src/common/online.c)

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 (offline attack), execute this command:
./generateTable c mt (startpath) (endpath), where:

  • c is the passwords' length (in characters);
  • mt is the number of endpoints in the table (50'000'000 for example);
  • (optional) startpath is the path to the start points file to create;
  • (optional) endpath is the path to the end points file to create.

This will create two separate files at the specified paths. These files contain the filtered startpoints and endpoints.

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

Usage:
./online startpath endpath -p pwd, where pwd is the password you're looking for;
or ./online startpath endpath -h hash where hash is the hash of the password you're looking for;
or ./online startpath endpath -c aaa (you can put anything you want instead of aaa. This will test the coverage of the tables you're using, by trying to crack 1000 random passwords.
startpath and endpath are the path to, respectively, the startpoints file and the endpoints file.

Below are some commands you can use to try the program:
./generateTable 5 50000 testStart.txt testEnd.txt (note that you can specify any - or no - format for the files. txt is just more handy when opening the files in text editors)
./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 1000 randomly generated passwords

v0.1.2

28 Feb 15:57
Compare
Choose a tag to compare
v0.1.2 Pre-release
Pre-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

v0.1.1

21 Feb 18:06
Compare
Choose a tag to compare
v0.1.1 Pre-release
Pre-release

GPUCrack 0.1.1

Features

  • 7 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.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.1.tar.xz and extract it. It is also recommended to download t50_files.tar.xz in order to test the program with pre-generated tables. You can download them by clicking here. If you download t50_files.tar.xz, extract it at the root of where you extracted GPUCrack_0.1.1.tar.xz.

  2. Open a terminal in GPUCrack_0.1.1, 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.

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 either use the files you just generated or the ones provided (t50_start.txt and t50_end.txt). Their parameters are mt=10415000 and t=50. The chain length is very small, so do not expect to crack a lot of passwords with it.

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

For example, with the provided files:
./online t50_start.txt t50_end.txt -p CyiFaaa --> Will hash the password CyiFaaa and then try to crack its hash.
./online t50_start.txt t50_end.txt -h 552D8E284B76800028EC10765D506168 --> Will try to crack the NTLM hash 552D8E284B76800028EC10765D506168

v0.1.0

20 Feb 17:14
Compare
Choose a tag to compare
v0.1.0 Pre-release
Pre-release

GPUCrack 0.1.0

Features

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

How to build

  1. Download GPUCrack_0.1.0.tar.xz and extract it. It is also recommended to download t50_files.tar.xz in order to test the program with pre-generated tables. If you download t50_files.tar.xz, extract it at the root of where you extracted GPUCrack_0.1.0.tar.xz.

  2. Open a terminal in GPUCrack_0.1.0, 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 end points in the table.

This will create two files: testStart.txt and testEnd.txt. These files contain the start points and the end points.
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 either use the files you just generated or the ones provided (t50_start.txt and t50_end.txt). Their parameters are mt=10415000 and t=50. The chain length is very small, so do not expect to crack a lot of passwords with it.

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

For example, with the provided files:
./online t50_start.txt t50_end.txt -p CyiFaaa --> Will hash the password CyiFaaa and then try to crack its hash.
./online t50_start.txt t50_end.txt -h 552D8E284B76800028EC10765D506168 --> Will try to crack the NTLM hash 552D8E284B76800028EC10765D506168

If an error like "*** stack smashing detected ***: terminated Aborted (core dumped)" appears into the console, just ignore it for now.