This is my personal, unofficial convenience mirror of ...
MDXfind, the CPU-based hash-cracking tool
Official site: https://hashes.org/mdxfind.php (offline)
(mirror last refreshed/checked: 2020-08-05 - MDXfind version 1.112, 2017-11-03)
"MDXfind is a program which allows you to run large numbers of unsolved hashes, using many algorithms, against large numbers of plaintext words, very quickly." - Waffle
Jump to download
Introductory video from @winxp5421
Basic example (adapted from @winxp5421):
mdxfind -h ALL -h '!salt,!user,!md5x,!crypt' -i 5 -f unknown.txt /dict/top-10k-pass | tee -a out.res -h ALL # search every algorithm -h '!salt,!user,!md5x,!crypt' # exclude explicitly salted (!salt), MD5x, and some implicitly salted (!crypt) # MD5x excludes 'internally iterated' hashes such as 'sha1(md5(md5(md5("hello")))'] -i 5 # iterate from 1 to 5 times, inclusive -f unknown.txt # target hashlist /dict/top-10k.pass # wordlist (input dictionary) | tee -a out.res # append to outfile (where the results go).
(Using '| tee -a out.res' lets you watch the output; use ' > out.res' instead if you won't want to watch or tee isn't available on your system.)
To change the default behavior of using all available cores, use ' -t [N]' where N is the number of cores to use.
Threads with more info and examples:
Moved/broken references, necromancy TBD: Google search for MDXfind on Hashkiller forums | usage from hashes.org forums | thread 1 | thread 2 | thread 3
Examples of how to use mdxfind's -z flag to generate arbitrary hashes:
Info on output and tuning, from Waffle:
-h The hash types mdxfind 1.12 Search for MD5x values from a file use: mdxfind [options] [list of text files] < input hash The text file stdin is special, and may be used if -f is supplied, to read candidate passwords from stdin -a Do email address munging -b Expand each word into unicode, best effort -c Replace each special char (<>&, etc) with XML equivalents -d De-duplicate wordlists, best effort -e Extended search for truncated hashes -p Print source (filename) of found plaintexts -q Internal iteration counts for SHA1MD5x, and others -g Rotate calculated hashes to attempt match to input hash -s File to read salts from -u File to read Userid/Usernames from -k File to read suffixes from -n Number of digits to append to passwords -i The number of iterations for each hash -t The number of threads to run -f file to read hashes from, else stdin -l Append CR/LF/CRLF and print in hex -r File to read rules from (concatenated) -R File to read rules from (dot-product form) -v Do not mark salts as found. -w Number of lines to skip from first wordlist -y Enable directory recursion for wordlists -z Enable debugging information/hash results -Z Enable histogram of rule hits ------------------------------------------------------------------------------ mdsplit - processes MDXfind result files -a Process all files, not just .txt, looking for matches -l Do not lock files. If your filesystem can't lock... -r No reverse hashes scanned (default is to scan for reverse) -b 500K Buffer size 500K (or M or G) - default is 500K -f file Reads result file from filename, instead of stdin -t MD5x01 Uses the type MD5x01 for results that have no type mdsplit processes MDXfind result files, separating hash lists into solved files. Unsolved hashes should be in .txt files Typical usage: cat *.txt | mdxfind -i 3 /tmp/words | mdsplit *.txt cat foo.res bar.res | mdsplit /other/unsolved mdsplit -f foo.res biglist
All credit to Waffle (and hops) for this powerful hash-cracking tool. A serious amount of careful thought and insight has gone into making it reliable and efficient.
Name Last modified Size Description
Parent Directory - algorithms-116.txt 2022-04-01 01:02 6.5K file-output.txt 2022-03-31 15:58 4.0K file(1) of all files - binary/executable details (not distro) mdxfind.1.116.bin 2022-03-31 04:31 2.0M Newer development build (Linux) algorithms.txt 2020-05-11 15:07 6.5K list of supported algorithms, one per line (not distro) CHECKSUMS.SHA256.txt 2020-04-23 11:16 2.2K SHA256 checksums (not distro) CHECKSUMS.MD5.txt 2020-04-23 11:16 1.3K MD5 checksums (not distro) usage.txt 2020-04-23 11:16 2.4K usage output for mdxfind and mdsplit (not distro) mdsplit.txt 2019-09-01 22:33 2.5K old Perl version of mdsplit - for reference mdxfind.1.113.zip 2018-04-03 15:11 11M mdxfind-latest.zip 2018-04-03 15:11 11M symlink to latest zip file (hopefully) mdxfind-32.exe 2017-11-02 19:26 2.5M mdxfind.exe 2017-11-02 19:26 2.4M mdsplit.osx 2017-11-02 19:23 161K mdxfind.osx 2017-11-02 19:21 2.3M mdsplit-32.exe 2017-11-02 19:13 86K mdsplit.exe 2017-11-02 19:13 162K mdxfind-32 2017-11-02 19:13 2.4M mdsplit-32 2017-11-02 19:13 82K mdsplit.static 2017-11-02 19:12 954K Linux static binary mdsplit 2017-11-02 19:12 27K mdxfind.static 2017-11-02 19:12 3.3M Linux static binary mdxfind 2017-11-02 19:12 2.0M mdxfind.arm6 2017-11-02 19:10 2.4M mdxfind.arm7 2017-11-02 19:10 2.5M mdsplit.arm6 2017-11-02 19:10 70K mdsplit.arm8 2017-11-02 19:10 123K mdxfind.arm8 2017-11-02 19:10 2.1M mdsplit.freebsd 2017-11-02 19:09 152K mdxfind.freebsd 2017-11-02 19:09 2.4M mdxfind.aix 2017-10-23 09:58 2.5M mdxfind.power8 2017-10-23 09:53 1.9M mdsplit.aix 2017-10-22 22:31 274K mdsplit.power8 2017-10-18 23:45 66K
.. Up to /pub/bin
<- Back to Tech Solvency