Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 21 Apr 2015 17:40:07 +0200
From: Frank Dittrich <frank.dittrich@...lbox.org>
To: john-dev@...ts.openwall.com
Subject: Re: Johnny: core/jumbo differences

On 04/21/2015 04:18 PM, Aleksey Cherepanov wrote:
> I've tried to write down exhaustive list of differences between john
> core and john jumbo. I don't know everything, so feel free to comment.
[...]
> * Common CLI options without differences
[...]
> --test[=TIME]              run tests and benchmarks for TIME seconds each


For core, the default --test time is 10 seconds per format, for core it
is 1 second per format.

While core john will list benchmark results even for --test=0, jumbo won't:

(master)run $ ./john --test=0 |head -n 9
Warning: doing quick benchmarking - the performance numbers will be
inaccurate
Benchmarking: descrypt, traditional crypt(3) [DES 128/128 AVX-16]... DONE
Many salts:	1331K c/s real, 1331K c/s virtual
Only one salt:	1408K c/s real, 1408K c/s virtual

Benchmarking: bsdicrypt, BSDI crypt(3) ("_J9..", 725 iterations) [DES
128/128 AVX-16]... DONE
Many salts:	76800 c/s real, 76800 c/s virtual
Only one salt:	76800 c/s real, 76800 c/s virtual

(bleeding-jumbo)run $ ./john --test=0 |head -n 5
Will run 8 OpenMP threads
Testing: descrypt, traditional crypt(3) [DES 128/128 AVX-16]... (8xOMP) PASS
Testing: bsdicrypt, BSDI crypt(3) ("_J9..", 725 iterations) [DES 128/128
AVX-16]... (8xOMP) PASS
Testing: md5crypt, crypt(3) $1$ [MD5 128/128 AVX 4x3]... (8xOMP) PASS
Testing: bcrypt ("$2a$05", 32 iterations) [Blowfish 32/64 X2]... (8xOMP)
PASS
Testing: scrypt (16384, 8, 1) [Salsa20/8 128/128 AVX]... (8xOMP) PASS

> Also jumbo has --stdin and --pipe options to read candidates from
> standard input.

Core also has --stdin.

> --show[=LEFT]             show cracked passwords [if =LEFT, then uncracked]
> 
> In jumbo --show can print remaining hashes but it drops dupes (when
> there is 1 canonical hash for 2 users and the hash is in different
> forms and/or there are different gecos).

This might change in future, because it would help for --single mode.
But so far, nobody has implemented this enhancement.

> --format=NAME              force hash type NAME: descrypt/bsdicrypt/md5crypt/
>                            bcrypt/LM/AFS/tripcode/dummy/crypt
> 
> --format=NAME             force hash of type NAME. The supported formats can
>                           be seen with --list=formats and --list=subformats

For jumbo, ./john --list=format-details will show a list of formats
which includes the individual dynamic formats.

> Also there should be options for rexgen and other things not compiled
> in my john:
> OpenMPI support (default disabled) .......... no
> OpenMP support .............................. no
> OpenCL support .............................. no
> CUDA support ................................ no

OpenCL and CUDA will provide additional GPU format implementations, plus
some GPU specific --list=... options.

> Experimental code ........................... no
> Rexgen (extra cracking mode) ................ no

With rexgen, you'll have this additional option in john's usage output:
--regex=REGEXPR           regular expression mode (see doc/README.librexgen)

> * Utilities and tools
> 
> In core
> john - john
> mailer - "script to send mail to all users whose passwords got cracked."
> makechr - utility to make .chr files (incremental mode) from current .pot

This is dangerous for end users, better don't use it from within johnny!

(bleeding-jumbo)run $ echo a:b > john.pot
(bleeding-jumbo)run $ ./makechr
Loaded 1 plaintext
Generating charsets........................ DONE
Generating cracking order..- Stable order (3 recalculations)
Successfully wrote charset file: ascii.chr (1 character)
Loaded 1 plaintext
Generating charsets........................ DONE
Generating cracking order..- Stable order (3 recalculations)
Successfully wrote charset file: lanman.chr (1 character)
Loaded 1 plaintext
Generating charsets........................ DONE
Generating cracking order..- Stable order (3 recalculations)
Successfully wrote charset file: lm_ascii.chr (1 character)
Loaded 1 plaintext
Generating charsets........................ DONE
Generating cracking order..- Stable order (3 recalculations)
Successfully wrote charset file: alnumspace.chr (1 character)
Loaded 1 plaintext
Generating charsets........................ DONE
Generating cracking order..- Stable order (3 recalculations)
Successfully wrote charset file: alnum.chr (1 character)
Loaded 1 plaintext
Generating charsets........................ DONE
Generating cracking order..- Stable order (3 recalculations)
Successfully wrote charset file: alpha.chr (1 character)
Loaded 1 plaintext
Generating charsets........................ DONE
Generating cracking order..- Stable order (3 recalculations)
Successfully wrote charset file: lowernum.chr (1 character)
Loaded 1 plaintext
Remaining 0 plaintexts, exiting...
Loaded 1 plaintext
Generating charsets........................ DONE
Generating cracking order..- Stable order (3 recalculations)
Successfully wrote charset file: lowerspace.chr (1 character)
Loaded 1 plaintext
Generating charsets........................ DONE
Generating cracking order..- Stable order (3 recalculations)
Successfully wrote charset file: lower.chr (1 character)
Loaded 1 plaintext
Remaining 0 plaintexts, exiting...
Loaded 1 plaintext
Remaining 0 plaintexts, exiting...
Loaded 1 plaintext
Remaining 0 plaintexts, exiting...
(bleeding-jumbo)run $ git diff
diff --git a/run/alnum.chr b/run/alnum.chr
index 84fae0f..be15213 100644
Binary files a/run/alnum.chr and b/run/alnum.chr differ
diff --git a/run/alnumspace.chr b/run/alnumspace.chr
index d03ac7c..be15213 100644
Binary files a/run/alnumspace.chr and b/run/alnumspace.chr differ
diff --git a/run/alpha.chr b/run/alpha.chr
index 8bc32e5..be15213 100644
Binary files a/run/alpha.chr and b/run/alpha.chr differ
diff --git a/run/ascii.chr b/run/ascii.chr
index 8633c64..be15213 100644
Binary files a/run/ascii.chr and b/run/ascii.chr differ
diff --git a/run/lanman.chr b/run/lanman.chr
index 9869d87..bc230ae 100644
Binary files a/run/lanman.chr and b/run/lanman.chr differ
diff --git a/run/lm_ascii.chr b/run/lm_ascii.chr
index dec756c..bc230ae 100644
Binary files a/run/lm_ascii.chr and b/run/lm_ascii.chr differ
diff --git a/run/lower.chr b/run/lower.chr
index 22eda68..be15213 100644
Binary files a/run/lower.chr and b/run/lower.chr differ
diff --git a/run/lowernum.chr b/run/lowernum.chr
index 390251c..be15213 100644
Binary files a/run/lowernum.chr and b/run/lowernum.chr differ
diff --git a/run/lowerspace.chr b/run/lowerspace.chr
index d16b6fc..be15213 100644
Binary files a/run/lowerspace.chr and b/run/lowerspace.chr differ


> calc_stat - some statistics for wordlist

Actually, it is a helper tool for Markov mode, see doc/MARKOV.

> genmkvpwd
> mkvcalcproba

Also markov mode related, see doc/MARKOV.

Frank

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ