RainbowCrack Project

[January 26, 2012] New Rainbow Tables

We completed another two large rainbow tables:

ntlm_mixalpha-numeric#1-9
  • Hash Algorithm: NTLM
  • Charset: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
  • Plaintext Length: 1 to 9
  • Key Space: 13,759,005,997,841,642 (about 253.6)
  • Table Pre-computation Effort: 59,476,604,035,792,896 (about 255.7) hash computations
  • Table Size: 864 GB
md5_mixalpha-numeric#1-9
  • Hash Algorithm: MD5
  • Charset: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
  • Plaintext Length: 1 to 9
  • Key Space: 13,759,005,997,841,642 (about 253.6)
  • Table Pre-computation Effort: 59,476,604,035,792,896 (about 255.7) hash computations
  • Table Size: 864 GB
They are the largest rainbow tables we ever generated. The total computation effort to generate both tables exceeds the full DES key space, which is 256.

Performance of all larger rainbow tables generated by us:

ntlm_ascii-32-95#1-8 ntlm_mixalpha-numeric#1-9 ntlm_loweralpha-numeric#1-10


md5_ascii-32-95#1-8 md5_mixalpha-numeric#1-9 md5_loweralpha-numeric#1-10

In the figures above, 10 tests are run to show the typical hash cracking time with each rainbow table, as time-memory trade-off algorithm is probabilistic algorithm and time requirement to crack different hash is different. Hashes used in the tests are computed from random plaintexts.

Introduction

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

RainbowCrack uses time-memory tradeoff algorithm to crack hashes. It differs from the hash crackers that use brute force algorithm.

A brute force hash cracker generate all possible plaintexts and compute the corresponding hashes on the fly, then compare the hashes with the hash to be cracked. Once a match is found, the plaintext is found. If all possible plaintexts are tested and no match is found, the plaintext is not found. With this type of hash cracking, all intermediate computation results are discarded.

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

In this RainbowCrack project, we focus on the development of optimized time-memory tradeoff implementation, and generation of large rainbow tables.

Features of latest RainbowCrack software:
  • 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 32-bit Windows operating systems
    • Windows XP 32-bit
    • Windows Vista 32-bit
    • Windows 7 32-bit
    • ...
  • Runs on 64-bit Windows operating systems
    • Windows XP 64-bit
    • Windows Vista 64-bit
    • Windows 7 64-bit
    • ...
  • Runs on 32-bit Linux operating systems (x86 only)
  • Runs on 64-bit Linux operating systems (x86_64 only)
  • Unified rainbow table file format on all supported operating systems
  • Command line user interface
  • Graphics user interface (Windows only)
We have generated several TB of rainbow tables for LM, NTLM, MD5 hash algorithms. Detailed technical information is available in this page.

Download

RainbowCrack

The latest version of RainbowCrack software is 1.5.

Version Software Supported operating systems Supported hash algorithm
1.5 rainbowcrack-1.5-win32.zip Windows XP 32-bit
Windows Vista 32-bit
Windows 7 32-bit
...
LM, NTLM, MD5, SHA1, MYSQLSHA1, HALFLMCHALL, NTLMCHALL, ORACLE-SYSTEM, MD5-HALF

Other hash algorithms can be supported via dynamic link library / shared library.
rainbowcrack-1.5-win64.zip Windows XP 64-bit
Windows Vista 64-bit
Windows 7 64-bit
...
rainbowcrack-1.5-linux32.zip Ubuntu 9.10 32-bit and later
Redhat Enterprise Linux 5.5 32-bit and later
openSUSE 11.3 32-bit and later
...
rainbowcrack-1.5-linux64.zip Ubuntu 9.10 64-bit and later
Redhat Enterprise Linux 5.5 64-bit and later
openSUSE 11.3 64-bit and later
...

RainbowCrack for GPU

RainbowCrack for GPU software uses GPU from NVIDIA for computing, instead of CPU. By offloading computation task to GPU, the RainbowCrack for GPU software can be tens of times faster than non-GPU version.

The software package below is a demonstration and only smaller key spaces are supported. RainbowCrack for GPU software with support of larger key space is available for purchase in this page, bundled with ready to work rainbow tables.

Software Supported operating systems Supported configuration
rainbowcrack-gpu-110130.zip Windows XP 32-bit
Windows XP 64-bit
Windows Vista 32-bit
Windows Vista 64-bit
Windows 7 32-bit
Windows 7 64-bit
...
lm_alpha-numeric#1-7
ntlm_loweralpha-numeric#1-7
ntlm_loweralpha-numeric#1-8
ntlm_ascii-32-95#1-6
ntlm_mixalpha-numeric#1-7
md5_loweralpha-numeric#1-7
md5_loweralpha-numeric#1-8
md5_ascii-32-95#1-6
md5_mixalpha-numeric#1-7
sha1_loweralpha-numeric#1-7
sha1_loweralpha-numeric#1-8
sha1_ascii-32-95#1-6
sha1_mixalpha-numeric#1-7

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-2012 RainbowCrack Project. All rights reserved.