v0.1.2
Pre-releaseGPUCrack 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
-
Download GPUCrack_0.1.2.zip and extract it.
-
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 .
- 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