Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 12 Aug 2010 11:45:17 -0400
From: Charles Weir <cweir@...edu>
To: john-users@...ts.openwall.com
Subject: Re: Consonant Vowel Patterns

> I wanted to ask if others had experimented with consonant vowel patterns
> in password cracking? Perhaps others know this approach by a different
> name? I believe the proper term is phonology (I may be wrong on that).
> Here is an example pattern:
>
> CVCCVC

I've played around with that approach. It's actually fairly easy to
make these rules in JtR. For an example of that check out the
'targeted' brute force ruleset I made available here:

http://sites.google.com/site/reusablesec/Home/john-the-ripper-files/john-the-ripper-sample-configs-1

If you don't want to download the whole file, here is one example:

#four letters followed by two numbers
$[aeioucrk]$[a-z]$[a-z]$[a-z]$[0-9]$[0-9]
$[bdfghjlmnpqstvwxyz]$[a-z]$[a-z]$[a-z]$[0-9]$[0-9]

The reason there are two rules is I just optimized it to try certain
starting letters first, (I think I was basing it off of a Finnish set,
but I wrote it a couple of years ago and my memory/notes fail me. I
mean why did I put 'k' as a common letter?) That aside, it just shows
that you can easily include additional optimizations.

The reason why I haven't updated this approach though is that JtR's
Incremental and Markov modes in general perform much better. That's
because they use conditional probability of the different letters
appearing together, (aka 'u' follows 'q' most of the time). In this
way it mimics your CVCCV approach, but takes it a step further by
basing each successive C,V,N,S on the previous values.

I have had some success using a tool like MiddleChild to enhance JtR's
Markov/Incremental modes by externally adding digits/special
characters/capitalization.

http://sites.google.com/site/reusablesec/Home/password-cracking-tools/middle-child

In all honesty the performance increase isn't that big, (and depending
on the dataset/rules you select it can easily do worse), but it does
help when targeting password creation policies, (You could probably
achieve much the same results through the use of a custom external
mode instead). Once again though, I'm using JtR's Incremental/Markov
modes to produce the base alpha strings.

I hope this helps.

Matt Weir
http://reusablesec.blogspot.com

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.