Skip to content
Rainbow table generation & lookup tools. Make Rainbow Tables Great Again!
C Python C++ Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CL Fixed error on Windows AMD. Aug 7, 2019
FPGA Updated FPGA instructions with new dir name. Jun 25, 2019
manual_tests Updated NTLM9 manual tests. Aug 2, 2019
scripts Added enumerate_chain.c for rainbow chain enumeration. Aug 2, 2019
.gitignore Added enumerate_chain.c for rainbow chain enumeration. Aug 2, 2019
.travis.yml Removed full tests from Travis, as they take too long and get termina… Jun 20, 2019
LICENSE Initial revision. Jun 11, 2019
Makefile Added enumerate_chain.c for rainbow chain enumeration. Aug 2, 2019
README.md Updated README. Aug 8, 2019
charset.c Initial revision. Jun 11, 2019
charset.h Initial revision. Jun 11, 2019
clock.c Initial revision. Jun 11, 2019
clock.h Initial revision. Jun 11, 2019
cpu_rt_functions.c Remove special handling for ntlm9 in CPU functions (revert to standar… Jun 13, 2019
cpu_rt_functions.h Initial revision. Jun 11, 2019
crackalack_gen.c Fixed NTLM9; added NTLM9 tests. Jun 28, 2019
crackalack_lookup.c Warn user if trying to crack more than 5,000 hashes. Fixes #16. Jun 27, 2019
crackalack_rtc2rt.c Initial revision. Jun 11, 2019
crackalack_tests.py Added NTLM 9 test. Jun 27, 2019
crackalack_unit_tests.c Fixed NTLM9; added NTLM9 tests. Jun 28, 2019
crackalack_verify.c Initial revision. Jun 11, 2019
enumerate_chain.c Added enumerate_chain.c for rainbow chain enumeration. Aug 2, 2019
file_lock.c
file_lock.h Initial revision. Jun 11, 2019
get_chain.c Initial revision. Jun 11, 2019
gws.c Added GTX 1080 & 1080Ti to optimal GWS tuner. Jun 11, 2019
gws.h
hash_validate.c
hash_validate.h Initial revision. Jun 11, 2019
make_windows.sh Fixed Windows builds on Travis. Jun 18, 2019
misc.c Fixed NTLM9; added NTLM9 tests. Jun 28, 2019
misc.h Fixed Windows builds on Travis. Jun 18, 2019
opencl_device_info.h Initial revision. Jun 11, 2019
opencl_lm_hst_dev_shared.h Initial revision. Jun 11, 2019
opencl_lm_kernel_params.h Initial revision. Jun 11, 2019
opencl_misc.h Initial revision. Jun 11, 2019
opencl_nonstd.h Initial revision. Jun 11, 2019
opencl_sboxes-s.h Initial revision. Jun 11, 2019
opencl_sboxes.h Initial revision. Jun 11, 2019
opencl_setup.c
opencl_setup.h Initial revision. Jun 11, 2019
perfectify.c Initial revision. Jun 11, 2019
rtc_decompress.c
rtc_decompress.h Initial revision. Jun 11, 2019
shared.h Initial revision. Jun 11, 2019
terminal_color.h Initial revision. Jun 11, 2019
test_chain.c Remove special handling of ntlm9 from generic rt CL code, update unit… Jun 13, 2019
test_chain.h Initial revision. Jun 11, 2019
test_chain_ntlm9.c Fixed NTLM9; added NTLM9 tests. Jun 28, 2019
test_chain_ntlm9.h Fixed NTLM9; added NTLM9 tests. Jun 28, 2019
test_des.c Initial revision. Jun 11, 2019
test_des.h Initial revision. Jun 11, 2019
test_hash.c Initial revision. Jun 11, 2019
test_hash.h Initial revision. Jun 11, 2019
test_hash_ntlm9.c Fixed NTLM9; added NTLM9 tests. Jun 28, 2019
test_hash_ntlm9.h Fixed NTLM9; added NTLM9 tests. Jun 28, 2019
test_hash_to_index.c
test_hash_to_index.h Initial revision. Jun 11, 2019
test_hash_to_index_ntlm9.c Fixed NTLM9; added NTLM9 tests. Jun 28, 2019
test_hash_to_index_ntlm9.h Fixed NTLM9; added NTLM9 tests. Jun 28, 2019
test_index_to_plaintext.c Remove special handling of ntlm9 from generic rt CL code, update unit… Jun 13, 2019
test_index_to_plaintext.h Initial revision. Jun 11, 2019
test_index_to_plaintext_ntlm9.c Fixed NTLM9; added NTLM9 tests. Jun 28, 2019
test_index_to_plaintext_ntlm9.h Fixed NTLM9; added NTLM9 tests. Jun 28, 2019
test_shared.c Initial revision. Jun 11, 2019
test_shared.h Initial revision. Jun 11, 2019
verify.c Fixed NTLM9; added NTLM9 tests. Jun 28, 2019
verify.h Initial revision. Jun 11, 2019
version.h Bumped version to 1.1. Aug 6, 2019

README.md

Rainbow Crackalack

Author: Joe Testa (@therealjoetesta)

About

This project produces open-source code to generate rainbow tables as well as use them to look up password hashes. While the current release only supports NTLM, future releases aim to support MD5, SHA-1, SHA-256, and possibly more. Both Linux and Windows are supported!

For more information, see the project website: https://www.rainbowcrackalack.com/

Bounty Program

Want to work on this project and get paid for your work? See the project page for more details on what bounties are currently being offered!

Volunteering

The project for generating NTLM 9-character tables is now underway! If you create 5 tables for us, your name will be listed on the project website as a project supporter. If you create 200 tables, we will mail you a free magnetic hard drive containing NTLM 9-character tables with 50% efficiency. Ships world-wide!

If you have modern GPU equipment and you'd like to contribute, please reach out using this form to coordinate efforts.

NTLM Tables

Currently, NTLM 8-character tables are available for free download via Bittorrent. For convenience, they may also be purchased on an SSD with a USB 3.0 external enclosure.

Examples

Generating NTLM 9-character tables

The following command shows how to generate a standard 9-character NTLM table:

# ./crackalack_gen ntlm ascii-32-95 9 9 0 803000 67108864 0

The arguments are designed to be comparable to those of the original (and now closed-source) rainbow crack tools. In order, they mean:

Argument Meaning
ntlm The hash algorithm to use. Currently only "ntlm" is supported.
ascii-32-95 The character set to use. This effectively means "all available characters on the US keyboard".
9 The minimum plaintext character length.
9 The maximum plaintext character length.
0 The reduction index. Not used under standard conditions.
803000 The chain length for a single rainbow chain.
67108864 The number of chains per table (= 64M)
0 The table part index. Keep all other args the same, and increment this field to generate a single set of tables.

Table lookups against NTLM 8-character hashes

The following command shows how to look up a file of NTLM hashes (one per line) against the NTLM 8-character tables:

# ./crackalack_lookup /export/ntlm8_tables/ /home/user/hashes.txt

Recommended Hardware

The NVIDIA GTX & RTX lines of GPU hardware has been well-tested with the Rainbow Crackalack software, and offer an excellent price/performance ratio. Specifically, the GTX 1660 Ti or RTX 2060 are the best choices for building a new cracking machine. This document contains the raw data that backs this recommendation.

However, other modern equipment can work just fine, so you don't necessarily need to purchase something new. The NVIDIA GTX and AMD Vega product lines are still quite useful for cracking!

Change Log

  • v1.0: June 11, 2019: Initial revision.
  • v1.1: August 8, 2019: massive speed improvements (credit Steve Thomas), finalization of NTLM9 spec, bugfixes.

Windows Build

A 64-bit Windows build can be achieved on an Ubuntu host machine by installing the following prerequisites:

# apt install mingw-w64 opencl-headers

Then starting the build with:

# make clean; ./make_windows.sh
You can’t perform that action at this time.