5 example: rcracki_mt -h 5d41402abc4b2a76b9719d911017c592 -t 4 -o save.txt C:\md5
7 Start rcracki_mt without any arguments to view usage information in short. This README describes the various
8 options in more detail. Many options can be set to a default value by editing rcracki_mt.ini. Command line
9 arguments get priority over settings in the ini file.
13 rcracki_mt takes one hash on the command line (using -h) or an input file containing the hashes. rcracki_mt supports
14 three formats for the input file. Use one of the following options to specify the format followed by the filename:
16 -l: specify a list of hashes (one hash per line)
17 -f: specify a pwdump file
18 -c: specify a .lst file (format in which Cain stores hashes and results)
20 SELECTING RAINBOW TABLES
22 Any command line argument that is not an option will be interpreted as a directory to search for rainbow tables,
23 multiple directories can be specified. rcracki_mt recursively scans all specified directories for *.rti (indexed)
24 and *.rt (old/original) files. You can use .rt & .rti files at once, but this hasn't been tested thoroughly.
26 You can set default locations to search for rainbow tables in rcracki_mt.ini. You need to use these in combination
27 with the command line argument -a [algorithm]. See the comments in the ini file for examples.
31 Rcracki_mt has session support, which means that it stores its progress. This allows you to interrupt the session
32 and resume later on. This also allows sessions that stopped because of a crash (application or even system) to
33 resume. To use this feature, start rcracki_mt with all the options you'd like, then specify a session name with:
35 -s session_name: specify a session name
37 Now during cracking, all your valuable precalculations are stored to disk, as well as progress (which files have
38 been checked) and cracked hashes. If you decide to interrupt the session (using CTRL+C), you can resume it using
39 the -r option. For example:
41 rcracki_mt -r -s my_personal_hashes
43 While resuming rcracki_mt you can/have to specify the less important options again, like number of threads and
44 showing debug information. Usually you will have these settings set to a default value in the .ini file anyway.
45 Session are deleted after the run is completed. You can choose to keep the precalculation work on disk, for example
46 if you want to reuse your session later on. Use the '-k' option to enable this feature.
48 Rcracki_mt has a default session which gets overwritten every time you start a new job without specifying a session
49 name. It might be interesting to always keep precalculation work by enabling this feature in rcracki_mt.ini. But
50 pay attention, these precalculations can become quite large on disk. Currently there is a maximum of around 500 GB
51 of storage for these precalculations. You can always decide to manually remove the .precalc and .precalc.index
52 files from disk. Always remove both at the same time, you will screw up your results if you don't. A possible
53 'todo' for development is to do some verification before using stored precalculations.
57 -t: Number of threads to use (for precalculation and false alarm checking)
58 Note: In Windows the crack threads run with lower priority.
60 -o: specify an output file to store found hashes in a colon (:) separated format.
61 Hashes are saved immediately when found. Especially useful if you have a large list of hashes.
63 -v: Show more information during cracking, for debugging purposes. Please use this flag if you want to show
64 output and report a bug.
69 You can pause a running rcracki_mt by using 'P'. It might not pause right away, it actually pauses after doing
70 precalculation or false alarm checking for one hash. Resume by pressing 'P' again. This pause option is different
71 from the session/resume feature, as this just pauses a running job, you don't stop rcracki_mt this way.
73 If you are trying to crack a pwdump or Cain (.lst) file, containing both LM and NTLM hashes, rcracki_mt will try
74 and crack the LM hashes. The result will be an uppercase password, which rcracki_mt will then try to correct with
75 the right casing, using the NTLM hashes. If this fails it will try and perform Unicode correction, using a built-in
76 mapping. If you happen to have an LM hash coupled with the wrong NTLM hash, this attempt to perform Unicode
77 correction might take 'forever'. You can press 'S' to skip this step for the current hash.
82 rcracki_mt originally started as a modification of a modification (rcracki) of the original RainbowCrack (rcrack).
83 These programs are all used to perform a rainbow table attack on password hashes, implementing Philippe Oechslin's
84 faster time-memory trade-off technique.
86 Original rcrack code was written by Zhu Shuanglei <shuanglei@hotmail.com>.
88 Martin Westergaard Jørgensen <martinwj2005@gmail.com> wrote rcracki (improved) to support the rainbow tables
89 generated by the distributed project www.freerainbowtables.com. These tables are perfected and indexed, making them
90 faster and smaller. Rcracki also supported hybrid tables.
92 Daniël Niggebrugge <neinbrucke> further enhanced this version and made it multi threaded, creating rcracki_mt. More
93 features were added over time, making it less of an unofficial version with every release.
96 SUPPORTED HASH ALGORITHMS
98 Hash types supported by rcracki_mt are: LM, NTLM, MD2, MD4, MD5, DoubleMD5, SHA1, RIPEMD160, MSCACHE, MySQL323,
99 MySQLSHA1, PIX, LMCHALL, HALFLMCHALL, NTLMCHALL, ORACLE
101 Actual indexed&perfected tables that were generated by the Free Rainbow Tables project: LM, MD5, NTL, FASTLM,
107 Rcracki_mt is released both as win32 binary and as source package. Rcracki_mt should work on any Microsoft Windows system, but is only tested on a 32 bit Windows XP. The source should work on Linux versions, but this has only been tested on 32 bit Ubuntu (8.10).
109 Some people have reported issues with compiling on 64 bit Linux. If you have trouble, please report details, as workaround try this suggested solution for AMD64 UBUNTU 8.10:
111 sudo apt-get install ia32-libs
114 you might need to do:
116 sudo ln -s libstdc++.so.6 libstdc++.so
117 sudo ln -s libssl.so.0.9.8 libssl.so
120 add -m32 to the compilerline in the Makefile
121 g++ -m32 *.cpp -L/usr/lib32 -lssl -lpthread -O3 -o rcracki_mt
126 - verification of an endpoint when restoring a chainwalkset from disk.
127 - read multiple chainwalksets from disk at once to try and speed up this process.
128 - read next table (part) from disk while doing cryptanalysis
133 rcracki_mt @ SourceForge: https://sourceforge.net/projects/rcracki/
134 Original rcrack: http://www.antsight.com/zsl/rainbowcrack/
135 Free Rainbow Tables: http://www.freerainbowtables.com/
136 My personal blog: http://blog.distracted.nl/
137 Download free rainbow tables: http://tbhost.eu/
138 Download free rainbow tables (mirror): http://freerainbowtables.mirror.garr.it/mirrors/freerainbowtables/
143 the_drag0n Writing part of this README
144 <james.dickson@comhem.se> Patch to support Cain .lst files
145 Joao Inacio <jcinacio at gmail.com> Supplying some faster algorithm implementations
150 Q: Why do I get this message all the time? "this table contains hashes with length 8 only"
151 A: You are probably trying to crack LM hashes. You have to split up the hash in 2 parts of 16 hex characters each.
153 Q: rcracki_mt is so slow when I'm cracking 5000 hashes, why is that?
154 A: Rainbow table attacks are only useful for a certain amount of hashes, mainly because of the precalculations that
155 are needed for every hash you are cracking. At a certain point it is faster to brute force the same key space then
156 to try and use rainbow tables. Especially if you use a GPU enabled brute forcer, this limit might be reached very
157 soon. Play around with these to find you limits.
159 Q: How can I speed up rcracki_mt?
160 A: This depends on quite some factors. If your jobs usually comprise of disk access time, you can try and speed up
161 your storage. For example by using RAID and/or by using solid state disks. If you are trying to crack many hashes
162 at the same time, you might be better off with buying a faster CPU.