|
Message-ID: <5f4239740905060905x7e05f44wa48df0d829d9dc75@mail.gmail.com> Date: Wed, 6 May 2009 11:05:43 -0500 From: Minga Minga <mingakore@...il.com> To: john-users@...ts.openwall.com Subject: Re: generating john.conf rules from password lists On Wed, May 6, 2009 at 10:28 AM, SL <auditor@...chat.de> wrote: > Are there any serious approaches to generate john.conf wordlist rules based > on existing password lists (or a fairly large john.pot, for example)? Using a single pwdump output file, I made a shell script to automatically make rules based on previously cracked passwords. Its not pretty but it works. This script for example - does a --show on a pwdump file, then finds the 100 most popular FIRST three characters - then creates a john.conf rule to prepend all the wordlists with those three characters. This isn't the prettiest solution but it worked for me. I don't know that I would do this for a whole john.pot file though because different places use different patterns. # more convert-3char-list-to-johnconf.sh john -show -format:nt $1 | cut -d: -f 2 | perl -pe 's/^(...).*/\1/' | sort | uniq -c | sort -rn | awk '{print $2}' |head -n 100 > a.txt echo "[List.Rules:KoreLogicRulesPrependList]" cat a.txt | sed -e 's/^./i[0][&]/' | sed -e 's/..$/i[1][&]/' | sed -e 's/.\]$/\]i\[2\]\[&/' ----------------- Here is a shell script that finds all 9 character passwords from a pwdump output file - then makes a list of the 100 most popular 3-character ending strings. # more convert-3char-list-to-johnconf-most-popular-ending-strings.sh john -show --format:nt $1| cut -d: -f 2 | egrep ^.........$ | cut -b 7-10 | sort | uniq -c | sort -nr| awk '{print $2}' |head -n 300| tail -n 100 > a.txt echo "" echo "[List.Rules:KoreLogicRulesAppend3List]" cat a.txt | sed -e 's/^./$[&]/' | sed -e 's/..$/$[&]/' | sed -e 's/.\]$/\]$\[&/' | sed -e 's/^/c/g' I have a few others, but they are all variations on the same idea. Obviously those shell scripts could be written better - feel free to improve. ------------------------ > Is my approach well understood? (And reasonable at all?) > Now -- how can I transform this into reasonably crafted mangling rules? > Minga? Anyone? At least using my john.pot (over 2 million entries) I noticed the following popular patterns: instances|pattern 72460 Word00 30531 word0 24581 UUUUUU0 19697 Ulll0000 19589 word00 11229 Word0000 I think the lesson here is: 1) Your dictionaries should be all lower case (Let john capitalize the characters) 2) Dont worry about all the UUUU's - That just LANMAN I dont know if I have posted this rule or not but it should get most of those patterns above. I believe john.conf's default rules will as well. [List.Rules:KoreLogicRulesAppendJustNumbers] $[0123456789] $[0123456789]$[0123456789] i[0][0123456789]i[1][0123456789] i[0][0123456789] $[0123456789]$[0123456789]$[0123456789] c$[0123456789]$[0123456789]$[0123456789] c$[0123456789]$[0123456789]$[0123456789]$[0123456789] $[0123456789]$[0123456789]$[0123456789]$[0123456789] $[0123456789]$[0123456789]$[0123456789]$[0123456789]$[0123456789] c$[0123456789]$[0123456789]$[0123456789]$[0123456789]$[0123456789] #c$[0123456789]$[0123456789]$[0123456789]$[0123456789]$[0123456789]$[0123456789] #$[0123456789]$[0123456789]$[0123456789]$[0123456789]$[0123456789]$[0123456789] ------------ Other things I noticed in my output: 6051 Word00. Thats a simple: c$[$!@...&*?.+\-_=`~()|]$[0123456789]$[0123456789] I have a rule like this as well - but for 4 numbers after the special char: [List.Rules:KoreLogicRulesSpecial4num] c$[$!@...&*?.+\-_=`~()|]$[0123456789]$[0123456789]$[0123456789]$[0123456789] $[$!@...&*?.+\-_=`~()|]$[0123456789]$[0123456789]$[0123456789]$[0123456789] ------------ I don't know of a way to automatically write rules based on your output. (Besides a massive sed/awk script) I still doing the analysis / rule writing my hand. But I like your approach! -Minga KoreLogic -- To unsubscribe, e-mail john-users-unsubscribe@...ts.openwall.com and reply to the automated confirmation request that will be sent to you.
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.