Introduction

RainbowCrack is a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. It cracks hashes with rainbow tables.

Features:
  • Full time-memory tradeoff tool suites, including rainbow table generation, sort, conversion and lookup
  • Support rainbow table of any hash algorithm
  • Support rainbow table of any charset
  • Support rainbow table in raw file format (.rt) and compact file format (.rtc)
  • Computation on multi-core processor support
  • Computation on GPU (via NVIDIA CUDA technology) support
  • Computation on multi-GPU (via NVIDIA CUDA technology) support
  • Runs on Windows XP 32-bit and Windows Vista 32-bit
  • Command line and graphics user interface
A brute force hash cracker generate all possible plaintexts and compute the corresponding hashes on the fly, and then compare the hashes with the target hash. The plaintext is found if one of them match, otherwise the intermediate computation results are discarded.

A time-memory tradeoff hash cracker need a precomputation stage, at the time all plaintext/hash pair within the selected hash algorithm, charset, plaintext length range are computed and the results are stored in files called rainbow table. It is time consuming to do this kind of computation. Once the one time precomputation is finished, hashes within the table can be cracked with much better performance than a brute force cracker.

Performance

We compare performance of different GPU based hash cracking methods. The first is direct GPU based brute force; the second is GPU based time-memory tradeoff hash cracking implemented in RainbowCrack software. The time-memory tradeoff approach is always hundreds of times faster.

Performance data of RainbowCrack software is calculated based on test results of rainbow table "md5_ascii-32-95#1-7", "ntlm_ascii-32-95#1-7" and "lm_ascii-32-65-123-4#1-7" as listed in rainbow table page.

Download

RainbowCrack

The RainbowCrack software do computation on CPU.


software source code platform supported hash algorithm supported charset supported rainbow table file format user interface
rainbowcrack-1.4-win.zip
rainbowcrack-gui-1.4-win.zip
NA Windows XP
Windows Vista
LM, NTLM, MD5, SHA1, MYSQLSHA1, HALFLMCHALL, NTLMCHALL

Overwrite existing alglib0.dll with this update to support LM, NTLM, MD5, SHA1, MYSQLSHA1, HALFLMCHALL, NTLMCHALL, ORACLE.

Other hash algorithms can be supported via dynamic link library.
any .rt and .rtc command line and graphics
rainbowcrack-1.3-win.zip NA Windows XP
Windows Vista
LM, NTLM, MD5

Overwrite existing alglib0.dll with this update to support LM, NTLM, MD5, SHA1, MYSQLSHA1, HALFLMCHALL, NTLMCHALL, ORACLE.

Other hash algorithms can be supported via dynamic link library.
any .rt command line
rainbowcrack-1.2-win.zip rainbowcrack-1.2-src.zip Windows XP
Windows Vista
Linux
LM, MD5 and SHA1

Apply hash algorithm patch to support other hash algorithms
any .rt command line


RainbowCrack for CUDA

The RainbowCrack for CUDA software do computation on NVIDIA GPU, the download below is a demonstration with limited functionality.

software platform supported configuration supported rainbow table file format user interface
rainbowcrack-cuda-090817.zip Windows XP
Windows Vista
lm_alpha-numeric#1-7
ntlm_loweralpha-numeric#1-7
md5_loweralpha-numeric#1-7
sha1_loweralpha-numeric#1-7
.rt and .rtc command line and graphics

Documentation

RainbowCrack Tutorial
RainbowCrack GUI Tutorial

Convert Rainbow Table Between .rt and .rtc File Format
How to Use Customized Charset in Rainbow Table
How to Support New Hash Algorithm in RainbowCrack
Rainbow Table File Format

External Links:
Rainbow table in Wikipedia
Philippe Oechslin's paper on time-memory trade-off

Copyright 2003-2010 Project RainbowCrack. All rights reserved.