Rainbow Crackalack : Rainbow Table Generation & Lookup Tools

Rainbow Crackalack 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!

Rainbow tables went out of style a few years ago when GPU-accelerated password cracking became popular. With tools like hashcat, it no longer made sense to invest the effort to obtain the existing obsolete tables. Furthermore, no GPU-accelerated open-source tools existed to create new tables with. For these reasons, the world of rainbow tables was forgotten by the infosec community.

However, rule-based cracking and rainbow table cracking were never exclusive strategies. They were (and still are, in fact), complementary. Rules are great at finding patterns, which are commonly set by users; rainbow tables are effective against fully random passwords, which can exist for highly sensitive accounts.

Also Read – Cacti : Complete Network Graphing Solution

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:

ArgumentMeaning
ntlmThe hash algorithm to use. Currently only “ntlm” is supported.
ascii-32-95The character set to use. This effectively means “all available characters on the US keyboard”.
9The minimum plaintext character length.
9The maximum plaintext character length.
0The reduction index. Not used under standard conditions.
803000The chain length for a single rainbow chain.
67108864The number of chains per table (= 64M)
0The 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

Credit:  Joe Testa

R K

Recent Posts

What Is a Data Protection Platform and Why Your Organization Needs One

A data protection platform is a unified system that helps organizations discover, classify, monitor, and…

2 weeks ago

How Swiss Privacy Rules Affect AI Companies Under GDPR

AI companies operating in or around Switzerland face a compliance challenge that most legal teams…

2 weeks ago

Swiss FADP vs EU GDPR: Key Differences for AI and Data Privacy

Two major data privacy laws now govern how organizations handle personal data across Europe; the…

2 weeks ago

Kali Linux Commands Cheat Sheet: Complete Quick Reference

This cheat sheet covers the essential Kali Linux commands every pentester and ethical hacker uses…

1 month ago

What I Wish I Knew Before Learning Malware Analysis and Reverse Engineering

When I first started learning malware analysis and reverse engineering, I thought the hardest part…

2 months ago

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

2 months ago