Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100319224002.GA17146@openwall.com>
Date: Sat, 20 Mar 2010 01:40:02 +0300
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: NTLMv2 Challenge/Response Cracking

On Thu, Mar 18, 2010 at 03:34:30PM -0500, jmk wrote:
> I took a look at my john-netntlm.pl script to see why I had set MinLen
> to 1. It looks like I had added a check prior to the incremental run to
> see if the seed password was indeed the actual password. I'm a bit rusty
> on this, since I wrote it 3 years ago, but it looks to me like this
> could be removed if MinLen was indeed set to 0. Unfortunately, this
> doesn't seem to work in practice. 
> 
> I've included a sample config below for a NetLM/NetNTLM password of
> "Abc123". I would think that John would check length 0 first,
> essentially testing "Abc123" and immediately cracking it.

The reason why this doesn't work is that the code in inc.c tests the
empty string separately, without passing it through an external
filter().  I think I did it this way because filter() was initially
meant to permit/reject candidate passwords rather than alter them, and
when it wants to reject a candidate password it indicates so by emptying
the string.  Since this code actually wanted to test the empty string,
it couldn't use the same convention, so it simply didn't bother to call
filter().  Maybe I should fix this to call filter() but then test the
resulting candidate password regardless of whether it is empty or not.

Thank you for uncovering this little detail!

Here's the code:

		if (!length && !min_length) {
			min_length = 1;
			if (crk_process_key("")) break;
		}

> In the log I see:
> 
> 0:00:00:00 - Lengths 0 to 8, up to 69 different characters
> [snip - testing lengths > 1]
> 0:00:00:00 - Switching to length 1

There's no log line for length 0, yet it is being tested if requested.

Thanks again,

Alexander

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.